With ROM v1 done and arrival of the last kit parts confirmed for this week (yeah), now is the time for chores. The syntax I used for writing the apps has some rough ends. It was grown bottom-up, hand in hand with the GCL-to-vCPU compiler, while vCPU was still evolving. As I’ll need a new compiler for the Arduino interface anyway, why not fix what can be fixed? So now here is a formal EBNF definition of the updated notation, or call it a language if you wish.
There is a great online visualizer that turns these grammars into easy-to-understand railroad diagrams. I’ve always liked these since studying the “Pascal User Manual and Report” in my first year at college. A webpage with all diagrams sits here on HaD.
GCL will never look pretty, but it at least it isn’t Perl.