I have, so far at least, solved my capitalisation problem for BINSIC with a preprocessor. Now I can just replace the offending character strings with ones Groovy will handle.
It does suggest problems later though – if I want to write something like PRINT “This code uses a PRINT statement” I will get odd results unless I make my replacement code somewhat more sophisticated.
And I still have not solved the line numbers issue. So it will be a while before this is a fully functional BASIC.
Some code is now on GitHub: https://github.com/mcmenaminadrian/BINSIC