{"id":"https://openalex.org/W1985608943","doi":"https://doi.org/10.1145/4472.4486","title":"Affix grammar driven code generation","display_name":"Affix grammar driven code generation","publication_year":1985,"publication_date":"1985-10-01","ids":{"openalex":"https://openalex.org/W1985608943","doi":"https://doi.org/10.1145/4472.4486","mag":"1985608943"},"language":"en","primary_location":{"id":"doi:10.1145/4472.4486","doi":"https://doi.org/10.1145/4472.4486","is_oa":true,"landing_page_url":"https://doi.org/10.1145/4472.4486","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/4472.4486","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"volume":null,"type":"article","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://dl.acm.org/doi/pdf/10.1145/4472.4486","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5083750533","display_name":"Mahadevan Ganapathi","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Mahadevan Ganapathi","raw_affiliation_strings":["Stanford Univ., Stanford, CA","Stanford University Stanford CA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford Univ., Stanford, CA","institution_ids":["https://openalex.org/I97018004"]},{"raw_affiliation_string":"Stanford University Stanford CA","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5111946199","display_name":"Charles N. Fischer","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I135310074","display_name":"University of Wisconsin\u2013Madison","ror":"https://ror.org/01y2jtd41","country_code":"US","type":"education","lineage":["https://openalex.org/I135310074"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Charles N. Fischer","raw_affiliation_strings":["Univ. of Wisconsin-Madison, Madison"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ. of Wisconsin-Madison, Madison","institution_ids":["https://openalex.org/I135310074"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":7.2898,"has_fulltext":true,"cited_by_count":53,"citation_normalized_percentile":{"value":0.95955882,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":88,"max":95},"biblio":{"volume":"7","issue":"4","first_page":"560","last_page":"599"},"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.9276999831199646,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9276999831199646,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.019300000742077827,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.015300000086426735,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/compiler-code-generation","display_name":"compiler code generation","score":0.8529999852180481},{"id":"https://openalex.org/keywords/peephole-optimization","display_name":"peephole optimization","score":0.9890000224113464},{"id":"https://openalex.org/keywords/retargetability","display_name":"retargetability","score":0.8100000023841858}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.915956974029541},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7433483600616455},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.7280619144439697},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7234573364257812},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.649078905582428},{"id":"https://openalex.org/C2144512","wikidata":"https://www.wikidata.org/wiki/Q1143090","display_name":"Dead code elimination","level":5,"score":0.5567542910575867},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.49549591541290283},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4675067365169525},{"id":"https://openalex.org/C53893814","wikidata":"https://www.wikidata.org/wiki/Q7378909","display_name":"Rule-based machine translation","level":2,"score":0.4615499973297119},{"id":"https://openalex.org/C2780992000","wikidata":"https://www.wikidata.org/wiki/Q17016113","display_name":"Generator (circuit theory)","level":3,"score":0.46047842502593994},{"id":"https://openalex.org/C111564260","wikidata":"https://www.wikidata.org/wiki/Q4288856","display_name":"Interprocedural optimization","level":5,"score":0.45239582657814026},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.44895118474960327},{"id":"https://openalex.org/C68366613","wikidata":"https://www.wikidata.org/wiki/Q5156378","display_name":"Compiler correctness","level":3,"score":0.42296963930130005},{"id":"https://openalex.org/C26022165","wikidata":"https://www.wikidata.org/wiki/Q8091","display_name":"Grammar","level":2,"score":0.4118335247039795},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4070403575897217},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3047488331794739},{"id":"https://openalex.org/C154526789","wikidata":"https://www.wikidata.org/wiki/Q157965","display_name":"Object code","level":4,"score":0.3032236099243164},{"id":"https://openalex.org/C29331672","wikidata":"https://www.wikidata.org/wiki/Q3354468","display_name":"Loop optimization","level":4,"score":0.2625119686126709},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.17480167746543884},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.08489328622817993},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C163258240","wikidata":"https://www.wikidata.org/wiki/Q25342","display_name":"Power (physics)","level":2,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/4472.4486","doi":"https://doi.org/10.1145/4472.4486","is_oa":true,"landing_page_url":"https://doi.org/10.1145/4472.4486","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/4472.4486","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/4472.4486","doi":"https://doi.org/10.1145/4472.4486","is_oa":true,"landing_page_url":"https://doi.org/10.1145/4472.4486","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/4472.4486","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1985608943.pdf","grobid_xml":"https://content.openalex.org/works/W1985608943.grobid-xml"},"referenced_works_count":45,"referenced_works":["https://openalex.org/W2440755","https://openalex.org/W45315167","https://openalex.org/W49614733","https://openalex.org/W96757589","https://openalex.org/W124080003","https://openalex.org/W164226845","https://openalex.org/W1482494723","https://openalex.org/W1516857049","https://openalex.org/W1522286888","https://openalex.org/W1581500142","https://openalex.org/W1676883323","https://openalex.org/W1964781382","https://openalex.org/W1965861850","https://openalex.org/W1969519006","https://openalex.org/W1972110996","https://openalex.org/W1987578288","https://openalex.org/W2007894878","https://openalex.org/W2010876815","https://openalex.org/W2020418699","https://openalex.org/W2022933053","https://openalex.org/W2039078649","https://openalex.org/W2048936605","https://openalex.org/W2051762743","https://openalex.org/W2052000330","https://openalex.org/W2058588268","https://openalex.org/W2059183703","https://openalex.org/W2064506719","https://openalex.org/W2065496085","https://openalex.org/W2071260794","https://openalex.org/W2076259078","https://openalex.org/W2080035514","https://openalex.org/W2087585770","https://openalex.org/W2091058226","https://openalex.org/W2093925964","https://openalex.org/W2094283151","https://openalex.org/W2100087302","https://openalex.org/W2102575054","https://openalex.org/W2105056432","https://openalex.org/W2109507516","https://openalex.org/W2115056865","https://openalex.org/W2118866757","https://openalex.org/W2163756016","https://openalex.org/W2340812064","https://openalex.org/W2914650026","https://openalex.org/W3148529197"],"related_works":["https://openalex.org/W96757589","https://openalex.org/W2093925964","https://openalex.org/W1482494723","https://openalex.org/W1989702012","https://openalex.org/W2020848602","https://openalex.org/W2087585770","https://openalex.org/W1997090502","https://openalex.org/W4247716642","https://openalex.org/W49614733","https://openalex.org/W2070403344"],"abstract_inverted_index":{"Affix":[0],"grammars":[1],"are":[2],"used":[3],"to":[4],"describe":[5],"the":[6,57],"instruction":[7],"set":[8],"of":[9,15],"a":[10,26],"target":[11],"architecture":[12],"for":[13,25,56],"purposes":[14],"compiler":[16,27,33],"code":[17,20],"generation.":[18],"A":[19,32],"generator":[21],"is":[22],"obtained":[23],"automatically":[24,39],"using":[28],"attributed":[29],"parsing":[30],"techniques.":[31],"built":[34],"on":[35,51],"this":[36,52],"model":[37,53],"can":[38],"perform":[40],"most":[41],"popular":[42],"machine-dependent":[43],"optimizations,":[44],"including":[45],"peephole":[46],"optimizations.":[47],"Code":[48],"generators":[49],"based":[50],"demonstrate":[54],"retargetability":[55],"VAX":[58],"1":[59],"-11,":[60,69],"iAPX":[61],"2":[62],"-86,":[63],"Z-8000":[64],"3":[65],",":[66],"PDP":[67],"4":[68],"MC-68000,":[70],"NS32032,":[71],"FOM,":[72],"and":[73],"IBM-370":[74],"architectures.":[75]},"counts_by_year":[{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":1}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
