I think people should realize that being terrible isn't a requirement for a BASIC dialect. It seems like most modern BASIC interpreters are focused on including features like GOTO, DATA, and weird syntax rules, rather than creating a language which is simple and easy to use.
SB is far better than average, but still has flaws (no array literals?!?), and the fact that it's only available on the 3DS prevents it from becoming very popular.
So, I decided to make my own BASIC dialect, with the interpreter written in JavaScript so it can run on any computer with a web browser.
https://12me21.github.io/12-basic/
I don't like the name "12-BASIC", but of course I can't think of anything better. Oh well.
Anyway it's nowhere near finished yet.
Main features to implement:
-user defined functions
-proper variable declarations
-arrays
Here's some documentation:
https://12me21.github.io/12-basic/docs/
EDIT: Ok this is dead but check out 12oatmeal basic 2 I guess: https://github.com/12Me21/language
12-BASIC Programming Language
12Me21Created:
Nice. Getting closer.
Is it bad that my first thought was of https://www.xkcd.com/927/?
If you are going to add new features may I humbly suggest user defined types? Then you could do something like this:
Type Point X As Integer Y As Integer End Type Dim position As Point Position.x = 42 Position.y = 13QB/QuickBasic could do that back in the day. Speaking of which I think there is the QB64 project at http://www.qb64.net/. No use reinventing the wheel. The JavaScript back end sounds promising. A bit like Codepen https://codepen.io/. Speaking of which if you are going to be programming on the web it may be easier to just go for Javascript instead of detouring into BASIC. I think you can even make local applications with node js https://nodejs.org/en/. I should probably throw in a shout for p5js https://p5js.org/ as seen on the coding train too. I don't know what the current equivalent of the dragon book is . But I am not seeing any BNF on your github. I suspect you will need something like YACC/LEXX, Bison/Flex, ANTLR, or LLVM. Good luck.