{"id":"https://openalex.org/W4244888056","doi":"https://doi.org/10.1002/spe.892","title":"A text pattern\u2010matching tool based on Parsing Expression Grammars","display_name":"A text pattern\u2010matching tool based on Parsing Expression Grammars","publication_year":2008,"publication_date":"2008-07-17","ids":{"openalex":"https://openalex.org/W4244888056","doi":"https://doi.org/10.1002/spe.892"},"language":"en","primary_location":{"id":"doi:10.1002/spe.892","is_oa":false,"landing_page_url":"https://doi.org/10.1002/spe.892","pdf_url":null,"source":{"id":"https://openalex.org/S122199241","display_name":"Software Practice and Experience","issn_l":"0038-0644","issn":["0038-0644","1097-024X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320595","host_organization_name":"Wiley","host_organization_lineage":["https://openalex.org/P4310320595"],"host_organization_lineage_names":["Wiley"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Software: Practice and Experience","raw_type":"journal-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/A5059175907","display_name":"Roberto Ierusalimschy","orcid":"https://orcid.org/0000-0003-2263-4955"},"institutions":[{"id":"https://openalex.org/I2699952","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio de Janeiro","ror":"https://ror.org/01dg47b60","country_code":"BR","type":"education","lineage":["https://openalex.org/I2699952"]}],"countries":["BR"],"is_corresponding":true,"raw_author_name":"Roberto Ierusalimschy","raw_affiliation_strings":["PUC-Rio, Rio de Janeiro, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"PUC-Rio, Rio de Janeiro, Brazil","institution_ids":["https://openalex.org/I2699952"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5059175907"],"corresponding_institution_ids":["https://openalex.org/I2699952"],"apc_list":{"value":4220,"currency":"USD","value_usd":4220},"apc_paid":null,"fwci":0.5874,"has_fulltext":false,"cited_by_count":27,"citation_normalized_percentile":{"value":0.82700319,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"39","issue":"3","first_page":"221","last_page":"258"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10181","display_name":"Natural Language Processing Techniques","score":0.9995999932289124,"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/T10181","display_name":"Natural Language Processing Techniques","score":0.9995999932289124,"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/T11269","display_name":"Algorithms and Data Compression","score":0.9983000159263611,"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/T12326","display_name":"Network Packet Processing and Optimization","score":0.9944999814033508,"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/regular-expression","display_name":"Regular expression","score":0.85169517993927},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8120806217193604},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.6921671032905579},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.6518239974975586},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5098868608474731},{"id":"https://openalex.org/keywords/rule-based-machine-translation","display_name":"Rule-based machine translation","score":0.48715755343437195},{"id":"https://openalex.org/keywords/scripting-language","display_name":"Scripting language","score":0.4857392907142639},{"id":"https://openalex.org/keywords/string-searching-algorithm","display_name":"String searching algorithm","score":0.46573227643966675},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.4524296224117279},{"id":"https://openalex.org/keywords/top-down-parsing-language","display_name":"Top-down parsing language","score":0.43133294582366943},{"id":"https://openalex.org/keywords/expression","display_name":"Expression (computer science)","score":0.41198134422302246},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.3703819513320923},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3694119453430176},{"id":"https://openalex.org/keywords/top-down-parsing","display_name":"Top-down parsing","score":0.27987903356552124},{"id":"https://openalex.org/keywords/bottom-up-parsing","display_name":"Bottom-up parsing","score":0.1639232337474823}],"concepts":[{"id":"https://openalex.org/C121329065","wikidata":"https://www.wikidata.org/wiki/Q185612","display_name":"Regular expression","level":2,"score":0.85169517993927},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8120806217193604},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.6921671032905579},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.6518239974975586},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5098868608474731},{"id":"https://openalex.org/C53893814","wikidata":"https://www.wikidata.org/wiki/Q7378909","display_name":"Rule-based machine translation","level":2,"score":0.48715755343437195},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.4857392907142639},{"id":"https://openalex.org/C7757238","wikidata":"https://www.wikidata.org/wiki/Q374040","display_name":"String searching algorithm","level":3,"score":0.46573227643966675},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.4524296224117279},{"id":"https://openalex.org/C166651950","wikidata":"https://www.wikidata.org/wiki/Q7824365","display_name":"Top-down parsing language","level":5,"score":0.43133294582366943},{"id":"https://openalex.org/C90559484","wikidata":"https://www.wikidata.org/wiki/Q778379","display_name":"Expression (computer science)","level":2,"score":0.41198134422302246},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.3703819513320923},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3694119453430176},{"id":"https://openalex.org/C42560504","wikidata":"https://www.wikidata.org/wiki/Q15419395","display_name":"Top-down parsing","level":3,"score":0.27987903356552124},{"id":"https://openalex.org/C60690694","wikidata":"https://www.wikidata.org/wiki/Q894902","display_name":"Bottom-up parsing","level":4,"score":0.1639232337474823}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1002/spe.892","is_oa":false,"landing_page_url":"https://doi.org/10.1002/spe.892","pdf_url":null,"source":{"id":"https://openalex.org/S122199241","display_name":"Software Practice and Experience","issn_l":"0038-0644","issn":["0038-0644","1097-024X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320595","host_organization_name":"Wiley","host_organization_lineage":["https://openalex.org/P4310320595"],"host_organization_lineage_names":["Wiley"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Software: Practice and Experience","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.139.6969","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.139.6969","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.inf.puc-rio.br/~roberto/docs/peg.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.699999988079071,"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":7,"referenced_works":["https://openalex.org/W1551518726","https://openalex.org/W2003241571","https://openalex.org/W2013120826","https://openalex.org/W2072607050","https://openalex.org/W2101547548","https://openalex.org/W2166030873","https://openalex.org/W2249895122"],"related_works":["https://openalex.org/W3145288231","https://openalex.org/W2371263218","https://openalex.org/W1774017438","https://openalex.org/W1887794835","https://openalex.org/W2123199373","https://openalex.org/W4246321749","https://openalex.org/W1492858093","https://openalex.org/W2092552144","https://openalex.org/W3216580934","https://openalex.org/W2504957479"],"abstract_inverted_index":{"Abstract":[0],"Current":[1],"text":[2],"pattern\u2010matching":[3,66,138,155,182],"tools":[4,67,156],"are":[5,27],"based":[6,140],"on":[7,141],"regular":[8,12,36,43],"expressions.":[9,37],"However,":[10],"pure":[11],"expressions":[13,44],"have":[14],"proven":[15],"too":[16],"weak":[17],"a":[18,55,75,107,126,137,187,192],"formalism":[19,73],"for":[20,128,143,199],"the":[21,39,48,70,118,144,150,158,172],"task:":[22],"many":[23],"interesting":[24],"patterns":[25],"either":[26],"difficult":[28],"to":[29,50],"describe":[30],"or":[31],"cannot":[32],"be":[33],"described":[34],"by":[35,58],"Moreover,":[38],"inherent":[40],"non\u2010determinism":[41],"of":[42,54,77,101,106,120,152,154,162,165,174,197],"does":[45],"not":[46],"fit":[47],"need":[49],"capture":[51],"specific":[52],"parts":[53],"match.":[56],"Motivated":[57],"these":[59],"reasons,":[60],"most":[61],"scripting":[62,146],"languages":[63],"nowadays":[64],"use":[65,119,153],"that":[68,190],"extend":[69],"original":[71],"regular\u2010expression":[72],"with":[74,157],"set":[76,100],"ad":[78,94,175],"hoc":[79,95,176],"features,":[80],"such":[81,103],"as":[82,104,125],"greedy":[83],"repetitions,":[84,86,88],"lazy":[85],"possessive":[87],"\u2018longest\u2010match":[89],"rule,\u2019":[90],"lookahead,":[91],"etc.":[92],"These":[93],"extensions":[96],"bring":[97],"their":[98],"own":[99],"problems,":[102],"lack":[105],"formal":[108],"foundation":[109],"and":[110,194],"complex":[111],"implementations.":[112],"In":[113],"this":[114,132,166],"paper,":[115],"we":[116,134],"propose":[117],"Parsing":[121,188],"Expression":[122],"Grammars":[123],"(PEGs)":[124],"basis":[127],"pattern":[129,200],"matching.":[130,201],"Following":[131],"proposal,":[133],"present":[135,178,186],"LPEG,":[136],"tool":[139],"PEGs":[142,198],"Lua":[145],"language.":[147],"LPEG":[148],"unifies":[149],"ease":[151],"full":[159],"expressive":[160,167],"power":[161],"PEGs.":[163],"Because":[164],"power,":[168],"it":[169],"can":[170],"avoid":[171],"myriad":[173],"constructions":[177],"in":[179],"several":[180],"current":[181],"tools.":[183],"We":[184],"also":[185],"Machine":[189],"allows":[191],"small":[193],"efficient":[195],"implementation":[196],"Copyright":[202],"\u00a9":[203],"2008":[204],"John":[205],"Wiley":[206],"&amp;":[207],"Sons,":[208],"Ltd.":[209]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":4},{"year":2016,"cited_by_count":1},{"year":2014,"cited_by_count":4},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":3}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
