Releases: treytomes/ecma_basic
Blocks Are Hard
This release is mostly about stability.
- FOR-NEXT blocks should now fully conform to the ECMA-55 standards.
- Error messages have been normalized.
- The INPUT, READ, DATA, MID$, and POS keywords have been added to allow for some more interesting interaction.
Load the WORDLE.BAS sample to see the latest features in action!
Expressive!
- Lots of bug fixes.
- The runtime environment now understands CONT, LIST, LOAD, NEW, RUN, and SAVE.
- You can use these statements in your programs: END, LET, PRINT, STOP, REM, GOTO, GOSUB, RETURN, IF-THEN, FOR-NEXT, ON-GOTO, SLEEP
- Expression parsing is now fully operational.
- The following functions can be used in expressions: ABS, COS, INT, RND, SGN, SIN, TAN
I've started work in this release on the process for injecting additional functions and statements into the system, which will become more important as I begin implementing ECMA-116 on top of the ECMA-55 interpreter.
Under Control
This version adds GOTO, GOSUB, IF-THEN, and REM to our statement collection. The expression parser is still pretty simple, but you can use =, <>, <=, >=, <, > to compare strings or numbers.
I am continuing to update the project wiki here on GitHub as I add features to the interpreter, so you can try looking there for information and submit an issue if it looks like I missed something.
Number Wrangler
This release completes the first 14 NBS tests. What this means is you should be now able to pass around string and numerical constants between variables, and get the appropriate output when printing them.
I've also included a REPL environment when you run the executable without parameters. Read the wiki to see how this works.
Minimally Viable Product
It's a minimally-viable product!
Don't expect the interpreter to do much more than what you see in the included sample.bas file.