huangcm
2024-12-18 9d29be7f7249789d6ffd0440067187a9f040c2cd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
ANTLR v3.5
January 4, 2013
 
Terence Parr, parrt at cs usfca edu
ANTLR project lead and supreme dictator for life
University of San Francisco
 
INTRODUCTION
 
Welcome to ANTLR v3!  ANTLR (ANother Tool for Language Recognition) is
a language tool that provides a framework for constructing
recognizers, interpreters, compilers, and translators from grammatical
descriptions containing actions in a variety of target
languages. ANTLR provides excellent support for tree construction,
tree walking, translation, error recovery, and error reporting. I've
been working on parser generators for 25 years and on this particular
version of ANTLR for 9 years.
 
You should use v3 in conjunction with ANTLRWorks:
 
    http://www.antlr.org/works/index.html
 
and gUnit (grammar unit testing tool included in distribution):
 
    http://www.antlr.org/wiki/display/ANTLR3/gUnit+-+Grammar+Unit+Testing
 
The book will also help you a great deal (printed May 15, 2007); you
can also buy the PDF:
 
    http://www.pragmaticprogrammer.com/titles/tpantlr/index.html
 
2nd book, Language Implementation Patterns:
 
    http://pragprog.com/titles/tpdsl/language-implementation-patterns
 
See the getting started document:
 
    http://www.antlr.org/wiki/display/ANTLR3/FAQ+-+Getting+Started
 
You also have the examples plus the source to guide you.
 
See the wiki FAQ:
 
    http://www.antlr.org/wiki/display/ANTLR3/ANTLR+v3+FAQ
 
and general doc root:
 
    http://www.antlr.org/wiki/display/ANTLR3/ANTLR+3+Wiki+Home
 
Please help add/update FAQ entries.
 
If all else fails, you can buy support or ask the antlr-interest list:
 
    http://www.antlr.org/support.html
 
Per the license in LICENSE.txt, this software is not guaranteed to
work and might even destroy all life on this planet:
 
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
 
----------------------------------------------------------------------
 
EXAMPLES
 
ANTLR v3 sample grammars:
 
    https://github.com/antlr/examples-v3
 
Examples from Language Implementation Patterns:
 
    http://www.pragprog.com/titles/tpdsl/source_code
 
----------------------------------------------------------------------
 
What is ANTLR?
 
ANTLR stands for (AN)other (T)ool for (L)anguage (R)ecognition
and generates LL(*) recursive-descent parsers. ANTLR is a language tool
that provides a framework for constructing recognizers, compilers, and
translators from grammatical descriptions containing actions.
Target language list:
 
http://www.antlr.org/wiki/display/ANTLR3/Code+Generation+Targets
 
----------------------------------------------------------------------
 
How is ANTLR v3 different than ANTLR v2?
 
See "What is the difference between ANTLR v2 and v3?"
 
    http://www.antlr.org/wiki/pages/viewpage.action?pageId=719
 
See migration guide:
 
    http://www.antlr.org/wiki/display/ANTLR3/Migrating+from+ANTLR+2+to+ANTLR+3
 
----------------------------------------------------------------------
 
How do I install this damn thing?
 
You will have grabbed either of these:
 
   http://antlr.org/download/antlr-3.5-complete-no-st3.jar
   http://antlr.org/download/antlr-3.5-complete.jar
 
It has all of the jars you need combined into one. Then you need to
add antlr-3.5-complete.jar to your CLASSPATH or add to arg list; e.g., on unix:
 
$ java -cp "/usr/local/lib/antlr-3.5-complete.jar:$CLASSPATH" org.antlr.Tool Test.g
 
Source + java binaries: Just untar antlr-3.5.tar.gz and you'll get:
 
antlr-3.5/BUILD.txt
antlr-3.5/antlr3-maven-plugin
antlr-3.5/antlrjar.xml
antlr-3.5/antlrsources.xml
antlr-3.5/gunit
antlr-3.5/gunit-maven-plugin
antlr-3.5/pom.xml
antlr-3.5/runtime
antlr-3.5/tool
antlr-3.5/lib
 
Please see the FAQ
 
    http://www.antlr.org/wiki/display/ANTLR3/ANTLR+v3+FAQ
 
-------------------------
 
How can I contribute to ANTLR v3?
 
http://www.antlr.org/wiki/pages/viewpage.action?pageId=33947666