-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Notes:
Except the extension API, the interpreter must be a perfect port of the Python implementation.
While the extension API is different (due to the different underlying language), hooks must be provided to accomplish the same functionality as in the Python implementation.
Implement MAP as a hash table, TNS are dense.
Stage 1:
Design interpreter, build skeleton.
Stage 2:
Harden parser, lexer.
Stage 3:
Build interpreter.
Add support for INT, FLT, STR, FUNC.
Add all operators that do not accept TNS, MAP, or THD.
Add statements, except parallelism statements (e.g. IF/ELSEIF/ELSE, WHILE, FOR, GOTO/GOTOPOINT).
Stage 4:
Add TNS, MAP.
Add all operators not yet added that do not accept THD.
Add rest of statements.
Stage 4.5:
Add pointers.
Stage 5:
Add THD, all built-in operators and statements.
Stage 6:
Add extensions.
Stage 7:
Add remaining minor features (REPL, verbose mode, etc.).