ANTLR 3 Wiki Home
Welcome
Welcome to Confluence
Confluence is where your team collaborates and shares knowledge — create, share and discuss your files, ideas, minutes, specs, mockups, diagrams, and projects.
Welcome to Confluence
Confluence is where your team collaborates and shares knowledge — create, share and discuss your files, ideas, minutes, specs, mockups, diagrams, and projects.
This ANTLR 3 wiki complements and supports the ANTLR 3 website. Inside the wiki you will find documentation, tutorials and a FAQ.
We hope that you find what you need to learn more about ANTLR 3 on this wiki. If this is not the case, you may register and help (please read our entire welcome message first).
To get started with ANTLR, jump to FAQ - Getting Started. If you run into trouble, ANTLR has a mailing list full of helpful ANTLR fans. You should also consider reading the following books:
Blog Posts
-
Matching parse tree patterns, paths
created by
Sept 01, 2013
-
The real story on null vs empty
created by
Dec 27, 2012
-
Tree rewriting in ANTLR v4
created by
Dec 08, 2012
-
ANTLR and Shroedinger's Tokens
created by
Jun 08, 2012
-
problem: antlr not generating .java files for .g file
created by
Former userMay 09, 2012
Wiki Contents
ANTLR v3 documentation
- ANTLR 3.1.1 Release Notes
- ANTLR 3.1.2 Release Notes
- ANTLR 3.1.3 Release Notes
- ANTLR 3.1 Release Notes
- ANTLR 3.2 Release Notes
- ANTLR 3.3 Release Notes
- ANTLR 3.4 Release Notes
- ANTLR 3.5 Release Notes
- ANTLR Cheat Sheet
- ANTLR v3 printable documentation
- Attribute and Dynamic Scopes
- Building ANTLR with Maven
- Code Generation Targets
- Command line options
- Composite Grammars
- Error reporting and recovery
- Errors Reported by the ANTLR Tool
- Grammar options
- Grammars
- Integration with Development Environments
- Lexical filters
- Rule and subrule options
- Runtime libraries
- Special symbols in actions
- Template construction
- Tree construction
- Tree pattern matching
- What makes a language problem hard?
ANTLR v3 FAQ
- API Documentation - Language Targets
- Downloadable Examples
- FAQ - Actions
- FAQ - Command-line options
- FAQ - C Target
- FAQ - Debugging
- FAQ - Error handling
- FAQ - General
- FAQ - Getting Started
- FAQ - Grammar analysis
- FAQ - Lexical analysis
- FAQ - Parsing
- FAQ - Runtime libraries
- FAQ - Translation
- FAQ - Tree construction
- FAQ - Tree Parsing
Articles
Examples
- Another solution for Island Grammars Under Parser Control
- Expression evaluator
- Fig - Generic configuration language interpreter
- JSON Interpreter
- Lexer grammar for floating point, dot, range, time specs
- LLVM
- Operator precedence parser
- Pie
- Simple tree-based interpeter
- Tool showing grammatical structure of Java code
- Toy ST implementation
Grammar Design Patterns
Presentations
Terence Notes
Tools
- ANTLRWorks - Grammar development environment
- gSync - Grammar Diff and Merge Tool
- gUnitEditor - A Swing GUI for gUnit
- gUnit - Grammar Unit Testing
- Random phrase generation using an ANTLR grammar
- Strip - strip a grammar to just the grammar components
Tutorials
Using ANTLR
- Complex tree transformations using cascading tree rewriters
- How to remove global backtracking from your grammar
- How to use ant with ANTLR3
- Interfacing AST with Java
- Island Grammars Under Parser Control
- Left-Recursion Removal
- Left-Recursion Removal - Print Edition
- Migrating from ANTLR 2 to ANTLR 3
- Test-Driven Development with ANTLR
- Using ANTLR 3 with Maven 2