| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Switched to bytes from chars, since we'll be parsing files eventually and typically compilers parse bytes from files (and not Java chars).
Added a 'peek' to handle bad leading `--123` numbers.
Used simpler number parsing; doesn't do doubles (yet).
Added a filter for punctuation. Prior setup didn't handle multi-char punctuation like relation tests "<=".
Switched the "EOF" marker char from 0 to Char.MAX_VALUE; harder to make mistakes, and simplifies the WS test.
Switch javadoc comments to plain comments on private functions.
Added tests for broken keyword, broken numbers, negative numbers.
|
| |\ |
|
| | |
| |
| |
| | |
Make the IdGenerator an input to the Parser
|
| |/
|
|
|
|
|
|
| |
Add the Evil static global var, with appriopriate comments. Drop the singleton class, and every place it had to be passed. Much smaller code now, and will be a LOT smaller as the project grows.
Drop the opcode; minor usages in prior implementations for performance, not needed here.
Use the preview pattern match in test code to simplify.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Removed the common chapter.
Reimplemented Lexer.
Revised the list of chapters to something more accurate.
|
| |
|
|
|
| |
So just extends the top level Ast class in all the subtypes.
Also avoid holding reference to lexer in parser.
|
| |
|
|
|
|
| |
Add toString() method on AST nodes so that we can easily check the results of parsing.
Remove AA lexer
Move the Ecstasy lexer classes to one package, except Handy
|
|
|
Updated README
Added language module with grammar
Split the code into common and chapter01 modules.
Removed a number of utility classes that were imported from AA.
Added github workflow file.
|