{"id":"https://openalex.org/W2009093319","doi":"https://doi.org/10.1145/2048066.2048128","title":"Variability-aware parsing in the presence of lexical macros and conditional compilation","display_name":"Variability-aware parsing in the presence of lexical macros and conditional compilation","publication_year":2011,"publication_date":"2011-10-22","ids":{"openalex":"https://openalex.org/W2009093319","doi":"https://doi.org/10.1145/2048066.2048128","mag":"2009093319"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/2048066.2048128","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"proceedings-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/A5067467896","display_name":"Christian K\u00e4stner","orcid":"https://orcid.org/0000-0002-4450-4572"},"institutions":[{"id":"https://openalex.org/I161103922","display_name":"Philipps University of Marburg","ror":"https://ror.org/01rdrb571","country_code":"DE","type":"education","lineage":["https://openalex.org/I161103922"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Christian K\u00e4stner","raw_affiliation_strings":["Philipps University Marburg, Marburg, Germany"],"affiliations":[{"raw_affiliation_string":"Philipps University Marburg, Marburg, Germany","institution_ids":["https://openalex.org/I161103922"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5030151158","display_name":"Paolo G. Giarrusso","orcid":null},"institutions":[{"id":"https://openalex.org/I161103922","display_name":"Philipps University of Marburg","ror":"https://ror.org/01rdrb571","country_code":"DE","type":"education","lineage":["https://openalex.org/I161103922"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Paolo G. Giarrusso","raw_affiliation_strings":["Philipps University Marburg, Marburg, Germany"],"affiliations":[{"raw_affiliation_string":"Philipps University Marburg, Marburg, Germany","institution_ids":["https://openalex.org/I161103922"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5045581204","display_name":"Tillmann Rendel","orcid":null},"institutions":[{"id":"https://openalex.org/I161103922","display_name":"Philipps University of Marburg","ror":"https://ror.org/01rdrb571","country_code":"DE","type":"education","lineage":["https://openalex.org/I161103922"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Tillmann Rendel","raw_affiliation_strings":["Philipps University Marburg, Marburg, Germany"],"affiliations":[{"raw_affiliation_string":"Philipps University Marburg, Marburg, Germany","institution_ids":["https://openalex.org/I161103922"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5059992246","display_name":"Sebastian Erdweg","orcid":"https://orcid.org/0000-0002-1974-5956"},"institutions":[{"id":"https://openalex.org/I161103922","display_name":"Philipps University of Marburg","ror":"https://ror.org/01rdrb571","country_code":"DE","type":"education","lineage":["https://openalex.org/I161103922"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Sebastian Erdweg","raw_affiliation_strings":["Philipps University Marburg, Marburg, Germany"],"affiliations":[{"raw_affiliation_string":"Philipps University Marburg, Marburg, Germany","institution_ids":["https://openalex.org/I161103922"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5049077225","display_name":"Klaus Ostermann","orcid":"https://orcid.org/0000-0001-5294-5506"},"institutions":[{"id":"https://openalex.org/I161103922","display_name":"Philipps University of Marburg","ror":"https://ror.org/01rdrb571","country_code":"DE","type":"education","lineage":["https://openalex.org/I161103922"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Klaus Ostermann","raw_affiliation_strings":["Philipps University Marburg, Marburg, Germany"],"affiliations":[{"raw_affiliation_string":"Philipps University Marburg, Marburg, Germany","institution_ids":["https://openalex.org/I161103922"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5072456187","display_name":"Thorsten Berger","orcid":"https://orcid.org/0000-0002-3870-5167"},"institutions":[{"id":"https://openalex.org/I926574661","display_name":"Leipzig University","ror":"https://ror.org/03s7gtk40","country_code":"DE","type":"education","lineage":["https://openalex.org/I926574661"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Thorsten Berger","raw_affiliation_strings":["University of Leipzig, Leipzig, Germany,"],"affiliations":[{"raw_affiliation_string":"University of Leipzig, Leipzig, Germany,","institution_ids":["https://openalex.org/I926574661"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":13.644,"has_fulltext":false,"cited_by_count":230,"citation_normalized_percentile":{"value":0.999877,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":99,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"805","last_page":"824"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9999,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9999,"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.9981,"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/T12127","display_name":"Software System Performance and Reliability","score":0.9951,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/macro","display_name":"Macro","score":0.6554984},{"id":"https://openalex.org/keywords/heuristics","display_name":"Heuristics","score":0.48088148},{"id":"https://openalex.org/keywords/lexical-analysis","display_name":"Lexical analysis","score":0.46834916}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.87351626},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.77955437},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6914554},{"id":"https://openalex.org/C166955791","wikidata":"https://www.wikidata.org/wiki/Q629579","display_name":"Macro","level":2,"score":0.6554984},{"id":"https://openalex.org/C58646249","wikidata":"https://www.wikidata.org/wiki/Q127380","display_name":"Abstract syntax tree","level":3,"score":0.56945425},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.48088148},{"id":"https://openalex.org/C176982825","wikidata":"https://www.wikidata.org/wiki/Q835922","display_name":"Lexical analysis","level":2,"score":0.46834916},{"id":"https://openalex.org/C118364021","wikidata":"https://www.wikidata.org/wiki/Q7139956","display_name":"Parser combinator","level":3,"score":0.4652226},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.45356697},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.45263967},{"id":"https://openalex.org/C34736171","wikidata":"https://www.wikidata.org/wiki/Q918333","display_name":"Preprocessor","level":2,"score":0.44772205},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.44407925},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.43686134},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.43132734},{"id":"https://openalex.org/C42560504","wikidata":"https://www.wikidata.org/wiki/Q15419395","display_name":"Top-down parsing","level":3,"score":0.4163222},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.40483233},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.13555044},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.072892696},{"id":"https://openalex.org/C187736073","wikidata":"https://www.wikidata.org/wiki/Q2920921","display_name":"Management","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/2048066.2048128","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":null,"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":71,"referenced_works":["https://openalex.org/W12969789","https://openalex.org/W1494019345","https://openalex.org/W1507155521","https://openalex.org/W1525606436","https://openalex.org/W1532939744","https://openalex.org/W1541251624","https://openalex.org/W1549379126","https://openalex.org/W1558044546","https://openalex.org/W1561032926","https://openalex.org/W1585231177","https://openalex.org/W1710690747","https://openalex.org/W1807333353","https://openalex.org/W187507574","https://openalex.org/W1952332000","https://openalex.org/W1967180522","https://openalex.org/W1971135355","https://openalex.org/W1972612110","https://openalex.org/W1997644097","https://openalex.org/W1999214372","https://openalex.org/W2003113483","https://openalex.org/W2006617204","https://openalex.org/W2009982135","https://openalex.org/W2016954568","https://openalex.org/W2026149021","https://openalex.org/W2029414465","https://openalex.org/W2036134187","https://openalex.org/W2055818134","https://openalex.org/W205696660","https://openalex.org/W2069942764","https://openalex.org/W2070929035","https://openalex.org/W2072325005","https://openalex.org/W2094810043","https://openalex.org/W2097355277","https://openalex.org/W2101880963","https://openalex.org/W2103919912","https://openalex.org/W2112000202","https://openalex.org/W2119838293","https://openalex.org/W2120789318","https://openalex.org/W2121937529","https://openalex.org/W2123763923","https://openalex.org/W2126267752","https://openalex.org/W2127321265","https://openalex.org/W2128967738","https://openalex.org/W2130195901","https://openalex.org/W2133675710","https://openalex.org/W2134826995","https://openalex.org/W2134949927","https://openalex.org/W2138615245","https://openalex.org/W2143238865","https://openalex.org/W2143741513","https://openalex.org/W2144258665","https://openalex.org/W2146146776","https://openalex.org/W2146763372","https://openalex.org/W2149935768","https://openalex.org/W2155062931","https://openalex.org/W2157151174","https://openalex.org/W2157771728","https://openalex.org/W2160080320","https://openalex.org/W2161565163","https://openalex.org/W2162422574","https://openalex.org/W2165448973","https://openalex.org/W2166182667","https://openalex.org/W2171002355","https://openalex.org/W2182394655","https://openalex.org/W2341980189","https://openalex.org/W2477378326","https://openalex.org/W30803841","https://openalex.org/W3200788958","https://openalex.org/W4247177090","https://openalex.org/W4254691308","https://openalex.org/W5815757"],"related_works":["https://openalex.org/W4291149798","https://openalex.org/W4285289289","https://openalex.org/W3185922486","https://openalex.org/W3143982968","https://openalex.org/W3021035844","https://openalex.org/W2952318476","https://openalex.org/W2772054157","https://openalex.org/W2470615404","https://openalex.org/W188199620","https://openalex.org/W1701650535"],"abstract_inverted_index":{"In":[0],"many":[1],"projects,":[2],"lexical":[3,37],"preprocessors":[4],"are":[5],"used":[6],"to":[7,18,31,49,61],"manage":[8],"different":[9],"variants":[10],"of":[11,78,88,114,154],"the":[12,79,89,111,121,145,150,155],"project":[13],"(using":[14,23],"conditional":[15,34],"compilation)":[16],"and":[17,36,137,140,149],"define":[19],"compile-time":[20],"code":[21,55,104],"transformations":[22],"macros).":[24],"Unfortunately,":[25],"while":[26],"being":[27],"a":[28,76,94],"simple":[29],"way":[30],"implement":[32,132],"variability,":[33,58],"compilation":[35],"macros":[38],"hinder":[39],"automatic":[40],"analysis,":[41,125],"even":[42],"though":[43],"such":[44,126],"analysis":[45],"is":[46],"urgently":[47],"needed":[48],"combat":[50],"variability-induced":[51],"complexity.":[52],"To":[53],"analyze":[54],"with":[56,158],"its":[57],"we":[59,92],"need":[60],"parse":[62,100],"it":[63],"without":[64,105],"preprocessing":[65],"it.":[66],"However,":[67],"current":[68],"parsing":[69,144],"solutions":[70],"use":[71],"unsound":[72],"heuristics,":[73],"support":[74],"only":[75],"subset":[77],"language,":[80],"or":[81],"suffer":[82],"from":[83],"exponential":[84],"explosion.":[85],"As":[86],"part":[87],"TypeChef":[90],"project,":[91],"contribute":[93],"novel":[95],"variability-aware":[96,128,133],"parser":[97,119],"that":[98],"can":[99],"almost":[101],"all":[102],"unpreprocessed":[103],"heuristics":[106],"in":[107],"practicable":[108],"time.":[109],"Beyond":[110],"obvious":[112],"task":[113],"detecting":[115],"syntax":[116],"errors,":[117],"our":[118],"paves":[120],"road":[122],"for":[123,135],"further":[124],"as":[127],"type":[129],"checking.":[130],"We":[131],"parsers":[134],"Java":[136],"GNU":[138],"C":[139],"demonstrate":[141],"practicability":[142],"by":[143],"product":[146],"line":[147],"MobileMedia":[148],"entire":[151],"X86":[152],"architecture":[153],"Linux":[156],"kernel":[157],"6065":[159],"variable":[160],"features.":[161]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2009093319","counts_by_year":[{"year":2024,"cited_by_count":6},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":7},{"year":2021,"cited_by_count":16},{"year":2020,"cited_by_count":12},{"year":2019,"cited_by_count":18},{"year":2018,"cited_by_count":23},{"year":2017,"cited_by_count":26},{"year":2016,"cited_by_count":24},{"year":2015,"cited_by_count":29},{"year":2014,"cited_by_count":25},{"year":2013,"cited_by_count":24},{"year":2012,"cited_by_count":16}],"updated_date":"2025-01-07T19:53:09.038582","created_date":"2016-06-24"}