Compiler Construction with ANTLR and Java
By Gary L. Schaps
Dr. Dobb's Journal March 1999
// cycle names cycleNames // init-action {CycleNames cycleN = null; int startLine=LT(1).getLine();} // rule : "CYCLE_NAMES" ASSIGN LCURLY {cycleN = new CycleNames();} // rest of rule cycleSet[cycleN] (COMMA cycleSet[cycleN])* RCURLY SEMI // semantic action { try{ PBIBuilder.registerCycleNames(cycleN); }catch (IllegalStateException ex){ PBIBuilder.foundBadCode(); System.err.println("Error: line(" + (startLine) + "), " + ex.getMessage()); } } ;
Example 4: Parsing an element of the language.
Copyright © 1999, Dr. Dobb's Journal