{"id":"https://openalex.org/W2006898115","doi":"https://doi.org/10.1145/1328408.1328424","title":"Packrat parsers can support left recursion","display_name":"Packrat parsers can support left recursion","publication_year":2008,"publication_date":"2008-01-07","ids":{"openalex":"https://openalex.org/W2006898115","doi":"https://doi.org/10.1145/1328408.1328424","mag":"2006898115"},"language":"en","primary_location":{"id":"doi:10.1145/1328408.1328424","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1328408.1328424","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation","raw_type":"proceedings-article"},"type":"article","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/A5001491028","display_name":"Alessandro Warth","orcid":null},"institutions":[{"id":"https://openalex.org/I886105272","display_name":"Viewpoints Research Institute","ror":"https://ror.org/01amy5q57","country_code":"US","type":"nonprofit","lineage":["https://openalex.org/I886105272"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Alessandro Warth","raw_affiliation_strings":["VPRI and UCLA, Los Angeles, CA"],"affiliations":[{"raw_affiliation_string":"VPRI and UCLA, Los Angeles, CA","institution_ids":["https://openalex.org/I886105272"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5021386266","display_name":"J. R. Douglass","orcid":null},"institutions":[{"id":"https://openalex.org/I1295339012","display_name":"Boeing (United States)","ror":"https://ror.org/04sm5zn07","country_code":"US","type":"company","lineage":["https://openalex.org/I1295339012"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"James R. Douglass","raw_affiliation_strings":["The Boeing Company, El Segundo, CA"],"affiliations":[{"raw_affiliation_string":"The Boeing Company, El Segundo, CA","institution_ids":["https://openalex.org/I1295339012"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5014067492","display_name":"Todd Millstein","orcid":"https://orcid.org/0000-0002-2031-1514"},"institutions":[{"id":"https://openalex.org/I2799798094","display_name":"UCLA Health","ror":"https://ror.org/01d88se56","country_code":"US","type":"funder","lineage":["https://openalex.org/I2799798094"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Todd Millstein","raw_affiliation_strings":["UCLA, Los Angeles, CA","UCLA, Los, Angeles, CA"],"affiliations":[{"raw_affiliation_string":"UCLA, Los Angeles, CA","institution_ids":["https://openalex.org/I2799798094"]},{"raw_affiliation_string":"UCLA, Los, Angeles, CA","institution_ids":["https://openalex.org/I2799798094"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5001491028"],"corresponding_institution_ids":["https://openalex.org/I886105272"],"apc_list":null,"apc_paid":null,"fwci":8.7808,"has_fulltext":false,"cited_by_count":56,"citation_normalized_percentile":{"value":0.97384098,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"103","last_page":"110"},"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.9998000264167786,"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.9998000264167786,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9993000030517578,"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/T10142","display_name":"Formal Methods in Verification","score":0.9993000030517578,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7240432500839233},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.7215598821640015},{"id":"https://openalex.org/keywords/recursion","display_name":"Recursion (computer science)","score":0.5413328409194946},{"id":"https://openalex.org/keywords/parser-combinator","display_name":"Parser combinator","score":0.48328903317451477},{"id":"https://openalex.org/keywords/backtracking","display_name":"Backtracking","score":0.468826025724411},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.44551753997802734},{"id":"https://openalex.org/keywords/rule-based-machine-translation","display_name":"Rule-based machine translation","score":0.42018502950668335},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.3231460452079773}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7240432500839233},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.7215598821640015},{"id":"https://openalex.org/C168773036","wikidata":"https://www.wikidata.org/wiki/Q264164","display_name":"Recursion (computer science)","level":2,"score":0.5413328409194946},{"id":"https://openalex.org/C118364021","wikidata":"https://www.wikidata.org/wiki/Q7139956","display_name":"Parser combinator","level":3,"score":0.48328903317451477},{"id":"https://openalex.org/C156884757","wikidata":"https://www.wikidata.org/wiki/Q798554","display_name":"Backtracking","level":2,"score":0.468826025724411},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.44551753997802734},{"id":"https://openalex.org/C53893814","wikidata":"https://www.wikidata.org/wiki/Q7378909","display_name":"Rule-based machine translation","level":2,"score":0.42018502950668335},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3231460452079773}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1328408.1328424","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1328408.1328424","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.81.293","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.81.293","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.ucla.edu/~awarth/papers/pepm08.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":14,"referenced_works":["https://openalex.org/W194677851","https://openalex.org/W1532503338","https://openalex.org/W1542200249","https://openalex.org/W1644882639","https://openalex.org/W1971135355","https://openalex.org/W2018045485","https://openalex.org/W2098396599","https://openalex.org/W2110464036","https://openalex.org/W2139935350","https://openalex.org/W2148708444","https://openalex.org/W2256255660","https://openalex.org/W2579796627","https://openalex.org/W2997176701","https://openalex.org/W4237774781"],"related_works":["https://openalex.org/W2355809127","https://openalex.org/W3173038314","https://openalex.org/W4285289289","https://openalex.org/W3143982968","https://openalex.org/W2115737371","https://openalex.org/W1574037173","https://openalex.org/W2389755172","https://openalex.org/W2529664582","https://openalex.org/W2145777524","https://openalex.org/W1992279947"],"abstract_inverted_index":{"Packrat":[0],"parsing":[1,7],"offers":[2],"several":[3],"advantages":[4],"over":[5],"other":[6],"techniques,":[8],"such":[9],"as":[10],"the":[11,24,54,102],"guarantee":[12],"of":[13,43,107],"linear":[14],"parse":[15,90],"times":[16,91],"while":[17],"supporting":[18],"backtracking":[19],"and":[20],"unlimited":[21],"look-ahead.":[22],"Unfortunately,":[23],"limited":[25],"support":[26,69],"for":[27,39,46,66,80,92,104],"left":[28,108],"recursion":[29],"in":[30],"packrat":[31,59,82],"parser":[32,60,83],"implementations":[33,61],"makes":[34,63],"them":[35,67],"difficult":[36],"to":[37,53,68,87],"use":[38],"a":[40,51,81],"large":[41],"class":[42],"grammars":[44],"(Java's,":[45],"example).":[47],"This":[48],"paper":[49],"presents":[50],"modification":[52,86],"memoization":[55],"mechanism":[56],"used":[57],"by":[58],"that":[62,98],"it":[64,77],"possible":[65,79],"(even":[70],"indirectly":[71],"or":[72],"mutually)":[73],"left-recursive":[74,94],"rules.":[75],"While":[76],"is":[78,100],"with":[84],"our":[85,96],"yield":[88],"super-linear":[89],"some":[93],"grammars,":[95],"experimentsshow":[97],"this":[99],"not":[101],"case":[103],"typical":[105],"uses":[106],"recursion.":[109]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":4},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":5},{"year":2015,"cited_by_count":6},{"year":2014,"cited_by_count":7},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":4}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
