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
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.
@@ Coverage Diff @@ ## master #2167 +/- ## ========================================== + Coverage 32.84% 35.81% +2.97% ========================================== Files 199 211 +12 Lines 19085 20894 +1809 ========================================== + Hits 6269 7484 +1215 - Misses 12816 13410 +594
|Impacted Files||Coverage Δ|
|... and 23 more|