{"id":"https://openalex.org/W2102112544","doi":"https://doi.org/10.1145/1449814.1449823","title":"Processing heterogeneous abstract syntax trees with the mutable class pattern","display_name":"Processing heterogeneous abstract syntax trees with the mutable class pattern","publication_year":2008,"publication_date":"2008-10-19","ids":{"openalex":"https://openalex.org/W2102112544","doi":"https://doi.org/10.1145/1449814.1449823","mag":"2102112544"},"language":"en","primary_location":{"id":"doi:10.1145/1449814.1449823","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1449814.1449823","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications","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/A5012545500","display_name":"N. Malitsky","orcid":null},"institutions":[{"id":"https://openalex.org/I200870766","display_name":"Brookhaven National Laboratory","ror":"https://ror.org/02ex6cf31","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I200870766","https://openalex.org/I39565521","https://openalex.org/I4210142672"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Nikolay Malitsky","raw_affiliation_strings":["Brookhaven National Laboratory, Upton, NY, USA","Brookhaven National Laboratory, Upton, NY, USA;"],"affiliations":[{"raw_affiliation_string":"Brookhaven National Laboratory, Upton, NY, USA","institution_ids":["https://openalex.org/I200870766"]},{"raw_affiliation_string":"Brookhaven National Laboratory, Upton, NY, USA;","institution_ids":["https://openalex.org/I200870766"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5012545500"],"corresponding_institution_ids":["https://openalex.org/I200870766"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.08910425,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"697","last_page":"702"},"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.9991000294685364,"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.9991000294685364,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9984999895095825,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9973999857902527,"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/computer-science","display_name":"Computer science","score":0.8327351212501526},{"id":"https://openalex.org/keywords/tree-traversal","display_name":"Tree traversal","score":0.773991584777832},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7145270705223083},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.7082860469818115},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.6279327273368835},{"id":"https://openalex.org/keywords/abstract-syntax-tree","display_name":"Abstract syntax tree","score":0.613777220249176},{"id":"https://openalex.org/keywords/scope","display_name":"Scope (computer science)","score":0.6134825944900513},{"id":"https://openalex.org/keywords/visitor-pattern","display_name":"Visitor pattern","score":0.6021086573600769},{"id":"https://openalex.org/keywords/extensibility","display_name":"Extensibility","score":0.5062243342399597},{"id":"https://openalex.org/keywords/abstract-syntax","display_name":"Abstract syntax","score":0.49595722556114197},{"id":"https://openalex.org/keywords/tree","display_name":"Tree (set theory)","score":0.44692230224609375},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.40737462043762207},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.27382105588912964},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.24649262428283691},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.23577794432640076},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.07583048939704895}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8327351212501526},{"id":"https://openalex.org/C140745168","wikidata":"https://www.wikidata.org/wiki/Q1210082","display_name":"Tree traversal","level":2,"score":0.773991584777832},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7145270705223083},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.7082860469818115},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.6279327273368835},{"id":"https://openalex.org/C58646249","wikidata":"https://www.wikidata.org/wiki/Q127380","display_name":"Abstract syntax tree","level":3,"score":0.613777220249176},{"id":"https://openalex.org/C2778012447","wikidata":"https://www.wikidata.org/wiki/Q1034415","display_name":"Scope (computer science)","level":2,"score":0.6134825944900513},{"id":"https://openalex.org/C48947383","wikidata":"https://www.wikidata.org/wiki/Q830719","display_name":"Visitor pattern","level":2,"score":0.6021086573600769},{"id":"https://openalex.org/C32833848","wikidata":"https://www.wikidata.org/wiki/Q4115054","display_name":"Extensibility","level":2,"score":0.5062243342399597},{"id":"https://openalex.org/C114408938","wikidata":"https://www.wikidata.org/wiki/Q333373","display_name":"Abstract syntax","level":3,"score":0.49595722556114197},{"id":"https://openalex.org/C113174947","wikidata":"https://www.wikidata.org/wiki/Q2859736","display_name":"Tree (set theory)","level":2,"score":0.44692230224609375},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.40737462043762207},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.27382105588912964},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.24649262428283691},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.23577794432640076},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.07583048939704895},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1449814.1449823","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1449814.1449823","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Sustainable cities and communities","score":0.7900000214576721,"id":"https://metadata.un.org/sdg/11"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":5,"referenced_works":["https://openalex.org/W1521422937","https://openalex.org/W1649645444","https://openalex.org/W1985707467","https://openalex.org/W2070821087","https://openalex.org/W2118300983"],"related_works":["https://openalex.org/W4389751695","https://openalex.org/W2077104824","https://openalex.org/W3176913510","https://openalex.org/W1524586070","https://openalex.org/W3138016835","https://openalex.org/W2536864162","https://openalex.org/W3197333277","https://openalex.org/W1625533892","https://openalex.org/W3149405943","https://openalex.org/W1599055565"],"abstract_inverted_index":{"The":[0,35,77],"Mutable":[1,39,66],"Class":[2,40,67],"Pattern":[3],"is":[4,79],"an":[5],"alternative":[6],"extensible":[7],"solution":[8],"to":[9,43,47,52,69],"the":[10,28,31,38,48,53,62,65,70,82],"Visitor":[11],"pattern":[12,68],"for":[13],"building":[14],"configurable":[15,84],"associations":[16],"of":[17,30,37,56,64,72],"heterogeneous":[18,73],"structures":[19],"with":[20],"diverse":[21],"algorithms.":[22],"Initially":[23],"it":[24],"was":[25],"introduced":[26],"in":[27],"framework":[29],"Unified":[32],"Accelerator":[33],"Libraries.":[34],"scope":[36],"however":[41],"appears":[42],"not":[44],"be":[45],"limited":[46],"modeling":[49],"applications":[50],"due":[51],"optimal":[54],"combination":[55],"several":[57],"approaches.":[58],"This":[59],"paper":[60],"presents":[61],"application":[63,78],"traversal":[71],"abstract":[74],"syntax":[75],"trees.":[76],"based":[80],"on":[81],"JastAdd":[83],"metacompiler":[85],"construction":[86],"system.":[87]},"counts_by_year":[{"year":2016,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
