{"id":"https://openalex.org/W4246576713","doi":"https://doi.org/10.1145/3136040.3136058","title":"Parser generation by example for legacy pattern languages","display_name":"Parser generation by example for legacy pattern languages","publication_year":2017,"publication_date":"2017-10-12","ids":{"openalex":"https://openalex.org/W4246576713","doi":"https://doi.org/10.1145/3136040.3136058"},"language":"en","primary_location":{"id":"doi:10.1145/3136040.3136058","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3136040.3136058","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","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/A5084105661","display_name":"Vadim Zaytsev","orcid":"https://orcid.org/0000-0001-7764-4224"},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Vadim Zaytsev","raw_affiliation_strings":["Raincode Labs, Belgium"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Raincode Labs, Belgium","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":["https://openalex.org/A5084105661"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"212","last_page":"218"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12072","display_name":"Machine Learning and Algorithms","score":0.9994000196456909,"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/T12072","display_name":"Machine Learning and Algorithms","score":0.9994000196456909,"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.9979000091552734,"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.9973000288009644,"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.8731691241264343},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.6886164546012878},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.684879720211029},{"id":"https://openalex.org/keywords/disk-formatting","display_name":"Disk formatting","score":0.6367998719215393},{"id":"https://openalex.org/keywords/domain-specific-language","display_name":"Domain-specific language","score":0.4977445900440216},{"id":"https://openalex.org/keywords/documentation","display_name":"Documentation","score":0.49343982338905334},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.4902353882789612},{"id":"https://openalex.org/keywords/source-lines-of-code","display_name":"Source lines of code","score":0.4763363003730774},{"id":"https://openalex.org/keywords/readability","display_name":"Readability","score":0.468021959066391},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.4381789267063141},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.42443716526031494},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4159679114818573},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.3679819703102112},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.32621002197265625},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.32537758350372314},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.2114247977733612}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8731691241264343},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.6886164546012878},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.684879720211029},{"id":"https://openalex.org/C88006597","wikidata":"https://www.wikidata.org/wiki/Q690117","display_name":"Disk formatting","level":2,"score":0.6367998719215393},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.4977445900440216},{"id":"https://openalex.org/C56666940","wikidata":"https://www.wikidata.org/wiki/Q788790","display_name":"Documentation","level":2,"score":0.49343982338905334},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.4902353882789612},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.4763363003730774},{"id":"https://openalex.org/C2778143727","wikidata":"https://www.wikidata.org/wiki/Q1820650","display_name":"Readability","level":2,"score":0.468021959066391},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.4381789267063141},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.42443716526031494},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4159679114818573},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3679819703102112},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.32621002197265625},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.32537758350372314},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2114247977733612},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3136040.3136058","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3136040.3136058","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":26,"referenced_works":["https://openalex.org/W1487813443","https://openalex.org/W1498075971","https://openalex.org/W1961365492","https://openalex.org/W1965415591","https://openalex.org/W1969005071","https://openalex.org/W1970777289","https://openalex.org/W1976859918","https://openalex.org/W1982239607","https://openalex.org/W1996881133","https://openalex.org/W2012896611","https://openalex.org/W2018045485","https://openalex.org/W2019001600","https://openalex.org/W2038765730","https://openalex.org/W2051793989","https://openalex.org/W2092386826","https://openalex.org/W2094337727","https://openalex.org/W2117850004","https://openalex.org/W2118805943","https://openalex.org/W2122913021","https://openalex.org/W2139709458","https://openalex.org/W2153256103","https://openalex.org/W2499791918","https://openalex.org/W2514578992","https://openalex.org/W2962809971","https://openalex.org/W4237412827","https://openalex.org/W4238893454"],"related_works":["https://openalex.org/W1964661231","https://openalex.org/W4254960163","https://openalex.org/W3110264473","https://openalex.org/W2370831213","https://openalex.org/W2972807713","https://openalex.org/W4285478380","https://openalex.org/W2472960266","https://openalex.org/W2010035000","https://openalex.org/W4379087095","https://openalex.org/W2524949205"],"abstract_inverted_index":{"Most":[0],"modern":[1],"software":[2,27],"languages":[3,32],"enjoy":[4],"relatively":[5],"free":[6],"and":[7,124],"relaxed":[8],"concrete":[9],"syntax,":[10],"with":[11,33,52],"significant":[12],"flexibility":[13],"of":[14,16,26,42,55,69,80,94,96,103,111],"formatting":[15],"the":[17,22,40,109,112,120],"program/model/sheet":[18],"text.":[19],"Yet,":[20],"in":[21],"dark":[23],"legacy":[24,71],"corners":[25],"engineering":[28],"there":[29],"are":[30],"still":[31],"a":[34,70],"strict":[35],"fixed":[36],"column-based":[37],"structure":[38,118],"\u2014":[39],"compromises":[41],"times":[43],"long":[44],"gone,":[45],"attempting":[46],"to":[47,115],"combine":[48],"some":[49,53],"human":[50],"readability":[51],"ease":[54],"machine":[56],"processing.":[57],"In":[58],"this":[59],"paper,":[60],"we":[61],"consider":[62],"an":[63],"industrial":[64],"case":[65],"study":[66],"for":[67,92,100,129],"retirement":[68],"domain-specific":[72],"language,":[73],"completed":[74],"under":[75],"extreme":[76],"circumstances:":[77],"absolute":[78],"lack":[79],"documentation,":[81],"varying":[82],"line":[83],"structure,":[84],"hierarchical":[85],"blocks":[86],"within":[87],"one":[88],"file,":[89],"scalability":[90],"demands":[91,99],"millions":[93],"lines":[95],"code,":[97],"performance":[98],"manipulating":[101],"tens":[102],"thousands":[104],"multi-megabyte":[105],"files,":[106],"etc.":[107],"However,":[108],"regularity":[110],"language":[113],"allowed":[114],"infer":[116],"its":[117],"from":[119],"available":[121],"examples,":[122],"automatically,":[123],"produce":[125],"highly":[126],"efficient":[127],"parsers":[128],"it.":[130]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":1}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
