Speaker Topics - No Fluff Just Stuff

Implementing Languages with ANTLR 3

ANTLR 3 (http://antlr.org) is a Java-based tool that generates language parsers in a variety of programming languages including Java. This talk will walk through implementation of a domain-specific language (DSL) using ANTLR.

ANTLR differs from most other parser generators in that it supports
unlimited lookahead to select between grammar rule alternatives.

While languages such a Ruby and Groovy can also be used to implement
DSLs, they bring with them the baggage of their own syntax rules.
ANTLR allows you to make the syntax of your DSL be exactly what you want to be.

We'll start with lexer rules to break a character stream into tokens,
write parser rules that build an abstract syntax tree,
and write tree parser rules that walk the AST and
execute the code that was fed to the lexer.

We'll also demonstrate use of ANTLRWorks which is a
free graphical editor and debugger for ANTLR grammars.
It is particularly useful in stepping through the construction of ASTs.

After attending this talk you'll be ready to begin using ANTLR
to implement your own languages.

ANTLR differs from most other parser generators in that it supports
unlimited lookahead to select between grammar rule alternatives.

While languages such a Ruby and Groovy can also be used to implement
DSLs, they bring with them the baggage of their own syntax rules.
ANTLR allows you to make the syntax of your DSL be exactly what you want to be.

We'll start with lexer rules to break a character stream into tokens,
write parser rules that build an abstract syntax tree,
and write tree parser rules that walk the AST and
execute the code that was fed to the lexer.

We'll also demonstrate use of ANTLRWorks which is a
free graphical editor and debugger for ANTLR grammars.
It is particularly useful in stepping through the construction of ASTs.

After attending this talk you'll be ready to begin using ANTLR
to implement your own languages.


About Mark Volkmann

Mark Volkmann is a partner at Object Computing, Inc. (OCI) in St. Louis where he has provided software consulting and training since 1996. As a consultant, Mark has assisted many companies with Java, XML, Web, JavaScript, jQuery, Node.js, and AngularJS application development.

Mark has created and taught many courses on topics including: Java, Swing, XML, Ruby, HTML5, CSS3, JavaScript, jQuery, Node.js, and AngularJS.

Mark is a frequent presenter at St. Louis area user groups. He has written for XML Journal and the No Fluff Just Stuff (NFJS) magazine. He has presented at the XML DevCon, NFJS and Strange Loop conferences.

Mark frequently writes articles on various software development topics. These can be found at http://ociweb.com/sett.

More About Mark »