{"id":"https://openalex.org/W2118249151","doi":"https://doi.org/10.1145/371880.371881","title":"Extending Graham-Glanville techniques for optimal code generation","display_name":"Extending Graham-Glanville techniques for optimal code generation","publication_year":2000,"publication_date":"2000-11-01","ids":{"openalex":"https://openalex.org/W2118249151","doi":"https://doi.org/10.1145/371880.371881","mag":"2118249151"},"language":"en","primary_location":{"id":"doi:10.1145/371880.371881","doi":"https://doi.org/10.1145/371880.371881","is_oa":false,"landing_page_url":"https://doi.org/10.1145/371880.371881","pdf_url":null,"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":null,"license_id":null,"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":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5011086287","display_name":"Maya Madhavan","orcid":"https://orcid.org/0000-0003-4991-6899","observed_orcids":["https://orcid.org/0000-0003-4991-6899"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Maya Madhavan","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5013592136","display_name":"Priti Shankar","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Priti Shankar","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5087864676","display_name":"Siddhartha Rai","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Siddhartha Rai","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5075524478","display_name":"Ramakrishna Upadrasta","orcid":"https://orcid.org/0000-0002-5290-3266","observed_orcids":["https://orcid.org/0000-0002-5290-3266"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"U. Ramakrishna","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.6291,"has_fulltext":false,"cited_by_count":8,"citation_normalized_percentile":{"value":0.74041695,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":93},"biblio":{"volume":"22","issue":"6","first_page":"973","last_page":"1001"},"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.7426999807357788,"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.7426999807357788,"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/T11567","display_name":"semigroups and automata theory","score":0.1800999939441681,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/T10181","display_name":"Natural Language Processing Techniques","score":0.012799999676644802,"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/code-generation","display_name":"code generation","score":0.7059999704360962},{"id":"https://openalex.org/keywords/pushdown-automata","display_name":"pushdown automata","score":0.8920000195503235},{"id":"https://openalex.org/keywords/ambiguous-grammars","display_name":"ambiguous grammars","score":0.9120000004768372},{"id":"https://openalex.org/keywords/regular-tree-grammars","display_name":"regular tree grammars","score":0.8679999709129333}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9089696407318115},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.6699013113975525},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.6371535658836365},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6247356534004211},{"id":"https://openalex.org/C113174947","wikidata":"https://www.wikidata.org/wiki/Q2859736","display_name":"Tree (set theory)","level":2,"score":0.547377347946167},{"id":"https://openalex.org/C58646249","wikidata":"https://www.wikidata.org/wiki/Q127380","display_name":"Abstract syntax tree","level":3,"score":0.533261239528656},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.501023530960083},{"id":"https://openalex.org/C53893814","wikidata":"https://www.wikidata.org/wiki/Q7378909","display_name":"Rule-based machine translation","level":2,"score":0.499769926071167},{"id":"https://openalex.org/C112505250","wikidata":"https://www.wikidata.org/wiki/Q787116","display_name":"Automaton","level":2,"score":0.4975149929523468},{"id":"https://openalex.org/C34736171","wikidata":"https://www.wikidata.org/wiki/Q918333","display_name":"Preprocessor","level":2,"score":0.49124354124069214},{"id":"https://openalex.org/C2780992000","wikidata":"https://www.wikidata.org/wiki/Q17016113","display_name":"Generator (circuit theory)","level":3,"score":0.47976359724998474},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.42786848545074463},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3761163651943207},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.21736672520637512},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"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/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","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/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"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/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/371880.371881","doi":"https://doi.org/10.1145/371880.371881","is_oa":false,"landing_page_url":"https://doi.org/10.1145/371880.371881","pdf_url":null,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},{"id":"pmh:oai:eprints.iisc.ac.in:17718","doi":null,"is_oa":false,"landing_page_url":"http://eprints.iisc.ac.in/17718/1/p973-madhavan.pdf","pdf_url":"http://eprints.iisc.ac.in/17718/1/p973-madhavan.pdf","source":{"id":"https://openalex.org/S4377196309","display_name":"NOT FOUND REPOSITORY (Indian Institute of Science Bangalore)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I59270414","host_organization_name":"Indian Institute of Science Bangalore","host_organization_lineage":["https://openalex.org/I59270414"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"","raw_type":"Journal Article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.161.6033","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.161.6033","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://drona.csa.iisc.ernet.in/~priti/toplas-00.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W124080003","https://openalex.org/W421997344","https://openalex.org/W1489217678","https://openalex.org/W1540080689","https://openalex.org/W1541457918","https://openalex.org/W1758717563","https://openalex.org/W1981565634","https://openalex.org/W1985608943","https://openalex.org/W1998956056","https://openalex.org/W1999102544","https://openalex.org/W2002089154","https://openalex.org/W2056609175","https://openalex.org/W2059183703","https://openalex.org/W2061414669","https://openalex.org/W2062944884","https://openalex.org/W2070053315","https://openalex.org/W2109507516","https://openalex.org/W2136285318","https://openalex.org/W2156576708","https://openalex.org/W2162455108","https://openalex.org/W2163756016","https://openalex.org/W2168315159","https://openalex.org/W2421250929","https://openalex.org/W4236427520"],"related_works":["https://openalex.org/W7000448392","https://openalex.org/W2061414669","https://openalex.org/W7100010381","https://openalex.org/W1534432171","https://openalex.org/W49614733","https://openalex.org/W1758717563","https://openalex.org/W2066836840","https://openalex.org/W2047109966","https://openalex.org/W2093925964","https://openalex.org/W114927316"],"abstract_inverted_index":{"We":[0,114],"propose":[1],"a":[2,35],"new":[3],"technique":[4,17],"for":[5,121],"constructing":[6],"code-generator":[7],"generators,":[8],"which":[9],"combines":[10],"the":[11,14,19,39,60,108,111,117],"advantages":[12],"of":[13,62,73,110],"Graham-Glanville":[15],"parsing":[16,22,101],"and":[18,50,124],"bottom-up":[20,95],"tree":[21,75,100],"approach.":[23],"Machine":[24],"descriptions":[25],"are":[26,66],"similar":[27],"to":[28,46,54],"Yacc":[29],"specifications.":[30],"The":[31,71],"construction":[32],"effectively":[33],"generates":[34],"pushdown":[36],"automaton":[37],"as":[38],"matching":[40],"device.":[41],"This":[42],"device":[43],"is":[44,105],"able":[45],"handle":[47],"ambigious":[48],"grammars,":[49],"can":[51,81,91],"be":[52,82,92],"used":[53],"generate":[55],"locally":[56],"optimal":[57],"code":[58],"without":[59],"use":[61],"heuristics.":[63],"Cost":[64],"computations":[65],"performed":[67],"at":[68],"preprocessing":[69],"time.":[70],"class":[72],"regular":[74],"grammars":[76],"augmented":[77],"with":[78],"costs":[79],"that":[80,90],"handled":[83,93],"by":[84,94],"our":[85],"system":[86,118],"properly":[87],"includes":[88],"those":[89],"systems":[96,123],"based":[97],"on":[98,119],"finite-state":[99],"automata.":[102],"Parsing":[103],"time":[104],"linear":[106],"in":[107],"size":[109],"subject":[112],"tree.":[113],"have":[115],"tested":[116],"specifications":[120],"some":[122],"report":[125],"table":[126],"sizes.":[127]},"counts_by_year":[{"year":2016,"cited_by_count":1},{"year":2013,"cited_by_count":1}],"updated_date":"2026-11-07T11:25:07.637180","created_date":"2016-06-24T00:00:00"}
