{"id":"https://openalex.org/W2100895292","doi":"https://doi.org/10.1145/226155.226156","title":"Generation of formatters for context-free languages","display_name":"Generation of formatters for context-free languages","publication_year":1996,"publication_date":"1996-01-01","ids":{"openalex":"https://openalex.org/W2100895292","doi":"https://doi.org/10.1145/226155.226156","mag":"2100895292"},"language":"en","primary_location":{"id":"doi:10.1145/226155.226156","is_oa":true,"landing_page_url":"https://doi.org/10.1145/226155.226156","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/226155.226156","source":{"id":"https://openalex.org/S142627899","display_name":"ACM Transactions on Software Engineering and Methodology","issn_l":"1049-331X","issn":["1049-331X","1557-7392"],"is_oa":false,"is_in_doaj":false,"is_core":true,"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 Software Engineering and Methodology","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/226155.226156","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5029542014","display_name":"Mark van den Brand","orcid":"https://orcid.org/0000-0003-3529-6182"},"institutions":[{"id":"https://openalex.org/I887064364","display_name":"University of Amsterdam","ror":"https://ror.org/04dkp9463","country_code":"NL","type":"education","lineage":["https://openalex.org/I887064364"]}],"countries":["NL"],"is_corresponding":true,"raw_author_name":"Mark van den Brand","raw_affiliation_strings":["Univ. of Amsterdam, Amsterdam, The Netherlands","University of Amsterdam, Amsterdam, The Netherlands"],"affiliations":[{"raw_affiliation_string":"Univ. of Amsterdam, Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I887064364"]},{"raw_affiliation_string":"University of Amsterdam, Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I887064364"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5072923235","display_name":"Eelco Visser","orcid":"https://orcid.org/0000-0002-7384-3370"},"institutions":[{"id":"https://openalex.org/I887064364","display_name":"University of Amsterdam","ror":"https://ror.org/04dkp9463","country_code":"NL","type":"education","lineage":["https://openalex.org/I887064364"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Eelco Visser","raw_affiliation_strings":["Univ. of Amsterdam, Amsterdam, The Netherlands","University of Amsterdam, Amsterdam, The Netherlands"],"affiliations":[{"raw_affiliation_string":"Univ. of Amsterdam, Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I887064364"]},{"raw_affiliation_string":"University of Amsterdam, Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I887064364"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5029542014"],"corresponding_institution_ids":["https://openalex.org/I887064364"],"apc_list":null,"apc_paid":null,"fwci":18.0386,"has_fulltext":true,"cited_by_count":105,"citation_normalized_percentile":{"value":0.99591002,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"5","issue":"1","first_page":"1","last_page":"41"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9997000098228455,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9997000098228455,"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/T10260","display_name":"Software Engineering Research","score":0.9990000128746033,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9979000091552734,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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/disk-formatting","display_name":"Disk formatting","score":0.9057903289794922},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8746229410171509},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7714072465896606},{"id":"https://openalex.org/keywords/documentation","display_name":"Documentation","score":0.6421603560447693},{"id":"https://openalex.org/keywords/grammar","display_name":"Grammar","score":0.47695624828338623},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.47180214524269104},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.4436929523944855},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4353742003440857},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.2556701898574829},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.16830596327781677},{"id":"https://openalex.org/keywords/linguistics","display_name":"Linguistics","score":0.09115797281265259}],"concepts":[{"id":"https://openalex.org/C88006597","wikidata":"https://www.wikidata.org/wiki/Q690117","display_name":"Disk formatting","level":2,"score":0.9057903289794922},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8746229410171509},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7714072465896606},{"id":"https://openalex.org/C56666940","wikidata":"https://www.wikidata.org/wiki/Q788790","display_name":"Documentation","level":2,"score":0.6421603560447693},{"id":"https://openalex.org/C26022165","wikidata":"https://www.wikidata.org/wiki/Q8091","display_name":"Grammar","level":2,"score":0.47695624828338623},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.47180214524269104},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4436929523944855},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4353742003440857},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.2556701898574829},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.16830596327781677},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.09115797281265259},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/226155.226156","is_oa":true,"landing_page_url":"https://doi.org/10.1145/226155.226156","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/226155.226156","source":{"id":"https://openalex.org/S142627899","display_name":"ACM Transactions on Software Engineering and Methodology","issn_l":"1049-331X","issn":["1049-331X","1557-7392"],"is_oa":false,"is_in_doaj":false,"is_core":true,"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 Software Engineering and Methodology","raw_type":"journal-article"},{"id":"pmh:oai:pure.tue.nl:publications/0271c01a-f3a5-4a0d-9b95-f5c3a18f30a7","is_oa":false,"landing_page_url":"https://research.tue.nl/en/publications/0271c01a-f3a5-4a0d-9b95-f5c3a18f30a7","pdf_url":null,"source":{"id":"https://openalex.org/S4406922641","display_name":"TU/e Research Portal","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Brand, van den, M G J & Visser, E 1996, 'Generation of formatters for context-free languages', ACM Transactions on Software Engineering and Methodology, vol. 5, no. 1, pp. 1-41. https://doi.org/10.1145/226155.226156","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:tue:oai:pure.tue.nl:publications/0271c01a-f3a5-4a0d-9b95-f5c3a18f30a7","is_oa":false,"landing_page_url":"https://research.tue.nl/nl/publications/0271c01a-f3a5-4a0d-9b95-f5c3a18f30a7","pdf_url":null,"source":{"id":"https://openalex.org/S4306401843","display_name":"Data Archiving and Networked Services (DANS)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1322597698","host_organization_name":"Royal Netherlands Academy of Arts and Sciences","host_organization_lineage":["https://openalex.org/I1322597698"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ACM Transactions on Software Engineering and Methodology, 5(1), 1 - 41. Association for Computing Machinery, Inc","raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1145/226155.226156","is_oa":true,"landing_page_url":"https://doi.org/10.1145/226155.226156","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/226155.226156","source":{"id":"https://openalex.org/S142627899","display_name":"ACM Transactions on Software Engineering and Methodology","issn_l":"1049-331X","issn":["1049-331X","1557-7392"],"is_oa":false,"is_in_doaj":false,"is_core":true,"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 Software Engineering and Methodology","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2100895292.pdf","grobid_xml":"https://content.openalex.org/works/W2100895292.grobid-xml"},"referenced_works_count":37,"referenced_works":["https://openalex.org/W41230139","https://openalex.org/W53964796","https://openalex.org/W1492803714","https://openalex.org/W1520096901","https://openalex.org/W1542604871","https://openalex.org/W1555946950","https://openalex.org/W1566720670","https://openalex.org/W1571708795","https://openalex.org/W1587096303","https://openalex.org/W1605442309","https://openalex.org/W1639246698","https://openalex.org/W1769228338","https://openalex.org/W1930840755","https://openalex.org/W1981825435","https://openalex.org/W1983775612","https://openalex.org/W2005915144","https://openalex.org/W2013399578","https://openalex.org/W2041343865","https://openalex.org/W2044553249","https://openalex.org/W2090655185","https://openalex.org/W2100648544","https://openalex.org/W2117628670","https://openalex.org/W2120464852","https://openalex.org/W2130729919","https://openalex.org/W2134238427","https://openalex.org/W2135317805","https://openalex.org/W2144883271","https://openalex.org/W2150793538","https://openalex.org/W2154940799","https://openalex.org/W2171727886","https://openalex.org/W2175442286","https://openalex.org/W2582046978","https://openalex.org/W2611598995","https://openalex.org/W2612150260","https://openalex.org/W2912911385","https://openalex.org/W3146378032","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W207657689","https://openalex.org/W4234402940","https://openalex.org/W4243252198","https://openalex.org/W2149959829","https://openalex.org/W2118300983","https://openalex.org/W2112962394","https://openalex.org/W73362756","https://openalex.org/W3137189469","https://openalex.org/W4246531319","https://openalex.org/W1999119346"],"abstract_inverted_index":{"Good":[0],"documentation":[1,17,56],"is":[2,19,26,57,87],"important":[3],"for":[4,159,186],"the":[5,13,22,50,70,90,117,140,160,168],"production":[6,14,45,51],"of":[7,15,46,52,72,79,84,93,104,116,143,150,162],"reusable":[8],"and":[9,54],"maintainable":[10],"software.":[11],"For":[12],"accurate":[16,55],"it":[18],"necessary":[20],"that":[21,48,74,129,201],"original":[23,169],"program":[24],"text":[25],"not":[27],"copied":[28],"manually":[29],"to":[30,69,138,182,197,203],"obtain":[31],"a":[32,58,85,94,156],"typeset":[33],"version.":[34],"Apart":[35],"from":[36,89],"being":[37],"tedious,":[38],"this":[39,147,177],"will":[40],"invariably":[41],"introduce":[42],"errors.":[43],"The":[44,126,171],"tools":[47,73],"support":[49],"legible":[53],"software":[59],"engineering":[60],"challenge":[61],"in":[62,136,167,176,207],"itself.":[63],"We":[64,145],"present":[65],"an":[66],"algebraic":[67],"approach":[68,174,193],"generation":[71,173,192],"produce":[75],"typographically":[76],"effective":[77],"presentations":[78],"computer":[80],"programs.":[81,144],"A":[82],"specification":[83],"formatter":[86,172,191],"generated":[88,98,131],"context-free":[91],"grammar":[92],"(programming)":[95],"language.":[96],"These":[97],"formatters":[99,200],"translate":[100],"abstract":[101],"syntax":[102],"trees":[103],"programs":[105,185],"into":[106,120],"box":[107,118],"expressions.":[108],"Box":[109],"expressions":[110],"are":[111,130],"translated":[112],"by":[113,148],"language-independent":[114],"interpreters":[115],"language":[119],"ASCII":[121],"or":[122],"T":[123],"E":[124],"X.":[125],"formatting":[127,142,163,184],"rules":[128],"can":[132,179,194],"easily":[133],"be":[134,180,195,204],"tuned":[135],"order":[137],"get":[139],"desired":[141],"demonstrate":[146],"means":[149],"real-life":[151],"applications.":[152],"Furthermore,":[153],"we":[154],"give":[155],"practical":[157],"solution":[158],"problem":[161],"comments,":[164],"which":[165],"occur":[166],"text.":[170],"proposed":[175],"article":[178],"used":[181,196],"generate":[183,199],"arbitrary":[187],"programming":[188],"environments.":[189],"Our":[190],"automatically":[198],"have":[202],"programmed":[205],"explicitly":[206],"other":[208],"systems.":[209]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":2},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":3},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":4},{"year":2012,"cited_by_count":4}],"updated_date":"2026-03-07T16:01:11.037858","created_date":"2025-10-10T00:00:00"}
