{"id":"https://openalex.org/W2075200505","doi":"https://doi.org/10.1145/2660193.2660237","title":"From object algebras to attribute grammars","display_name":"From object algebras to attribute grammars","publication_year":2014,"publication_date":"2014-10-15","ids":{"openalex":"https://openalex.org/W2075200505","doi":"https://doi.org/10.1145/2660193.2660237","mag":"2075200505"},"language":"en","primary_location":{"id":"doi:10.1145/2660193.2660237","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2660193.2660237","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages &amp; 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/A5045581204","display_name":"Tillmann Rendel","orcid":null},"institutions":[{"id":"https://openalex.org/I161103922","display_name":"Philipps University of Marburg","ror":"https://ror.org/01rdrb571","country_code":"DE","type":"education","lineage":["https://openalex.org/I161103922"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Tillmann Rendel","raw_affiliation_strings":["University of Marburg, Marburg, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Marburg, Marburg, Germany","institution_ids":["https://openalex.org/I161103922"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5027088540","display_name":"Jonathan Immanuel Brachth\u00e4user","orcid":"https://orcid.org/0000-0001-9128-0391"},"institutions":[{"id":"https://openalex.org/I161103922","display_name":"Philipps University of Marburg","ror":"https://ror.org/01rdrb571","country_code":"DE","type":"education","lineage":["https://openalex.org/I161103922"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Jonathan Immanuel Brachth\u00e4user","raw_affiliation_strings":["University of Marburg, Marburg, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Marburg, Marburg, Germany","institution_ids":["https://openalex.org/I161103922"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5049077225","display_name":"Klaus Ostermann","orcid":"https://orcid.org/0000-0001-5294-5506"},"institutions":[{"id":"https://openalex.org/I161103922","display_name":"Philipps University of Marburg","ror":"https://ror.org/01rdrb571","country_code":"DE","type":"education","lineage":["https://openalex.org/I161103922"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Klaus Ostermann","raw_affiliation_strings":["University of Marburg, Marburg, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Marburg, Marburg, Germany","institution_ids":["https://openalex.org/I161103922"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I161103922"],"apc_list":null,"apc_paid":null,"fwci":1.6542,"has_fulltext":false,"cited_by_count":19,"citation_normalized_percentile":{"value":0.8638206,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"377","last_page":"395"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9997000098228455,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9997000098228455,"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/T10260","display_name":"Software Engineering Research","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9993000030517578,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7925733923912048},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7726008892059326},{"id":"https://openalex.org/keywords/l-attributed-grammar","display_name":"L-attributed grammar","score":0.709660530090332},{"id":"https://openalex.org/keywords/rule-based-machine-translation","display_name":"Rule-based machine translation","score":0.6226020455360413},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5560730695724487},{"id":"https://openalex.org/keywords/parameterized-complexity","display_name":"Parameterized complexity","score":0.48122310638427734},{"id":"https://openalex.org/keywords/indexed-grammar","display_name":"Indexed grammar","score":0.48023563623428345},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.43385615944862366},{"id":"https://openalex.org/keywords/definite-clause-grammar","display_name":"Definite clause grammar","score":0.41255003213882446},{"id":"https://openalex.org/keywords/context-free-grammar","display_name":"Context-free grammar","score":0.3339623212814331},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.29740995168685913},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.2568341791629791},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.1860916018486023}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7925733923912048},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7726008892059326},{"id":"https://openalex.org/C67621940","wikidata":"https://www.wikidata.org/wiki/Q3113340","display_name":"L-attributed grammar","level":4,"score":0.709660530090332},{"id":"https://openalex.org/C53893814","wikidata":"https://www.wikidata.org/wiki/Q7378909","display_name":"Rule-based machine translation","level":2,"score":0.6226020455360413},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5560730695724487},{"id":"https://openalex.org/C165464430","wikidata":"https://www.wikidata.org/wiki/Q1570441","display_name":"Parameterized complexity","level":2,"score":0.48122310638427734},{"id":"https://openalex.org/C79243999","wikidata":"https://www.wikidata.org/wiki/Q6590011","display_name":"Indexed grammar","level":5,"score":0.48023563623428345},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.43385615944862366},{"id":"https://openalex.org/C97169998","wikidata":"https://www.wikidata.org/wiki/Q1582738","display_name":"Definite clause grammar","level":5,"score":0.41255003213882446},{"id":"https://openalex.org/C97212296","wikidata":"https://www.wikidata.org/wiki/Q338047","display_name":"Context-free grammar","level":3,"score":0.3339623212814331},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.29740995168685913},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.2568341791629791},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.1860916018486023}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2660193.2660237","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2660193.2660237","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages &amp; Applications","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4","score":0.7200000286102295}],"awards":[{"id":"https://openalex.org/G2125683583","display_name":null,"funder_award_id":"#203099","funder_id":"https://openalex.org/F4320334678","funder_display_name":"European Research Council"}],"funders":[{"id":"https://openalex.org/F4320334678","display_name":"European Research Council","ror":"https://ror.org/0472cxd90"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W189821653","https://openalex.org/W202283534","https://openalex.org/W1483164218","https://openalex.org/W1485908855","https://openalex.org/W1519774423","https://openalex.org/W1520309070","https://openalex.org/W1524613989","https://openalex.org/W1565899642","https://openalex.org/W1595243393","https://openalex.org/W1712062258","https://openalex.org/W1750043039","https://openalex.org/W1891773423","https://openalex.org/W1999551191","https://openalex.org/W2011998974","https://openalex.org/W2014220905","https://openalex.org/W2026667713","https://openalex.org/W2043548135","https://openalex.org/W2103411350","https://openalex.org/W2109853339","https://openalex.org/W2118729638","https://openalex.org/W2120487396","https://openalex.org/W2123092976","https://openalex.org/W2123915394","https://openalex.org/W2127581079","https://openalex.org/W2131449137","https://openalex.org/W2134281169","https://openalex.org/W2135642511","https://openalex.org/W2168146536","https://openalex.org/W2243428364","https://openalex.org/W2281310552","https://openalex.org/W2913741673","https://openalex.org/W4254510965","https://openalex.org/W6637687843"],"related_works":["https://openalex.org/W1557335907","https://openalex.org/W2055334547","https://openalex.org/W4398164120","https://openalex.org/W4286266684","https://openalex.org/W1969069928","https://openalex.org/W59084530","https://openalex.org/W2073788202","https://openalex.org/W281298494","https://openalex.org/W3013359325","https://openalex.org/W2543110176"],"abstract_inverted_index":{"Oliveira":[0,5],"and":[1,4,23,34,88,106,130,156,161],"Cook":[2],"(2012)":[3],"et":[6],"al.":[7],"(2013)":[8],"have":[9,126],"recently":[10],"introduced":[11],"object":[12,32,52,116],"algebras":[13,33],"as":[14,113,154],"a":[15,38,114,132,136],"program":[16],"structuring":[17],"technique":[18,54],"to":[19,40,71],"improve":[20],"the":[21,29,51,57,95,100,103,118,128],"modularity":[22],"extensibility":[24],"of":[25,50,60,67,94,102,117,138,149],"programs.":[26],"We":[27,46,143],"analyze":[28],"relationship":[30],"between":[31],"attribute":[35],"grammars":[36,43,62],"(AGs),":[37],"formalism":[39],"augment":[41],"context-free":[42],"with":[44,55,140],"attributes.":[45],"present":[47],"an":[48,64],"extension":[49],"algebra":[53],"which":[56],"full":[58],"class":[59,66],"L-attributed":[61],"-":[63,74],"important":[65],"AGs":[68],"that":[69],"corresponds":[70],"one-pass":[72,133],"compilers":[73],"can":[75,85,163],"be":[76,86,164],"encoded":[77],"in":[78,99],"Scala.":[79],"The":[80],"encoding":[81,96,129],"is":[82,97,111],"modular":[83],"(attributes":[84],"defined":[87],"type-checked":[89],"separately),":[90],"scalable":[91],"(the":[92],"size":[93,101],"linear":[98],"AG":[104,109,151],"specification)":[105],"compositional":[107],"(each":[108],"artifact":[110],"represented":[112],"semantic":[115],"host":[119],"language).":[120],"To":[121],"evaluate":[122],"these":[123],"claims,":[124],"we":[125],"formalized":[127],"re-implemented":[131],"compiler":[134],"for":[135],"subset":[137],"C":[139],"our":[141],"technique.":[142],"also":[144],"discuss":[145],"how":[146],"advanced":[147],"features":[148],"modern":[150],"systems,":[152],"such":[153],"higher-order":[155],"parameterized":[157],"attributes,":[158,160],"reference":[159],"forwarding":[162],"supported.":[165]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":4},{"year":2014,"cited_by_count":1}],"updated_date":"2026-08-01T09:00:35.917206","created_date":"2025-10-10T00:00:00"}
