aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* [cup] Add `>>` and `<<` operators, `fork()` buildin and `SYS_execve`HEADmasterMustafa Quraish2022-02-0811-4/+57163
* Mark bootstrap files as binary in `.gitattributes`Mustafa Quraish2022-02-081-1/+2
* [cup] Remove unnecessary function from codegen, add info to READMEMustafa Quraish2022-02-072-12/+16
* [cup] Self-hosting is now possible! Make some tweaks to match C outputMustafa Quraish2022-02-0711-90/+390
* Add missing files to self-hosted directoryMustafa Quraish2022-02-074-0/+271
* [cup] Add support for `here` keyword + fix `putu_buffer` bugMustafa Quraish2022-02-072-3/+19
* [cup] Add support for string literalsMustafa Quraish2022-02-071-0/+28
* [cup] Port over all the type-checking/pointer arithmetic stuffMustafa Quraish2022-02-074-26/+252
* [cup] Add ability to import filesMustafa Quraish2022-02-073-15/+76
* [C]: Add `here` keyword that evaluates to a string with it's locationMustafa Quraish2022-02-065-18/+28
* Add some information to the READMEMustafa Quraish2022-02-061-3/+118
* [cup] Flesh out some more boilerplate based on C implementationMustafa Quraish2022-02-062-2/+145
* [cup] Add support for global (initialized) variablesMustafa Quraish2022-02-062-1/+58
* [cup] Add support for builtin functions, add `print()`Mustafa Quraish2022-02-054-2/+24
* [cup] Fix error in codegen for `if`Mustafa Quraish2022-02-051-3/+2
* [compiler.cup] Support for+while loopsMustafa Quraish2022-02-052-2/+77
* Update `run.sh2` to not re-make the C compilerMustafa Quraish2022-02-051-7/+6
* [compiler.cup] Add support for function calls!Mustafa Quraish2022-02-054-12/+130
* [compiler.cup] codegen for unary ops, short circuiting &&/||Mustafa Quraish2022-02-052-1/+66
* [compiler.cup] Add codegen for relational + if/conditional supportMustafa Quraish2022-02-052-2/+96
* [compiler.cup] Add support for lexically scoped local variablesMustafa Quraish2022-02-057-20/+177
* Add implementation of self-hosted compiler so farMustafa Quraish2022-02-059-0/+1574
* Remove old test which disallowed initializing globalsMustafa Quraish2022-02-051-8/+0
* Some very minor fixes (look at message)Mustafa Quraish2022-02-052-1/+3
* Allow empty return statements for void functionsMustafa Quraish2022-02-052-4/+15
* Fix label counts during code generation for `||` and `&&`Mustafa Quraish2022-02-051-10/+10
* Add `lseek` and `mmap` syscall infoMustafa Quraish2022-02-052-1/+24
* Allow function declarations without a definitionMustafa Quraish2022-02-053-14/+41
* Handle command-line arguments properly on linuxMustafa Quraish2022-02-051-4/+13
* Add `OS_IS_MACOS` and `OS_IS_LINUX` constants as builtinsMustafa Quraish2022-02-051-0/+8
* Add support for some more binary ops: |, &, ^Mustafa Quraish2022-02-058-18/+98
* Miscellaneous stdlib additionsMustafa Quraish2022-02-051-5/+41
* Add `sizeof(<type>)` operator that can return the size of a type.Mustafa Quraish2022-02-052-0/+9
* Add ability to initialize global variablesMustafa Quraish2022-02-053-4/+14
* Add `void` type and allow void* to be assigned to other ptr typesMustafa Quraish2022-02-055-9/+24
* Allow `builtins.c` to inject constants into program, use for syscallsMustafa Quraish2022-02-057-90/+204
* Update README.mdMustafa Quraish2022-02-041-2/+2
* Add an enum-like-but-not-really structureMustafa Quraish2022-02-042-0/+49
* Some minor bug fixesMustafa Quraish2022-02-042-4/+12
* Minor fixes, rearranging, whitespace trimming. No functional changes.Mustafa Quraish2022-02-044-25/+28
* Don't open/parse a file that's been included more than onceMustafa Quraish2022-02-041-21/+39
* Add support for read-only constant expressionsMustafa Quraish2022-02-044-7/+121
* Add some simple tests for arrays+stringsMustafa Quraish2022-02-031-0/+131
* Add `exit()` syscall builtinMustafa Quraish2022-02-031-0/+3
* Modify implementation of structs to support unionsMustafa Quraish2022-02-034-13/+19
* Add support for basic structsMustafa Quraish2022-02-038-6/+192
* Add automatic type inference for initialized variable declarationsMustafa Quraish2022-02-031-17/+27
* Add pre-increment and pre-decrement operators.Mustafa Quraish2022-02-032-2/+34
* Add an implicit block around a `for` loop, allow statement initMustafa Quraish2022-02-031-12/+27
* Make `make test` exit early if any of the tests failMustafa Quraish2022-02-031-1/+1