How about a BASIC that uses Labels instead of line numbers, and actual names for variables - some of the statements are different, for example instead of ‘Input’ labelbasic uses ‘ask’ (Each statment begins with a unique letter)
git your own copy at : https://codeberg.org/WasPentalive/LabelBasic.git


String arrays are a must, and you’ll have to be able to keep open several different files at once. How about DATA/READ/RESTORE statements?
“Mat $strings(400)” gives you $strings(0) … $strings(399) just like C, You can do two dimensonal strig arrays also. Please look over the remaining unused letters and let me know how you would integrate DATA statement. Remember, I am keeping the first letter unique.
I will consider those, thanks for the input. - I have constrained myself: Each statement starts with a unique letter, just to make parsing a tiny bit easier. Also so far I don’t have file input - only output to files - for printing on a printer or sending to gnuplot perhaps. That does not mean I can’t have an OPEN “filename”,r to replace stdin temporarily.
Quick complete parsing of a fixed set of keywords can easily be done with a finite state automaton.
for string arrays – MAT $BOX(3,5) == 15 CHARACTERS OR 15 STRINGS ? I think it does the latter already. Note, I am nearly 70 years old - I got “help” coding this. (oh noe here comes a storm)
MAT [dollar]BOX(3,5) should give a two-dimensional array of strings, of course.
Good I think that is the case.
Actually, it was not the case, but it is the case now.