aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Add some arithmetic binary operations into lex+parse+generationMustafa Quraish2022-01-285-19/+184
|
* Corrent incorrect `break` in LexerMustafa Quraish2022-01-281-5/+6
|
* Scripts: Reorganize a bit, add some rudimentary shell-testingMustafa Quraish2022-01-284-16/+89
| | | | | Just to make sure we don't break stuff. We'll probably want better unit tests specifically for each part once we're more stable.
* Add some basic args parsing so we can test stuff from the CLIMustafa Quraish2022-01-281-23/+66
|
* Examples: Add example for unary ops, remove type hintsMustafa Quraish2022-01-282-2/+8
| | | | We ignore the types for now anyway, so let's just leave them out
* Lexer: Support inline commentsMustafa Quraish2022-01-281-1/+10
| | | | | Inline comments are now supported with `// Comment here`. No block comments (for now)
* Ignore nasm, object and executable filesMustafa Quraish2022-01-281-1/+5
|
* Add initial code generation capabilitiesMustafa Quraish2022-01-282-0/+91
| | | | | | Currently we output the assembly to a hard-coded file called `output.nasm`. Until the compiler is more mature this should be OK enough
* Lexer+Parser: Add support for some unary operationsMustafa Quraish2022-01-286-8/+50
|
* Add some scripts to help assemble generated output and run itMustafa Quraish2022-01-283-1/+32
| | | | | | | Until we have a better way of outputting the data, we're just using return codes for now. The `test.sh` script creates the compiler, compiles the selected file into ASM, then assembles and links the generated output, after which it runs it and shows the exit status.
* Add a parser, dump the AST in mainMustafa Quraish2022-01-283-5/+156
| | | | | Very, very rudimentary, and can only parse integer literals, but it's a start
* Add AST/type definitionsMustafa Quraish2022-01-282-0/+142
| | | | | Just the basic building blocks for now, probably need to re-think how these are stored.
* Shorten Lexer method names to next/peekMustafa Quraish2022-01-282-7/+10
|
* Use custom macro for tokens enum+namesMustafa Quraish2022-01-282-81/+75
|
* Initial commit + start of lexerMustafa Quraish2022-01-2411-0/+449