It's been a month, so here's a progress report:
Completed decoding of opcodes, data types, header fields
Validating basic fields and generating (helpful?) error messages
Embedded NWScript engine calls into program code
No need for modders to provide nwscript.nss
Created call graphs of subroutines
Generating graph description files for Graphviz renderer
Created control-flow graphs of basic blocks
Generating graph description files for Graphviz renderer
Created call stack simulator
Keeping track of which variables are modified
To do:
Identifying iteration, selection and jump statements
Operator associativity and precedence
Type conversions
Byte code conversion to source code
Source code conversion to byte code
GUI
Setup new dev laptop (dropped current laptop last night, awaiting delivery of new one) 😢
Probably more stuff, but I don't know what I don't know, you know?