Get quick answers to your questions about the article from our AI researcher chatbot
{'id': 'https://openalex.org/W1491178396', 'doi': None, 'title': 'Compilers: Principles, Techniques, and Tools', 'display_name': 'Compilers: Principles, Techniques, and Tools', 'publication_year': 1986, 'publication_date': '1986-01-01', 'ids': {'openalex': 'https://openalex.org/W1491178396', 'mag': '1491178396'}, 'language': 'en', 'primary_location': {'is_oa': False, 'landing_page_url': 'https://doi.acm.org/10.1145/6448', 'pdf_url': None, 'source': None, 'license': None, 'license_id': None, 'version': None, 'is_accepted': False, 'is_published': False}, 'type': 'book', 'type_crossref': 'book', 'indexed_in': [], 'open_access': {'is_oa': False, 'oa_status': 'closed', 'oa_url': None, 'any_repository_has_fulltext': False}, 'authorships': [{'author_position': 'first', 'author': {'id': 'https://openalex.org/A5047516262', 'display_name': 'Alfred V. Aho', 'orcid': None}, 'institutions': [{'id': 'https://openalex.org/I72090969', 'display_name': 'Nokia (United States)', 'ror': 'https://ror.org/038km2573', 'country_code': 'US', 'type': 'company', 'lineage': ['https://openalex.org/I2738502077', 'https://openalex.org/I72090969']}], 'countries': ['US'], 'is_corresponding': False, 'raw_author_name': 'Alfred V. Aho', 'raw_affiliation_strings': ['AT&T Bell Labs.,Murray Hill, NJ'], 'affiliations': [{'raw_affiliation_string': 'AT&T Bell Labs.,Murray Hill, NJ', 'institution_ids': ['https://openalex.org/I72090969']}]}, {'author_position': 'middle', 'author': {'id': 'https://openalex.org/A5004544151', 'display_name': 'Ravi Sethi', 'orcid': None}, 'institutions': [{'id': 'https://openalex.org/I72090969', 'display_name': 'Nokia (United States)', 'ror': 'https://ror.org/038km2573', 'country_code': 'US', 'type': 'company', 'lineage': ['https://openalex.org/I2738502077', 'https://openalex.org/I72090969']}], 'countries': ['US'], 'is_corresponding': False, 'raw_author_name': 'Ravi Sethi', 'raw_affiliation_strings': ['AT&T Bell Labs.,Murray Hill, NJ'], 'affiliations': [{'raw_affiliation_string': 'AT&T Bell Labs.,Murray Hill, NJ', 'institution_ids': ['https://openalex.org/I72090969']}]}, {'author_position': 'last', 'author': {'id': 'https://openalex.org/A5089065417', 'display_name': 'Jeffrey D. Ullman', 'orcid': 'https://orcid.org/0000-0002-1847-3426'}, 'institutions': [{'id': 'https://openalex.org/I97018004', 'display_name': 'Stanford University', 'ror': 'https://ror.org/00f54p054', 'country_code': 'US', 'type': 'education', 'lineage': ['https://openalex.org/I97018004']}], 'countries': ['US'], 'is_corresponding': False, 'raw_author_name': 'Jeffrey D. Ullman', 'raw_affiliation_strings': ['Stanford University'], 'affiliations': [{'raw_affiliation_string': 'Stanford University', 'institution_ids': ['https://openalex.org/I97018004']}]}], 'institution_assertions': [], 'countries_distinct_count': 1, 'institutions_distinct_count': 2, 'corresponding_author_ids': [], 'corresponding_institution_ids': [], 'apc_list': None, 'apc_paid': None, 'fwci': 42.869, 'has_fulltext': False, 'cited_by_count': 8331, 'citation_normalized_percentile': {'value': 0.996705, 'is_in_top_1_percent': True, 'is_in_top_10_percent': True}, 'cited_by_percentile_year': {'min': 99, 'max': 100}, 'biblio': {'volume': None, 'issue': None, 'first_page': None, 'last_page': None}, 'is_retracted': False, 'is_paratext': False, 'primary_topic': {'id': 'https://openalex.org/T10126', 'display_name': 'Logic, programming, and type systems', 'score': 0.905, '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.905, '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/compiler-construction', 'display_name': 'Compiler construction', 'score': 0.65700006}, {'id': 'https://openalex.org/keywords/lexical-analysis', 'display_name': 'Lexical analysis', 'score': 0.608453}, {'id': 'https://openalex.org/keywords/syntax-error', 'display_name': 'Syntax error', 'score': 0.5596499}], 'concepts': [{'id': 'https://openalex.org/C41008148', 'wikidata': 'https://www.wikidata.org/wiki/Q21198', 'display_name': 'Computer science', 'level': 0, 'score': 0.8242469}, {'id': 'https://openalex.org/C186644900', 'wikidata': 'https://www.wikidata.org/wiki/Q194152', 'display_name': 'Parsing', 'level': 2, 'score': 0.7853968}, {'id': 'https://openalex.org/C199360897', 'wikidata': 'https://www.wikidata.org/wiki/Q9143', 'display_name': 'Programming language', 'level': 1, 'score': 0.75100243}, {'id': 'https://openalex.org/C169590947', 'wikidata': 'https://www.wikidata.org/wiki/Q47506', 'display_name': 'Compiler', 'level': 2, 'score': 0.677931}, {'id': 'https://openalex.org/C9957790', 'wikidata': 'https://www.wikidata.org/wiki/Q47506', 'display_name': 'Compiler construction', 'level': 3, 'score': 0.65700006}, {'id': 'https://openalex.org/C60048249', 'wikidata': 'https://www.wikidata.org/wiki/Q37437', 'display_name': 'Syntax', 'level': 2, 'score': 0.62148327}, {'id': 'https://openalex.org/C176982825', 'wikidata': 'https://www.wikidata.org/wiki/Q835922', 'display_name': 'Lexical analysis', 'level': 2, 'score': 0.608453}, {'id': 'https://openalex.org/C58646249', 'wikidata': 'https://www.wikidata.org/wiki/Q127380', 'display_name': 'Abstract syntax tree', 'level': 3, 'score': 0.5731815}, {'id': 'https://openalex.org/C11742125', 'wikidata': 'https://www.wikidata.org/wiki/Q1195374', 'display_name': 'Syntax error', 'level': 4, 'score': 0.5596499}, {'id': 'https://openalex.org/C53893814', 'wikidata': 'https://www.wikidata.org/wiki/Q7378909', 'display_name': 'Rule-based machine translation', 'level': 2, 'score': 0.5341225}, {'id': 'https://openalex.org/C26022165', 'wikidata': 'https://www.wikidata.org/wiki/Q8091', 'display_name': 'Grammar', 'level': 2, 'score': 0.45197982}, {'id': 'https://openalex.org/C204321447', 'wikidata': 'https://www.wikidata.org/wiki/Q30642', 'display_name': 'Natural language processing', 'level': 1, 'score': 0.44233114}, {'id': 'https://openalex.org/C154945302', 'wikidata': 'https://www.wikidata.org/wiki/Q11660', 'display_name': 'Artificial intelligence', 'level': 1, 'score': 0.43868655}, {'id': 'https://openalex.org/C41895202', 'wikidata': 'https://www.wikidata.org/wiki/Q8162', 'display_name': 'Linguistics', 'level': 1, 'score': 0.20252159}, {'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': [{'is_oa': False, 'landing_page_url': 'https://doi.acm.org/10.1145/6448', 'pdf_url': None, 'source': None, 'license': None, 'license_id': None, 'version': None, 'is_accepted': False, 'is_published': False}], 'best_oa_location': None, 'sustainable_development_goals': [{'score': 0.55, 'display_name': 'Quality education', 'id': 'https://metadata.un.org/sdg/4'}], 'grants': [], 'datasets': [], 'versions': [], 'referenced_works_count': 0, 'referenced_works': [], 'related_works': ['https://openalex.org/W3148529197', 'https://openalex.org/W2752885492', 'https://openalex.org/W2293624369', 'https://openalex.org/W2144344516', 'https://openalex.org/W2129962996', 'https://openalex.org/W2114067856', 'https://openalex.org/W2112482891', 'https://openalex.org/W2109507516', 'https://openalex.org/W2092483417', 'https://openalex.org/W2088017390', 'https://openalex.org/W2043100293', 'https://openalex.org/W2011039300', 'https://openalex.org/W2002089154', 'https://openalex.org/W1982205631', 'https://openalex.org/W1964071625', 'https://openalex.org/W1649645444', 'https://openalex.org/W1644882639', 'https://openalex.org/W1555915743', 'https://openalex.org/W1553894716', 'https://openalex.org/W1514258760'], 'abstract_inverted_index': {'1': [0, 37, 42], 'Introduction': [1, 49, 140, 155, 284, 289, 395], '1.1': [2], 'Language': [3, 31, 328, 572], 'Processors': [4], '1.2': [5], 'The': [6, 12, 18, 83, 101, 326, 389, 570], 'Structure': [7], 'of': [8, 14, 20, 26, 35, 76, 85, 94, 98, 116, 122, 128, 175, 196, 209, 222, 234, 253, 270, 305, 321, 343, 377, 392, 401, 423, 452, 506, 511, 533, 556], 'a': [9, 22, 117, 146, 322], 'Compiler': [10, 23, 27], '1.3': [11], 'Evolution': [13], 'Programming': [15, 30, 373], 'Languages': [16], '1.4': [17], 'Science': [19], 'Building': [21], '1.5': [24], 'Applications': [25, 195], 'Technology': [28], '1.6': [29], 'Basics': [32], '1.7': [33], 'Summary': [34, 75, 127, 174, 208, 252, 304, 376, 422, 451, 510, 555], 'Chapter': [36, 41, 77, 129, 134, 176, 181, 210, 215, 254, 259, 306, 311, 378, 383, 424, 429, 453, 458, 512, 517, 557, 562], '1.8': [38], 'References': [39, 132, 179, 213, 257, 309, 381, 427, 456, 515, 560], 'for': [40, 61, 133, 180, 192, 214, 249, 258, 310, 369, 382, 428, 457, 462, 516, 561, 586, 591, 597], '2': [43, 78], 'A': [44, 59, 347, 530, 537, 564, 565], 'Simple': [45, 62, 159, 348, 538], 'Syntax-Directed': [46, 54, 184, 187, 197, 200], 'Translator': [47, 60], '2.1': [48], '2.2': [50], 'Syntax': [51, 137, 223], 'Definition': [52], '2.3': [53], 'Translation': [55, 185, 198, 201, 233], '2.4': [56], 'Parsing': [57, 150, 153], '2.5': [58], 'Expressions': [63, 111, 235, 370, 587, 593], '2.6': [64], 'Lexical': [65, 80, 87, 576], 'Analysis': [66, 81, 138, 398, 403, 417, 420, 488, 521, 544, 548], '2.7': [67], 'Symbol': [68, 579], 'Tables': [69, 580], '2.8': [70], 'Intermediate': [71, 247, 584, 595], 'Code': [72, 227, 248, 314, 323, 334, 349, 367, 445, 585, 590, 596], 'Generation': [73, 219, 315, 368], '2.9': [74], '3': [79, 130, 135], '3.1': [82], 'Role': [84], 'the': [86, 278, 319, 332, 603], 'Analyzer': [88, 577], '3.2': [89], 'Input': [90], 'Buffering': [91], '3.3': [92], 'Specification': [93], 'Tokens': [95, 99], '3.4': [96], 'Recognition': [97], '3.5': [100], 'Lexical-Analyzer': [102, 118], 'Generator': [103, 119, 324, 350], 'Lex': [104], '3.6': [105], 'Finite': [106], 'Automata': [107, 113], '3.7': [108], 'From': [109], 'Regular': [110], 'to': [112, 156, 274, 285, 290, 396], '3.8': [114], 'Design': [115, 320], '3.9': [120], 'Optimization': [121, 342, 353, 393], 'DFA-Based': [123], 'Pattern': [124], 'Matchers': [125], '3.10': [126], '3.11': [131], '4': [136, 177, 182], '4.1': [139], '4.2': [141], 'Context-Free': [142], 'Grammars': [143, 169], '4.3': [144], 'Writing': [145], 'Grammar': [147], '4.4': [148], 'Top-Down': [149], '4.5': [151], 'Bottom-Up': [152], '4.6': [154], 'LR': [157, 160, 164], 'Parsing:': [158], '4.7': [161], 'More': [162], 'Powerful': [163], 'Parsers': [165], '4.8': [166], 'Using': [167], 'Ambiguous': [168], '4.9': [170], 'Parser': [171, 600], 'Generators': [172], '4.10': [173], '4.11': [178], '5': [183, 211, 216], '5.1': [186], 'Definitions': [188], '5.2': [189], 'Evaluation': [190], 'Orders': [191], "SDD's": [193, 206], '5.3': [194], '5.4': [199], 'Schemes': [202], '5.5': [203], 'Implementing': [204], 'L-Attributed': [205], '5.6': [207], '5.7': [212], '6': [217, 255, 260], 'Intermediate-Code': [218], '6.1': [220], 'Variants': [221], 'Trees': [224], '6.2': [225], 'Three-Address': [226], '6.3': [228], 'Types': [229, 582], 'and': [230, 338, 357, 464, 581], 'Declarations': [231], '6.4': [232], '6.5': [236], 'Type': [237], 'Checking': [238], '6.6': [239], 'Control': [240], 'Flow': [241, 339, 413, 535], '6.7': [242], 'Backpatching': [243], '6.8': [244], 'Switch-Statements': [245], '6.9': [246], 'Procedures': [250], '6.10': [251], '6.11': [256], '7': [261, 307, 312], 'Run-Time': [262], 'Environments': [263], '7.1': [264], 'Storage': [265], 'Organization': [266], '7.2': [267], 'Stack': [268, 279], 'Allocation': [269, 356], 'Space': [271], '7.3': [272], 'Access': [273], 'Nonlocal': [275], 'Data': [276, 483, 534], 'on': [277], '7.4': [280], 'Heap': [281], 'Management': [282], '7.5': [283], 'Garbage': [286, 295, 301], 'Collection': [287, 292, 296, 302], '7.6': [288], 'Trace-Based': [291], '7.7': [293], 'Short-Pause': [294], '7.8': [297], 'Advanced': [298], 'Topics': [299], 'in': [300, 318, 331, 412], '7.9': [303], '7.10': [308], '8': [313, 379, 384], '8.1': [316], 'Issues': [317], '8.2': [325], 'Target': [327, 333], '8.3': [329], 'Addresses': [330], '8.4': [335], 'Basic': [336, 344, 467, 523], 'Blocks': [337, 345], 'Graphs': [340, 414], '8.5': [341], '8.6': [346], '8.7': [351], 'Peephole': [352], '8.8': [354], 'Register': [355], 'Assignment': [358], '8.9': [359], 'Instruction': [360], 'Selection': [361], 'by': [362, 552], 'Tree': [363], 'Rewriting': [364], '8.10': [365], 'Optimal': [366], '8.11': [371], 'Dynamic': [372], 'Code-Generation': [374], '8.12': [375], '8.13': [380], '9': [385, 425, 430], 'Machine-Independent': [386], 'Optimizations': [387, 502], '9.1': [388], 'Principal': [390], 'Sources': [391], '9.2': [394], 'Data-Flow': [397, 402], '9.3': [399], 'Foundations': [400], '9.4': [404], 'Constant': [405], 'Propagation': [406], '9.5': [407], 'Partial-Redundancy': [408], 'Elimination': [409], '9.6': [410], 'Loops': [411, 497], '9.7': [415], 'Region-Based': [416], '9.8': [418], 'Symbolic': [419], '9.9': [421], '9.10': [426], '10': [431, 454, 459], 'Instruction-Level': [432], 'Parallelism': [433, 463, 492], '10.1': [434], 'Processor': [435], 'Architectures': [436], '10.2': [437], 'Code-Scheduling': [438], 'Constraints': [439], '10.3': [440], 'Basic-Block': [441], 'Scheduling': [442, 446], '10.4': [443], 'Global': [444], '10.5': [447], 'Software': [448], 'Pipelining': [449, 499], '10.6': [450], '10.7': [455], '11': [460, 513, 518], 'Optimizing': [461], 'Locality': [465, 501], '11.1': [466], 'Concepts': [468, 524], '11.2': [469], 'Matrix': [470], 'Multiply:': [471], 'An': [472], 'In-Depth': [473], 'Example': [474], '11.3': [475], 'Iteration': [476], 'Spaces': [477], '11.4': [478], 'Affine': [479, 507], 'Array': [480, 486], 'Indexes': [481], '11.5': [482], 'Reuse': [484], '11.6': [485], 'Data-Dependence': [487], '11.7': [489], 'Finding': [490, 607], 'Synchronization-Free': [491], '11.8': [493], 'Synchronization': [494], 'Between': [495], 'Parallel': [496], '11.9': [498], '11.10': [500], '11.11': [503], 'Other': [504], 'Uses': [505], 'Transforms': [508], '11.12': [509], '11.13': [514], '12': [519, 558, 563], 'Interprocedural': [520, 527, 543], '12.1': [522], '12.2': [525], 'Why': [526], 'Analysis?': [528], '12.3': [529], 'Logical': [531], 'Representation': [532], '12.4': [536], 'Pointer-Analysis': [539], 'Algorithm': [540], '12.5': [541], 'Context-Insensitive': [542], '12.6': [545], 'Context-Sensitive': [546], 'Pointer': [547], '12.7': [549], 'Datalog': [550], 'Implementation': [551], "BDD's": [553], '12.8': [554], '12.9': [559], 'Complete': [566], 'Front': [567, 604], 'End': [568, 605], 'A.1': [569], 'Source': [571], 'A.2': [573], 'Main': [574], 'A.3': [575], 'A.4': [578], 'A.5': [583], 'A.6': [588], 'Jumping': [589], 'Boolean': [592], 'A.7': [594], 'Statements': [598], 'A.8': [599], 'A.9': [601], 'Creating': [602], 'B': [606], 'Linearly': [608], 'Independent': [609], 'Solutions': [610], 'Index': [611]}, 'cited_by_api_url': 'https://api.openalex.org/works?filter=cites:W1491178396', 'counts_by_year': [{'year': 2024, 'cited_by_count': 59}, {'year': 2023, 'cited_by_count': 83}, {'year': 2022, 'cited_by_count': 100}, {'year': 2021, 'cited_by_count': 140}, {'year': 2020, 'cited_by_count': 152}, {'year': 2019, 'cited_by_count': 127}, {'year': 2018, 'cited_by_count': 145}, {'year': 2017, 'cited_by_count': 165}, {'year': 2016, 'cited_by_count': 184}, {'year': 2015, 'cited_by_count': 214}, {'year': 2014, 'cited_by_count': 260}, {'year': 2013, 'cited_by_count': 253}, {'year': 2012, 'cited_by_count': 294}], 'updated_date': '2024-12-25T20:01:22.740833', 'created_date': '2016-06-24'}