variation of the implementation of the sox interpreter as described on http://craftinginterpreters.com
Platform | Build |
---|---|
Ubuntu |
- Run each script in the scripts folder without errors
- Script output validation
- Globals
- Locals
- String operations
- Math operations
- Invalid + - / *
- invalid assignment - 3 * 4 = 12
- local var aliasing across scopes
- duplicate variable definition
- File parsing
- Defer
- replace fun with fn
- remove semi-colon line ending
- bracketless expressions
- optional main entrypoint
- Switch statements
- impl break
- impl continue
- argc / argv parameters to main
- unit test functions
- assert keyword + functionality
- benchmark option
- native container implementations
- table
- list / slice
- helper functions
- pop/push
- len
- range -> for in range
- for-in container iteration
- run scripts from repl
- default parameter values
- remove global variables
- multi-line comment blocks
- load multiple scripts / modules
- Bytecode scripts
- interfaces
- coroutines
- Debugger?
- Rule parsing - precidence logic
- max number of up values (256) - per function or program?