Upload
sarah-melton
View
216
Download
1
Embed Size (px)
Citation preview
ANTLR
OUTLINE
What is ANTLR? What exactly does ANTLR do? How ANTLR is installed to Eclipse? ANTLR Project Examples References
What is ANTLR?
ANTLR - ANother Tool for Language Recognition › tool that generates sophisticated parser generator using user defined
grammars..› Using parser generators
language interpreters Compilers other translators
can be implemented. [1]
ANTLR › compiler generator or compiler compiler › used to generate the source code for
language recognizers, analyzers translators
from language specifications. [2]
What is ANTLR?
ANTLR› takes as its input a grammar - a precise description of a language
augmented with semantic actions -› generates source code files and other auxiliary files.› Target language of the generated source code may be
Java C/C++ C# Python Ruby
is specified in the grammar [2].
What is ANTLR?
ANTLR› used to build translators and interpreters for
Domain Specific Languages (DSLs).› DSLs are very high level languages
tailored to specific tasks.› NASA uses Domain Specific Command
Languages for space missions to improve reliability reduce risk reduce cost increase the speed of development. [1]
What exactly does ANTLR do?
ANTLR reads a grammar then generates these tools:› A Lexer: This reads an input character or byte stream (i.e.
characters, binary data, etc.) divides it into tokens using patterns you specify generates a token stream as output.
Some tokens such as whitespace and comments as hidden using a protocol that ANTLR parsers automatically understand and respect.
› A Parser: This reads a token stream (normally generated by a lexer) matches phrases in your language via the rules (patterns) you
specify typically performs some semantic action for each phrase (or sub-
phrase) matched. [2]
What exactly does ANTLR do?
Tool › uses lexer and parser in series to check
the word-level and phrase-level structure of the input
› if no fatal errors are encountered create an intermediate tree representation
such as an Abstract Syntax Tree (AST) [2]
How ANTLR is installed to Eclipse?
Tutorial for installation› Installation of ANTLR to Eclipse
ANTLR Project Examples
Tutorial for creating project› Creating an ANTLR Project in Eclipse
English Sentence Example
EnglishGrammer.g
English Sentence Example
Test.java
English Sentence Example
Sample Outputs :
English Sentence Example
Parse trees:
Expression Language Example
Expr.g
Expression Language Example
Expr.g - Continue
Expression Language Example
Test.java
Expression Language Example
Test.java - Continue
Expression Language Example
Sample Outputs :
REFERENCES
[1] T. Parr, The Definitive ANTLR Reference, Building Domain-Specific Languges, Dallas, Texas : The Pragmatic Bookshelf , 2007
[2] Five minute introduction to ANTLR 3 : http://www.antlr.org/wiki/display/ANTLR3/Five+minute+introduction+to+ANTLR+3
[3] http://antlreclipse.sourceforge.net/ [4] http://vimeo.com/8001326 [5] http://www.antlr3.org/download/ [6] http
://stackoverflow.com/questions/8343488/antlr-ide-in-eclipse-doesnt-work