New Parser [NOT READY]

Reporter: JoshDreamland  |  Status: open  |  Last Modified: November 26, 2020, 06:10:04 PM
Step one: Remove dependencies on JDI from the Lexer.

This gives ENIGMA a custom representation of JDI macros. This functionality is untested. Actually, the only test for the lexer right now is misnamed, but I need to shelve this and fix something in RGM.

This commit integrates the new lexer into the old parser by re-stringifying the lex after syntax checking. It replaces the syntax checker with a call to AST::ParseAST. However, this method is NOT YET IMPLEMENTED, meaning no syntax checking happens as of this commit.

In all likelihood there are remaining problems tokenizing strings, etc. Also, the INCREMENT and DECREMENT tokens cannot be programmatically removed from the token trie at this time.

Theoretically, though, valid games should still build as of this commit. I expect the CI to suggest otherwise.

BEFORE WE COMMIT THIS: The missing methods on AST must be authored, building the actual tree. This change puts the compiler where I thought it was when I started this task.

Please sign in to post comments, or you can view this issue on GitHub.