Compiler construction: principles and practice
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Boston [u.a.]
Course Technology Cengage Learning
2009
|
Ausgabe: | [Repr.] |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | X, 582 S. |
ISBN: | 9780534939724 0534939724 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035804640 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | t | ||
008 | 091103s2009 |||| 00||| eng d | ||
020 | |a 9780534939724 |9 978-0-534-93972-4 | ||
020 | |a 0534939724 |9 0-534-93972-4 | ||
035 | |a (OCoLC)634765894 | ||
035 | |a (DE-599)BVBBV035804640 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-473 |a DE-634 | ||
084 | |a ST 255 |0 (DE-625)143629: |2 rvk | ||
100 | 1 | |a Louden, Kenneth C. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Compiler construction |b principles and practice |c Kenneth C. Louden |
250 | |a [Repr.] | ||
264 | 1 | |a Boston [u.a.] |b Course Technology Cengage Learning |c 2009 | |
300 | |a X, 582 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Übersetzerbau |0 (DE-588)4121803-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Compiler |0 (DE-588)4148248-7 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Compiler |0 (DE-588)4148248-7 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Übersetzerbau |0 (DE-588)4121803-6 |D s |
689 | 1 | |5 DE-604 | |
856 | 4 | 2 | |m Digitalisierung UB Bamberg |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018663705&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-018663705 |
Datensatz im Suchindex
_version_ | 1804140752144433152 |
---|---|
adam_text | Contents
1
INTRODUCTION
I
I
.
I Why Compilers? A Brief History
2
1
.2
Programs Related to Compilers
4
1
.3
The Translation Process
7
1
.4
Major Data Structures in a Compiler 1
3
1.5
Other Issues in Compiler Structure
14
1
.6
Bootstrapping and Porting 1
8
1.7
The TINY Sample Language and Compiler
22
1
.8
С
-Minus:
A Language for a Compiler Project
26
Exercises
27
Notes and References
29
2
SCANNING
31
2.
1 The Scanning Process
32
2.2
Regular Expressions
34
2.3
Finite Automata
47
2.4
From Regular Expressions to DFAs
64
2.5
Implementation of a TINY Scanner
75
2.6
Use of Lex to Generate a Scanner Automatically
8
1
Exercises
89
Programming Exercises
93
Notes and References
94
3
CONTEXT-FREE GRAMMARS AND PARSING
95
IV
3.
1 The Parsing Process
96
3.2
Context-Free Grammars
97
3.3
Parse Trees and Abstract Syntax Trees 1
06
3.4
Ambiguity 1
14
3.5
Extended Notations: EBNF and Syntax Diagrams
123
3.6
Formal Properties of Context-Free Languages 1
28
3.7
Syntax of the TINY Language 1
33
Exercises 1
38
Notes and References 1
42
CONTENTS
4
TOP-DOWN PARSING
143
4.1
Тор
-Down
Parsing by Recursive-Descent
144
4.2
LL(1) Parsing
152
4.3
First and Follow Sets 1
68
4.4
A Recursive-Descent Parser for the TINY Language
180
4.5
Error Recovery in Top-Down Parsers 1
83
Exercises 1
89
Programming Exercises 1
93
Notes and References 1
96
5
BOTTOM-UP PARSING
197
5.
1 Overview of Bottom-Up Parsing 1
98
5.2
Finite Automata of LR(0) Items and LR(0) Parsing
20
1
5.3
SLR(l) Parsing
210
5.4
General LR(1) and LALR(l) Parsing
217
5.5
Yace:
An LALR(I) Parser Generator
226
5.6
Generation of a TINY Parser Using
Yace
243
5.7
Error Recovery in Bottom-Up Parsers
245
Exercises
250
Programming Exercises
254
Notes and References
256
6
SEMANTIC ANALYSIS
257
6.
1 Attributes and Attribute Grammars
259
6.2
Algorithms for Attribute Computation
270
6.3
The Symbol Table
295
6.4
Data Types and Type Checking
ЗІЗ
6.5
A Semantic Analyzer for the TINY Language
334
Exercises
339
Programming Exercises
342
Notes and References
343
7
RUNTIME ENVIRONMENTS
345
7.
1 Memory Organization During Program Execution
346
7.2
Fully Static Runtime Environments
349
7.3
Stack-Based Runtime Environments
352
7.4
Dynamic Memory
373
7.5
Parameter Passing Mechanisms
38
1
7.6
A Runtime Environment for the TINY Language
386
Exercises
388
Programming Exercises
395
Notes and References
396
vi
CONTENTS
8
CODE
GENERATION
397
8.
1 Intermediate Code and Data Structures for Code Generation
398
8.2
Basic Code Generation Techniques
407
8.3
Code Generation of Data Structure References
416
8.4
Code Generation of Control Statements and Logical Expressions
428
8.5
Code Generation of Procedure and Function Calls
436
8.6
Code Generation in Commercial Compilers: Two Case Studies
443
8.7
TM: A Simple Target Machine
453
8.8
A Code Generator for the TINY Language
459
8.9
A Survey of Code Optimization Techniques
468
8.10
Simple Optimizations for the TINY Code Generator
481
Exercises
484
Programming Exercises
488
Notes and References
489
Appendix A: A COMPILER PROJECT
491
A. I Lexical Conventions of
С
— 491
A.2 Syntax and Semantics of C—
492
A.3 Sample Programs in C—
496
A.4 A TINY Machine Runtime Environment for the C— Language
497
A.5 Programming Projects Using C— and TM
500
Appendix ft TINY COMPILER LISTING
502
Appendix C: TINY MACHINE SIMULATOR LISTING S45
Bibliography SS8
Index
562
|
any_adam_object | 1 |
author | Louden, Kenneth C. |
author_facet | Louden, Kenneth C. |
author_role | aut |
author_sort | Louden, Kenneth C. |
author_variant | k c l kc kcl |
building | Verbundindex |
bvnumber | BV035804640 |
classification_rvk | ST 255 |
ctrlnum | (OCoLC)634765894 (DE-599)BVBBV035804640 |
discipline | Informatik |
edition | [Repr.] |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01381nam a2200373 c 4500</leader><controlfield tag="001">BV035804640</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">091103s2009 |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780534939724</subfield><subfield code="9">978-0-534-93972-4</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0534939724</subfield><subfield code="9">0-534-93972-4</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)634765894</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV035804640</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-473</subfield><subfield code="a">DE-634</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 255</subfield><subfield code="0">(DE-625)143629:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Louden, Kenneth C.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Compiler construction</subfield><subfield code="b">principles and practice</subfield><subfield code="c">Kenneth C. Louden</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">[Repr.]</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Boston [u.a.]</subfield><subfield code="b">Course Technology Cengage Learning</subfield><subfield code="c">2009</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">X, 582 S.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Übersetzerbau</subfield><subfield code="0">(DE-588)4121803-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Compiler</subfield><subfield code="0">(DE-588)4148248-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Compiler</subfield><subfield code="0">(DE-588)4148248-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Übersetzerbau</subfield><subfield code="0">(DE-588)4121803-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bamberg</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018663705&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-018663705</subfield></datafield></record></collection> |
id | DE-604.BV035804640 |
illustrated | Not Illustrated |
indexdate | 2024-07-09T22:04:58Z |
institution | BVB |
isbn | 9780534939724 0534939724 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-018663705 |
oclc_num | 634765894 |
open_access_boolean | |
owner | DE-473 DE-BY-UBG DE-634 |
owner_facet | DE-473 DE-BY-UBG DE-634 |
physical | X, 582 S. |
publishDate | 2009 |
publishDateSearch | 2009 |
publishDateSort | 2009 |
publisher | Course Technology Cengage Learning |
record_format | marc |
spelling | Louden, Kenneth C. Verfasser aut Compiler construction principles and practice Kenneth C. Louden [Repr.] Boston [u.a.] Course Technology Cengage Learning 2009 X, 582 S. txt rdacontent n rdamedia nc rdacarrier Übersetzerbau (DE-588)4121803-6 gnd rswk-swf Compiler (DE-588)4148248-7 gnd rswk-swf Compiler (DE-588)4148248-7 s DE-604 Übersetzerbau (DE-588)4121803-6 s Digitalisierung UB Bamberg application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018663705&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Louden, Kenneth C. Compiler construction principles and practice Übersetzerbau (DE-588)4121803-6 gnd Compiler (DE-588)4148248-7 gnd |
subject_GND | (DE-588)4121803-6 (DE-588)4148248-7 |
title | Compiler construction principles and practice |
title_auth | Compiler construction principles and practice |
title_exact_search | Compiler construction principles and practice |
title_full | Compiler construction principles and practice Kenneth C. Louden |
title_fullStr | Compiler construction principles and practice Kenneth C. Louden |
title_full_unstemmed | Compiler construction principles and practice Kenneth C. Louden |
title_short | Compiler construction |
title_sort | compiler construction principles and practice |
title_sub | principles and practice |
topic | Übersetzerbau (DE-588)4121803-6 gnd Compiler (DE-588)4148248-7 gnd |
topic_facet | Übersetzerbau Compiler |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018663705&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT loudenkennethc compilerconstructionprinciplesandpractice |