meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
key_differences [2020/09/26 22:47] – [Code Injection] revusky | key_differences [2021/02/08 18:09] – ↷ Links adapted because of a move operation revusky | ||
---|---|---|---|
Line 19: | Line 19: | ||
===== Streamlined Syntax ===== | ===== Streamlined Syntax ===== | ||
- | JavaCC 21 incorporates an [[streamlined | + | JavaCC 21 incorporates an [[new syntax summary|alternative streamlined syntax]] that should be quite a bit more pleasant to write and easier to read. |
+ | |||
+ | The difference is frequently dramatic. Where the legacy tool required you to write things like: | ||
+ | |||
+ | < | ||
+ | LOOKAHEAD (Foo() Bar()) Foo() Bar() Baz() | ||
+ | </ | ||
+ | |||
+ | in JavaCC 21 you could express the above as: | ||
+ | |||
+ | < | ||
+ | Foo Bar =>|| Baz | ||
+ | </ | ||
===== More powerful lookahead ===== | ===== More powerful lookahead ===== | ||
- | The '' | + | Perhaps most importantly, |
+ | |||
+ | The '' | ||
+ | |||
+ | The new [[up to here]] construct should eliminate the need to write more verbose and error-prone numerical and syntactic lookahead constructs. | ||
- | The new [[up to here]] construct should eliminate the need to write more verbose and error-prone numerical and syntactic lookahead constructs. | ||
- | The longstanding bug of nested syntactic lookahead not working correctly has [[https:// | ||
===== JavaCC 21 is being actively developed ===== | ===== JavaCC 21 is being actively developed ===== | ||
- | JavaCC 21 now supports the full Java language up through Java 13. Since the [[Java.javacc|https:// | + | JavaCC 21 now supports the full Java language up through Java 15. Since the [[https:// |