revusky

Tree Building Redux: Nailing another Dmitry Dmitriyevich problem

Greetings, comrades! My name is Vladimir Vladimirovich Vladimirov! Hey, whassup, Vlad! As a follow-on to my blog post of a couple of days ago there were a couple of t’s that needed crossing and an ‘i’ or two that needed a dot. Let’s see… First of all, I misspoke a little bit in that post. …

Tree Building Redux: Nailing another Dmitry Dmitriyevich problem Read More »

Tastes just like home-made! (Some more tree building enhancements)

Before getting into what the minor enhancements to tree building are, I guess I should write a quick synopsis of the current state of affairs. When you have TREE_BUILDING_ENABLED set to true (this is the default in JavaCC21) the tree building machinery will build a Node if the production results in the creation of more …

Tastes just like home-made! (Some more tree building enhancements) Read More »

Happy New Year! Some Backward-Incompatible API Changes!

In conjunction with New Year 2021 (a landmark year for JavaCC 21 for sure!) I decided to scratch some longstanding itches — even at the expense of introducing some (minor) backward incompatibilities. The various option settings can only be set in the grammar file. There was a longstanding setup in legacy JavaCC (carried forward in …

Happy New Year! Some Backward-Incompatible API Changes! Read More »

Key Concept: JavaCC (21) is not a Java App!

One of my longstanding interests is language learning — I mean, human languages like Russian or Chinese, not computer languages. One striking thing about language learning is the extreme variability in people’s results. One observes that certain people, frequently very capable in other fields, will have some ongoing project of learning a language, Spanish for …

Key Concept: JavaCC (21) is not a Java App! Read More »

A Bug’s Life

Thomas Hobbes famously said that in humankind’s natural state, a man’s life tends be "nasty, brutish, and short". I suppose the natural corollary of this is that in technologically advanced societies, life is comparatively "pleasant, peaceful, and long". Of those three things, it is the last one that can be measured most objectively; we see, …

A Bug’s Life Read More »

“You can’t get there from here!” — The Problem of Context-Sensitive Tokenization

Since I picked up my work on the JavaCC codebase at the end of 2019, various people have broached to me this question of strings that can (or should) be broken into tokens differently based on the context where they are encountered. I have to admit that it took me a while to grasp just …

“You can’t get there from here!” — The Problem of Context-Sensitive Tokenization Read More »