{"id":"https://openalex.org/W4388214484","doi":"https://doi.org/10.1145/3624309.3624313","title":"A Haskell Library for Adaptable Parsing Expression Grammars","display_name":"A Haskell Library for Adaptable Parsing Expression Grammars","publication_year":2023,"publication_date":"2023-09-25","ids":{"openalex":"https://openalex.org/W4388214484","doi":"https://doi.org/10.1145/3624309.3624313"},"language":"en","primary_location":{"id":"doi:10.1145/3624309.3624313","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3624309.3624313","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the XXVII Brazilian Symposium on Programming Languages","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/A5012752317","display_name":"Elton M. Cardoso","orcid":"https://orcid.org/0000-0003-4174-8616"},"institutions":[{"id":"https://openalex.org/I10824318","display_name":"Universidade Federal de Ouro Preto","ror":"https://ror.org/056s65p46","country_code":"BR","type":"education","lineage":["https://openalex.org/I10824318"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Elton M\u00e1ximo Cardoso","raw_affiliation_strings":["Prog. de P\u00f3s Gradua\u00e7\u00e3o em Ci\u00eancia da Computa\u00e7\u00e3o, Universidade Federal de Ouro Preto, Brazil"],"raw_orcid":"https://orcid.org/0000-0003-4174-8616","affiliations":[{"raw_affiliation_string":"Prog. de P\u00f3s Gradua\u00e7\u00e3o em Ci\u00eancia da Computa\u00e7\u00e3o, Universidade Federal de Ouro Preto, Brazil","institution_ids":["https://openalex.org/I10824318"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5061049872","display_name":"Rodrigo Ribeiro","orcid":"https://orcid.org/0000-0003-0131-5154"},"institutions":[{"id":"https://openalex.org/I10824318","display_name":"Universidade Federal de Ouro Preto","ror":"https://ror.org/056s65p46","country_code":"BR","type":"education","lineage":["https://openalex.org/I10824318"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Rodrigo Geraldo Ribeiro","raw_affiliation_strings":["Prog. de P\u00f3s Gradua\u00e7\u00e3o em Ci\u00eancia da Computa\u00e7\u00e3o, Universidade Federal de Ouro Preto, Brazil"],"raw_orcid":"https://orcid.org/0000-0003-0131-5154","affiliations":[{"raw_affiliation_string":"Prog. de P\u00f3s Gradua\u00e7\u00e3o em Ci\u00eancia da Computa\u00e7\u00e3o, Universidade Federal de Ouro Preto, Brazil","institution_ids":["https://openalex.org/I10824318"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5076028754","display_name":"Leonardo Vieira dos Santos Reis","orcid":"https://orcid.org/0000-0002-1167-5332"},"institutions":[{"id":"https://openalex.org/I101100930","display_name":"Universidade Federal de Juiz de Fora","ror":"https://ror.org/04yqw9c44","country_code":"BR","type":"education","lineage":["https://openalex.org/I101100930"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Leonardo Vieira dos Santos Reis","raw_affiliation_strings":["Universidade Federal de Juiz de Fora, Brazil"],"raw_orcid":"https://orcid.org/0000-0002-1167-5332","affiliations":[{"raw_affiliation_string":"Universidade Federal de Juiz de Fora, Brazil","institution_ids":["https://openalex.org/I101100930"]}]},{"author_position":"last","author":{"id":null,"display_name":"Marcos Emiliano","orcid":"https://orcid.org/0009-0000-0480-8064"},"institutions":[{"id":"https://openalex.org/I10824318","display_name":"Universidade Federal de Ouro Preto","ror":"https://ror.org/056s65p46","country_code":"BR","type":"education","lineage":["https://openalex.org/I10824318"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Marcos Emiliano","raw_affiliation_strings":["Prog. de P\u00f3s Gradua\u00e7\u00e3o em Ci\u00eancia da Computa\u00e7\u00e3o, Universidade Federal de Ouro Preto, Brazil"],"raw_orcid":"https://orcid.org/0009-0000-0480-8064","affiliations":[{"raw_affiliation_string":"Prog. de P\u00f3s Gradua\u00e7\u00e3o em Ci\u00eancia da Computa\u00e7\u00e3o, Universidade Federal de Ouro Preto, Brazil","institution_ids":["https://openalex.org/I10824318"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.14194686,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"73","last_page":"81"},"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.9980000257492065,"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.9980000257492065,"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/T11567","display_name":"semigroups and automata theory","score":0.9966999888420105,"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.9961000084877014,"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/haskell","display_name":"Haskell","score":0.9155299663543701},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8543342351913452},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.8109793663024902},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7927439212799072},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.6102019548416138},{"id":"https://openalex.org/keywords/s-attributed-grammar","display_name":"S-attributed grammar","score":0.559928834438324},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.5350538492202759},{"id":"https://openalex.org/keywords/top-down-parsing-language","display_name":"Top-down parsing language","score":0.523322582244873},{"id":"https://openalex.org/keywords/parser-combinator","display_name":"Parser combinator","score":0.5082213878631592},{"id":"https://openalex.org/keywords/top-down-parsing","display_name":"Top-down parsing","score":0.49094417691230774},{"id":"https://openalex.org/keywords/grammar","display_name":"Grammar","score":0.4771372973918915},{"id":"https://openalex.org/keywords/rule-based-machine-translation","display_name":"Rule-based machine translation","score":0.47305169701576233},{"id":"https://openalex.org/keywords/extended-affix-grammar","display_name":"Extended Affix Grammar","score":0.4597182273864746},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.45820072293281555},{"id":"https://openalex.org/keywords/abstract-syntax-tree","display_name":"Abstract syntax tree","score":0.45502620935440063},{"id":"https://openalex.org/keywords/extensibility","display_name":"Extensibility","score":0.4492017328739166},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.4317982792854309},{"id":"https://openalex.org/keywords/l-attributed-grammar","display_name":"L-attributed grammar","score":0.41526979207992554},{"id":"https://openalex.org/keywords/bottom-up-parsing","display_name":"Bottom-up parsing","score":0.4064915180206299},{"id":"https://openalex.org/keywords/context-free-grammar","display_name":"Context-free grammar","score":0.20690518617630005},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.19675368070602417},{"id":"https://openalex.org/keywords/linguistics","display_name":"Linguistics","score":0.17392247915267944}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9155299663543701},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8543342351913452},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.8109793663024902},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7927439212799072},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.6102019548416138},{"id":"https://openalex.org/C147547768","wikidata":"https://www.wikidata.org/wiki/Q3113342","display_name":"S-attributed grammar","level":3,"score":0.559928834438324},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.5350538492202759},{"id":"https://openalex.org/C166651950","wikidata":"https://www.wikidata.org/wiki/Q7824365","display_name":"Top-down parsing language","level":5,"score":0.523322582244873},{"id":"https://openalex.org/C118364021","wikidata":"https://www.wikidata.org/wiki/Q7139956","display_name":"Parser combinator","level":3,"score":0.5082213878631592},{"id":"https://openalex.org/C42560504","wikidata":"https://www.wikidata.org/wiki/Q15419395","display_name":"Top-down parsing","level":3,"score":0.49094417691230774},{"id":"https://openalex.org/C26022165","wikidata":"https://www.wikidata.org/wiki/Q8091","display_name":"Grammar","level":2,"score":0.4771372973918915},{"id":"https://openalex.org/C53893814","wikidata":"https://www.wikidata.org/wiki/Q7378909","display_name":"Rule-based machine translation","level":2,"score":0.47305169701576233},{"id":"https://openalex.org/C37734731","wikidata":"https://www.wikidata.org/wiki/Q5421802","display_name":"Extended Affix Grammar","level":4,"score":0.4597182273864746},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.45820072293281555},{"id":"https://openalex.org/C58646249","wikidata":"https://www.wikidata.org/wiki/Q127380","display_name":"Abstract syntax tree","level":3,"score":0.45502620935440063},{"id":"https://openalex.org/C32833848","wikidata":"https://www.wikidata.org/wiki/Q4115054","display_name":"Extensibility","level":2,"score":0.4492017328739166},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.4317982792854309},{"id":"https://openalex.org/C67621940","wikidata":"https://www.wikidata.org/wiki/Q3113340","display_name":"L-attributed grammar","level":4,"score":0.41526979207992554},{"id":"https://openalex.org/C60690694","wikidata":"https://www.wikidata.org/wiki/Q894902","display_name":"Bottom-up parsing","level":4,"score":0.4064915180206299},{"id":"https://openalex.org/C97212296","wikidata":"https://www.wikidata.org/wiki/Q338047","display_name":"Context-free grammar","level":3,"score":0.20690518617630005},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.19675368070602417},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.17392247915267944},{"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/3624309.3624313","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3624309.3624313","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the XXVII Brazilian Symposium on Programming Languages","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4","score":0.7300000190734863}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W1797366402","https://openalex.org/W2018045485","https://openalex.org/W2022744394","https://openalex.org/W2044417921","https://openalex.org/W2049946917","https://openalex.org/W2078200248","https://openalex.org/W2109845691","https://openalex.org/W2125872407","https://openalex.org/W2156429182","https://openalex.org/W2249437077","https://openalex.org/W2472525612","https://openalex.org/W2479224332","https://openalex.org/W2912949875","https://openalex.org/W2943197582","https://openalex.org/W2997284983","https://openalex.org/W2998768639","https://openalex.org/W3034052663","https://openalex.org/W3034054982","https://openalex.org/W3047508197","https://openalex.org/W3105233674","https://openalex.org/W4234122891","https://openalex.org/W4235903093","https://openalex.org/W4246781209","https://openalex.org/W4253934805"],"related_works":["https://openalex.org/W3143982968","https://openalex.org/W3088470625","https://openalex.org/W4320024782","https://openalex.org/W2792937288","https://openalex.org/W2164260211","https://openalex.org/W2389755172","https://openalex.org/W3035970863","https://openalex.org/W2483839524","https://openalex.org/W1975821179","https://openalex.org/W2154973422"],"abstract_inverted_index":{"Adaptable":[0],"Parsing":[1],"Expression":[2],"Grammar":[3],"(APEG)":[4],"is":[5],"a":[6,14,41,60],"formal":[7],"model":[8],"for":[9,44,47,59],"describing":[10],"languages":[11],"which":[12],"provide":[13],"mechanism":[15],"to":[16],"extend":[17],"its":[18],"own":[19],"syntax":[20,31],"during":[21],"the":[22,30,38],"parsing":[23],"process.":[24],"In":[25],"this":[26],"work,":[27],"we":[28],"review":[29],"and":[32,36],"semantics":[33],"of":[34,40,55],"APEG":[35,57],"discuss":[37],"implementation":[39],"Haskell":[42],"library":[43],"building":[45],"parsers":[46],"extensible":[48,62],"languages.":[49],"We":[50],"also":[51],"present":[52],"an":[53,56],"example":[54],"parser":[58],"tiny":[61],"language.":[63]},"counts_by_year":[],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
