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