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.).
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
MAPas a hash table,TNSare 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, orTHD.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.).