LoginLogin

12-BASIC Programming Language

Root / General / [.]

12Me21Created:
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

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 = 13
QB/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.

Can you create a separate repo for this? You can enable pages on any repo, not just your github.io one.

Can you create a separate repo for this? You can enable pages on any repo, not just your github.io one.
Yeah, sure.

Apperently, . is not recognized as a number, but .0 is?
FOR I=.TO 9
 ?I
NEXT
FOR I=.0TO 9
 ?I
NEXT
(You can probably fix this by adding a .0 at the end of a number)