I will be updating this issue as we make progress. Please feel free to take down good first issues here and in the issue tracker.
Interpreter Tasklist
for-each loops. May be complicated to get right due to the configurable order, so I'm putting it off a bit.
- Field splitting mode of
FIELDWIDTHS.
- Some other record splitting modes.
- Support for
getline and print/print redirections in the VM.
- General I/O in the event loop and VM dispatch.
- Wire in lexer/parser in the interpreter for robust indirect call parsing + built-in funs disambiguation, libloaded funs disambiguation.
- Remaining built-in vars auto-setting.
- Magic around
SYMTAB, FUNCTAB, PROCINFO. I'm handling this.
- Range patterns. Requires either allocating a register for the duration of the program or doing so as an internal symbol in the symbol table.
- Etc.
Various
- One or two parser differentials I've got written down and should get to fixing. God I hate AWK's grammar. It would be neat to refactor/rewrite the parser into using
chumsky combinators.
- More robust
--pretty-printing, with more precedence disambiguation and default args expansion for built-in functions.
- Fully wire in compatibility modes and ensure they are enforced.
- Library loading (via
libloading) and C/FFI function calls.
- Debugger.
- Get
clap to behave properly.
- Sanity.
I will be updating this issue as we make progress. Please feel free to take down good first issues here and in the issue tracker.
Interpreter Tasklist
for-eachloops. May be complicated to get right due to the configurable order, so I'm putting it off a bit.FIELDWIDTHS.getlineandprint/printredirections in the VM.SYMTAB,FUNCTAB,PROCINFO. I'm handling this.Various
chumskycombinators.--pretty-printing, with more precedence disambiguation and default args expansion for built-in functions.libloading) and C/FFI function calls.clapto behave properly.