Month: December 2022

Syntax Converter Available

There is now a syntax converter to convert legacy JavaCC (and some things in JavaCC 21) to the approved CongoCC syntax. You can execute it as: java -jar javacc-full.jar convert filename That will spit it out to stdout. More likely you want something more like: java -jar javacc-full.jar convert filename > outputfilename The converter converts …

Syntax Converter Available Read More »

NFA stands for “Nondeterministic finite automaton”. (Does that make you nervous?)

The main goal of the JavaCC 21 project, soon to be renamed as CongoCC, is to develop a very capable, practical, usable parser generator tool. However, there is another overarching goal — perhaps not so much a goal, as a philosophy. That can be summed up in a single word: Demystification You see, somehow or …

NFA stands for “Nondeterministic finite automaton”. (Does that make you nervous?) Read More »

Nested Lookahead Redux

(The TLDR: Nested lookahead was always broken in legacy JavaCC. This is finally fully addressed (as of 11/26/2022) in JavaCC 21. However, since this fix has a lot of potential to break existing code, for now, the fix is only in effect if you put LEGACY_GLITCHY_LOOKAHEAD=false at the top of your grammar(s). Meanwhile, you should …

Nested Lookahead Redux Read More »