The definitive ANTLR4 reference:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Dallas, Tex. [u.a.]
Pragmatic Bookshelf
2012
|
Schriftenreihe: | The Pragmatic programmers
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XX, 361, 305 S. Ill., graph. Darst. |
ISBN: | 9781934356999 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV040765058 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | t | ||
008 | 130220s2012 ad|| |||| 00||| eng d | ||
020 | |a 9781934356999 |9 978-1-93435-699-9 | ||
035 | |a (DE-599)BSZ378848933 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
082 | 0 | |a 005.45 | |
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
084 | |a ST 255 |0 (DE-625)143629: |2 rvk | ||
084 | |a DAT 356f |2 stub | ||
084 | |a DAT 385f |2 stub | ||
100 | 1 | |a Parr, Terence |e Verfasser |0 (DE-588)139999906 |4 aut | |
245 | 1 | 0 | |a The definitive ANTLR4 reference |c Terence Parr |
264 | 1 | |a Dallas, Tex. [u.a.] |b Pragmatic Bookshelf |c 2012 | |
300 | |a XX, 361, 305 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a The Pragmatic programmers | |
650 | 0 | 7 | |a Syntaktische Analyse |0 (DE-588)4058778-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Parser |0 (DE-588)4125056-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Formale Grammatik |0 (DE-588)4154991-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwarewerkzeug |0 (DE-588)4116526-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Java |g Programmiersprache |0 (DE-588)4401313-9 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Formale Grammatik |0 (DE-588)4154991-0 |D s |
689 | 0 | 1 | |a Syntaktische Analyse |0 (DE-588)4058778-2 |D s |
689 | 0 | 2 | |a Java |g Programmiersprache |0 (DE-588)4401313-9 |D s |
689 | 0 | 3 | |a Softwarewerkzeug |0 (DE-588)4116526-3 |D s |
689 | 0 | 4 | |a Parser |0 (DE-588)4125056-4 |D s |
689 | 0 | |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=025743568&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-025743568 |
Datensatz im Suchindex
_version_ | 1804150092966395904 |
---|---|
adam_text | Contents
Acknowledgments
........... ix
Welcome Aboard!
............ xi
Part I
—
Introducing ANTLR
and Computer Languages
1.
Meet ANTLR
............. 3
1.1
Installing ANTLR
3
1.2
Executing ANTLR and Testing Recognizers
6
2.
The Big Picture
............ 9
2.1
Let s Get
Meta!
9
2.2
Implementing Parsers
1
1
2.3
You Can t Put Too Much Water into a Nuclear Reactor
13
2.4
Building Language Applications Using Parse Trees
16
2.5
Parse-Tree Listeners and Visitors
17
3.
A Starter ANTLR Project
.......... 21
3.1
The ANTLR Tool, Runtime, and Generated Code
22
3.2
Testing the Generated Parser
24
3.3
Integrating a Generated Parser into a Java Program
26
3.4
Building a Language Application
27
4.
A Quick Tour
............ 31
4.1
Matching an Arithmetic Expression Language
32
4.2
Building a Calculator Using a Visitor
38
4.3
Building a Translator with a Listener
42
4.4
Making Things Happen During the Parse
46
4.5
Cool Lexical Features
50
vi
· Contents
Part II
—
Developing Language Applications
with ANTLR Grammars
5.
Designing Grammars
..........57
5.1
Deriving Grammars from Language Samples
58
5.2
Using Existing Grammars as a Guide
60
5.3
Recognizing Common Language Patterns with ANTLR
Grammars
61
5.4
Dealing with Precedence, Left Recursion, and
Associativity
69
5.5
Recognizing Common Lexical Structures
72
5.6
Drawing the Line Between Lexer and Parser
79
6.
Exploring Some Real Grammars
........83
6.1
Parsing Comma-Separated Values
84
6.2
Parsing JSON
86
6.3
Parsing DOT
93
6.4
Parsing Cymbol
98
6.5
Parsing
R
102
7.
Decoupling Grammars from Application-Specific Code
. . 109
7.1
Evolving from Embedded Actions to Listeners HO
7.2
Implementing Applications with Parse-Tree Listeners
112
7.3
Implementing Applications with Visitors H5
7.4
Labeling Rule Alternatives for Precise Event Methods
117
7.5
Sharing Information Among Event Methods
119
8.
Building Some Real Language Applications
.....
I27
8.1
Loading CSV Data
127
8.2
Translating JSON to XML
130
8.3
Generating a Call Graph
134
8.4
Validating Program Symbol Usage
138
Part III
—
Advanced Topics
9.
Error Reporting and Recovery
........149
9.1
A Parade of Errors
149
9.2
Altering and Redirecting ANTLR Error Messages
153
9.3
Automatic Error Recovery Strategy
158
Contents ·
vii
9.4
Error Alternatives
170
9.5
Altering ANTLR s Error Handling Strategy
171
10.
Attributes and Actions
.......... 175
10.1
Building a Calculator with Grammar Actions
176
10.2
Accessing Token and Rule Attributes
182
10.3
Recognizing Languages Whose Keywords Aren t Fixed
185
11.
Altering the Parse with Semantic Predicates
. . . . 189
11.1
Recognizing Multiple Language Dialects
190
11.2
Deactivating Tokens
193
11.3
Recognizing Ambiguous Phrases
196
12.
Wielding Lexical Black Magic
........ 203
12.1
Broadcasting Tokens on Different Channels
204
12.2
Context-sensitive Lexical Problems
208
12.3
Islands in the Stream
219
12.4
Parsing and Lexing XML
224
Part IV
—
ANTLR Reference
13.
Exploring the Runtime API
......... 235
13.1
Library Package Overview
235
13.2
Recognizers
236
13.3
Input Streams of Characters and Tokens
238
13.4
Tokens and Token Factories
239
13.5
Parse Trees
241
13.6
Error Listeners and Strategies
242
13.7
Maximizing Parser Speed
243
13.8
Unbuffered Character and Token Streams
243
13.9
Altering ANTLR s Code Generation
246
14.
Removing Direct Left Recursion
....... 247
14.1
Direct Left-Recursive Alternative Patterns
248
14.2
Left-Recursive Rule Transformations
249
15.
Grammar Reference
.......... 253
15.1
Grammar Lexicon
253
15.2
Grammar Structure
256
15.3
Parser Rules
261
15.4
Actions and Attributes
271
15.5
Lexer Rules
277
viii
· Contents
15.6
Wildcard
Operator and Nongreedy Subrules
283
15.7
Semantic
Predicates
286
15.8
Options
292
15.9
ANTLR
Tool Command-Line Options
294
Al.
Bibliography
............ 299
Index
.............. 301
|
any_adam_object | 1 |
author | Parr, Terence |
author_GND | (DE-588)139999906 |
author_facet | Parr, Terence |
author_role | aut |
author_sort | Parr, Terence |
author_variant | t p tp |
building | Verbundindex |
bvnumber | BV040765058 |
classification_rvk | ST 230 ST 255 |
classification_tum | DAT 356f DAT 385f |
ctrlnum | (DE-599)BSZ378848933 |
dewey-full | 005.45 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.45 |
dewey-search | 005.45 |
dewey-sort | 15.45 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01810nam a2200445 c 4500</leader><controlfield tag="001">BV040765058</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">130220s2012 ad|| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781934356999</subfield><subfield code="9">978-1-93435-699-9</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BSZ378848933</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="082" ind1="0" ind2=" "><subfield code="a">005.45</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</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="084" ind1=" " ind2=" "><subfield code="a">DAT 356f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 385f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Parr, Terence</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)139999906</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">The definitive ANTLR4 reference</subfield><subfield code="c">Terence Parr</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Dallas, Tex. [u.a.]</subfield><subfield code="b">Pragmatic Bookshelf</subfield><subfield code="c">2012</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XX, 361, 305 S.</subfield><subfield code="b">Ill., graph. Darst.</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="490" ind1="0" ind2=" "><subfield code="a">The Pragmatic programmers</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Syntaktische Analyse</subfield><subfield code="0">(DE-588)4058778-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Parser</subfield><subfield code="0">(DE-588)4125056-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Formale Grammatik</subfield><subfield code="0">(DE-588)4154991-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwarewerkzeug</subfield><subfield code="0">(DE-588)4116526-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Java</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4401313-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Formale Grammatik</subfield><subfield code="0">(DE-588)4154991-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Syntaktische Analyse</subfield><subfield code="0">(DE-588)4058778-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Java</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4401313-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">Softwarewerkzeug</subfield><subfield code="0">(DE-588)4116526-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="4"><subfield code="a">Parser</subfield><subfield code="0">(DE-588)4125056-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" 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=025743568&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-025743568</subfield></datafield></record></collection> |
id | DE-604.BV040765058 |
illustrated | Illustrated |
indexdate | 2024-07-10T00:33:26Z |
institution | BVB |
isbn | 9781934356999 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-025743568 |
open_access_boolean | |
physical | XX, 361, 305 S. Ill., graph. Darst. |
publishDate | 2012 |
publishDateSearch | 2012 |
publishDateSort | 2012 |
publisher | Pragmatic Bookshelf |
record_format | marc |
series2 | The Pragmatic programmers |
spelling | Parr, Terence Verfasser (DE-588)139999906 aut The definitive ANTLR4 reference Terence Parr Dallas, Tex. [u.a.] Pragmatic Bookshelf 2012 XX, 361, 305 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier The Pragmatic programmers Syntaktische Analyse (DE-588)4058778-2 gnd rswk-swf Parser (DE-588)4125056-4 gnd rswk-swf Formale Grammatik (DE-588)4154991-0 gnd rswk-swf Softwarewerkzeug (DE-588)4116526-3 gnd rswk-swf Java Programmiersprache (DE-588)4401313-9 gnd rswk-swf Formale Grammatik (DE-588)4154991-0 s Syntaktische Analyse (DE-588)4058778-2 s Java Programmiersprache (DE-588)4401313-9 s Softwarewerkzeug (DE-588)4116526-3 s Parser (DE-588)4125056-4 s DE-604 Digitalisierung UB Bamberg application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025743568&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Parr, Terence The definitive ANTLR4 reference Syntaktische Analyse (DE-588)4058778-2 gnd Parser (DE-588)4125056-4 gnd Formale Grammatik (DE-588)4154991-0 gnd Softwarewerkzeug (DE-588)4116526-3 gnd Java Programmiersprache (DE-588)4401313-9 gnd |
subject_GND | (DE-588)4058778-2 (DE-588)4125056-4 (DE-588)4154991-0 (DE-588)4116526-3 (DE-588)4401313-9 |
title | The definitive ANTLR4 reference |
title_auth | The definitive ANTLR4 reference |
title_exact_search | The definitive ANTLR4 reference |
title_full | The definitive ANTLR4 reference Terence Parr |
title_fullStr | The definitive ANTLR4 reference Terence Parr |
title_full_unstemmed | The definitive ANTLR4 reference Terence Parr |
title_short | The definitive ANTLR4 reference |
title_sort | the definitive antlr4 reference |
topic | Syntaktische Analyse (DE-588)4058778-2 gnd Parser (DE-588)4125056-4 gnd Formale Grammatik (DE-588)4154991-0 gnd Softwarewerkzeug (DE-588)4116526-3 gnd Java Programmiersprache (DE-588)4401313-9 gnd |
topic_facet | Syntaktische Analyse Parser Formale Grammatik Softwarewerkzeug Java Programmiersprache |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025743568&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT parrterence thedefinitiveantlr4reference |