{"id":"https://openalex.org/W2159400269","doi":"https://doi.org/10.1145/1028976.1029007","title":"Concrete syntax for objects","display_name":"Concrete syntax for objects","publication_year":2004,"publication_date":"2004-10-01","ids":{"openalex":"https://openalex.org/W2159400269","doi":"https://doi.org/10.1145/1028976.1029007","mag":"2159400269"},"language":"en","primary_location":{"id":"doi:10.1145/1028976.1029007","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1028976.1029007","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5058486771","display_name":"Martin Bravenboer","orcid":null},"institutions":[{"id":"https://openalex.org/I193662353","display_name":"Utrecht University","ror":"https://ror.org/04pp8hn57","country_code":"NL","type":"education","lineage":["https://openalex.org/I193662353"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Martin Bravenboer","raw_affiliation_strings":["Universiteit Utrecht, Utrecht, The Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universiteit Utrecht, Utrecht, The Netherlands","institution_ids":["https://openalex.org/I193662353"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5072923235","display_name":"Eelco Visser","orcid":"https://orcid.org/0000-0002-7384-3370"},"institutions":[{"id":"https://openalex.org/I193662353","display_name":"Utrecht University","ror":"https://ror.org/04pp8hn57","country_code":"NL","type":"education","lineage":["https://openalex.org/I193662353"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Eelco Visser","raw_affiliation_strings":["Universiteit Utrecht, Utrecht, The Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universiteit Utrecht, Utrecht, The Netherlands","institution_ids":["https://openalex.org/I193662353"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I193662353"],"apc_list":null,"apc_paid":null,"fwci":10.1436,"has_fulltext":false,"cited_by_count":209,"citation_normalized_percentile":{"value":0.98903521,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"365","last_page":"383"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9980000257492065,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8898553252220154},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8652040958404541},{"id":"https://openalex.org/keywords/abstract-syntax-tree","display_name":"Abstract syntax tree","score":0.5560780167579651},{"id":"https://openalex.org/keywords/domain-specific-language","display_name":"Domain-specific language","score":0.5418118238449097},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.4600202441215515},{"id":"https://openalex.org/keywords/interface-description-language","display_name":"Interface description language","score":0.44774702191352844},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.4467575252056122},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.41325563192367554},{"id":"https://openalex.org/keywords/user-interface","display_name":"User interface","score":0.305461585521698},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.09247145056724548}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8898553252220154},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8652040958404541},{"id":"https://openalex.org/C58646249","wikidata":"https://www.wikidata.org/wiki/Q127380","display_name":"Abstract syntax tree","level":3,"score":0.5560780167579651},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.5418118238449097},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4600202441215515},{"id":"https://openalex.org/C177216440","wikidata":"https://www.wikidata.org/wiki/Q1044749","display_name":"Interface description language","level":3,"score":0.44774702191352844},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.4467575252056122},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.41325563192367554},{"id":"https://openalex.org/C89505385","wikidata":"https://www.wikidata.org/wiki/Q47146","display_name":"User interface","level":2,"score":0.305461585521698},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.09247145056724548},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1028976.1029007","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1028976.1029007","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","score":0.46000000834465027,"id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":47,"referenced_works":["https://openalex.org/W124381426","https://openalex.org/W197735651","https://openalex.org/W1503831567","https://openalex.org/W1533487732","https://openalex.org/W1561736547","https://openalex.org/W1575771936","https://openalex.org/W1595593557","https://openalex.org/W1605351056","https://openalex.org/W1625533892","https://openalex.org/W1699388987","https://openalex.org/W1749568426","https://openalex.org/W1939467000","https://openalex.org/W1976020328","https://openalex.org/W1978948468","https://openalex.org/W2013399578","https://openalex.org/W2014596857","https://openalex.org/W2026049208","https://openalex.org/W2036134187","https://openalex.org/W2046693005","https://openalex.org/W2051096181","https://openalex.org/W2059000558","https://openalex.org/W2065428406","https://openalex.org/W2067004633","https://openalex.org/W2086238344","https://openalex.org/W2087542943","https://openalex.org/W2099863764","https://openalex.org/W2100165879","https://openalex.org/W2112197627","https://openalex.org/W2115472920","https://openalex.org/W2122472280","https://openalex.org/W2127340092","https://openalex.org/W2131637541","https://openalex.org/W2133743839","https://openalex.org/W2134495021","https://openalex.org/W2155281402","https://openalex.org/W2166894669","https://openalex.org/W2169613524","https://openalex.org/W2223046624","https://openalex.org/W2244067695","https://openalex.org/W2579796627","https://openalex.org/W2611605145","https://openalex.org/W2618896829","https://openalex.org/W2732800715","https://openalex.org/W3003374142","https://openalex.org/W3094621343","https://openalex.org/W4232859258","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W4282813445","https://openalex.org/W4389438938","https://openalex.org/W2794657471","https://openalex.org/W4200321676","https://openalex.org/W1970499202","https://openalex.org/W818898529","https://openalex.org/W4245356976","https://openalex.org/W1963927741","https://openalex.org/W307712065","https://openalex.org/W4317042421"],"abstract_inverted_index":{"Application":[0],"programmer's":[1],"interfaces":[2],"give":[3],"access":[4],"to":[5,71,133],"domain":[6,19,38,69,91,111],"knowledge":[7],"encapsulated":[8],"in":[9,81,113,166],"class":[10],"libraries":[11],"without":[12],"providing":[13,65],"the":[14,30,41,49,53,89,94,101,104,107,119,134,147,153,162],"appropriate":[15],"notation":[16],"for":[17,26,36,64,68,130],"expressing":[18,37],"composition.":[20],"Since":[21],"object-oriented":[22],"languages":[23,80],"are":[24,33],"designed":[25],"extensibility":[27],"and":[28,87,143,152,157,173],"reuse,":[29],"language":[31,86,121,135,156],"constructs":[32],"often":[34],"sufficient":[35],"abstractions":[39,51,70,112],"at":[40,52],"semantic":[42],"level.":[43,55,136],"However,":[44],"they":[45],"do":[46],"not":[47],"provide":[48],"right":[50],"syntactic":[54],"In":[56],"this":[57],"paper":[58],"we":[59],"describe":[60],"MetaBorg,":[61],"a":[62,82,128],"method":[63,75,129,138,163],"<i>concrete":[66],"syntax</i>":[67],"application":[72],"programmers.":[73],"The":[74,137],"consists":[76],"of":[77,99,103,115],"<i>embedding</i>":[78],"domain-specific":[79],"general":[83],"purpose":[84],"host":[85,96,105,120],"<i>assimilating</i>":[88],"embedded":[90],"code":[92,169],"into":[93],"surrounding":[95],"code.":[97],"Instead":[98],"extending":[100],"implementation":[102],"language,":[106],"assimilation":[108],"phase":[109],"implements":[110],"terms":[114],"existing":[116],"APIs":[117,132],"leaving":[118],"undisturbed.":[122],"Indeed,":[123],"MetaBorg":[124],"can":[125],"be":[126],"considered":[127],"promoting":[131],"is":[139],"supported":[140],"by":[141],"proven":[142],"available":[144],"technology,":[145],"i.e.":[146],"syntax":[148],"definition":[149],"formalism":[150],"SDF":[151],"program":[154],"transformation":[155],"toolset":[158],"Stratego/XT.":[159],"We":[160],"illustrate":[161],"with":[164],"applications":[165],"three":[167],"domains:":[168],"generation,":[170,172],"XML":[171],"user-interface":[174],"construction.":[175]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2020,"cited_by_count":3},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":5},{"year":2016,"cited_by_count":4},{"year":2015,"cited_by_count":8},{"year":2014,"cited_by_count":8},{"year":2013,"cited_by_count":14},{"year":2012,"cited_by_count":18}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
