Grammar Structure

A grammar is essentially a grammar declaration followed by a list of rules but has the following general form:

 /** Optional Javadoc-style comment */
grammar​ Name​;
 options​ ​{...}
 import​ ​...​ ​;
 tokens​ ​{...}
 @actionName​ ​{...}
 
 rule1 ​// parser and lexer rules, possibly intermingled
 ...
 ruleN

The filename containing grammar X must be called Xg4. You can specify options, imports, token specifications, and actions in any order. There can be at most one each of options, imports, and token specifications. All of those elements are optional except for the header ​​ and at least one rule. Rules take the following basic form:

 ruleName ​:​ alternative1 ​|​ ​...​ ​|​ alternativeN ​;

Parser rule ...

Get The Definitive ANTLR 4 Reference, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.