aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* Add support for pointers! (tests missing)Mustafa Quraish2022-02-024-17/+30
* Refactor variable access+assignment in terms of `generate_lvalue()`Mustafa Quraish2022-02-021-20/+21
* Add `size_for_type()` helper instead of hard-coding variable sizesMustafa Quraish2022-02-023-5/+16
* Modify how types are stored.Mustafa Quraish2022-02-024-99/+143
* Defer: Pop elements off the defer-stack when returningMustafa Quraish2022-02-011-2/+4
* Add basic `defer` implementation.Mustafa Quraish2022-02-017-1/+104
* Testing: Add support for testing stdout results, check builtinsMustafa Quraish2022-02-012-0/+103
* Global variables now supported! + some fixes to OP_ASSIGNMustafa Quraish2022-01-315-63/+157
* Add .gitattributes to try to highlight code as RustMustafa Quraish2022-01-312-1/+2
* Add workflow to run tests on pushMustafa Quraish2022-01-311-0/+17
* Move around tests in the categories; Add missing testsMustafa Quraish2022-01-314-179/+197
* Add `std/math.cup` with some common math functionsMustafa Quraish2022-01-311-0/+22
* Add ability to import other filesMustafa Quraish2022-01-314-3/+62
* Minor fixes to code generationMustafa Quraish2022-01-311-11/+11
* Fix offset for local variablesMustafa Quraish2022-01-311-1/+1
* Make `Lexer_new` return a pointer instead of the object.Mustafa Quraish2022-01-313-8/+8
* Add basic builtin-function supportMustafa Quraish2022-01-316-38/+192
* Put tokens in their own macro to allow looping over themMustafa Quraish2022-01-304-30/+36
* Update build system to use MakefileMustafa Quraish2022-01-307-73/+75
* Rename `cup` directory to `src`Mustafa Quraish2022-01-3015-1/+1
* Remove return-0 exampleMustafa Quraish2022-01-301-3/+0
* Functions, yay!Mustafa Quraish2022-01-307-19/+259
* Make the compiler / scripts work on Linux too (yay!)Mustafa Quraish2022-01-293-6/+40
* Add for and while loop support (w/o declarations in `for`)Mustafa Quraish2022-01-297-14/+230
* Implement blocks (lexically scoped) and conditionalsMustafa Quraish2022-01-2910-39/+487
* Add i64{max,min} helper functionsMustafa Quraish2022-01-292-1/+7
* Allow uninitialized variable declarationsMustafa Quraish2022-01-298-37/+88
* Add some tests for local variablesMustafa Quraish2022-01-293-0/+54
* Now supporting local variables! :^)Mustafa Quraish2022-01-296-29/+92
* Restore line/col count in Lexer_peek to get correct locationsMustafa Quraish2022-01-291-0/+4
* Add separator in `die_location()`Mustafa Quraish2022-01-291-0/+1
* Stop tests if compilation failsMustafa Quraish2022-01-291-0/+2
* Add parsing + storing offsets for locals / move around headersMustafa Quraish2022-01-298-24/+114
* Add relational and logical operators + refactor binop parserMustafa Quraish2022-01-296-51/+198
* 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
* 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
* Lexer: Support inline commentsMustafa Quraish2022-01-281-1/+10
* Ignore nasm, object and executable filesMustafa Quraish2022-01-281-1/+5
* Add initial code generation capabilitiesMustafa Quraish2022-01-282-0/+91
* 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
* Add a parser, dump the AST in mainMustafa Quraish2022-01-283-5/+156
* Add AST/type definitionsMustafa Quraish2022-01-282-0/+142
* 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