aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Expand)AuthorAgeFilesLines
* [C]: Add `here` keyword that evaluates to a string with it's locationMustafa Quraish2022-02-061-0/+9
* Some very minor fixes (look at message)Mustafa Quraish2022-02-051-0/+1
* 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-051-1/+16
* 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-057-18/+58
* 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-054-7/+18
* Allow `builtins.c` to inject constants into program, use for syscallsMustafa Quraish2022-02-056-69/+95
* 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-043-21/+19
* 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-043-6/+120
* 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
* Push `argc` and `argv` to the `main()` functionMustafa Quraish2022-02-031-0/+10
* Add helper to create builtins for syscalls + implement `read()`Mustafa Quraish2022-02-035-74/+125
* Check for integer-like types in type-checking instead of exact onesMustafa Quraish2022-02-031-7/+7
* Remove `putc` intrinsic and replace with `write(fd, buf, size)`Mustafa Quraish2022-02-034-10/+30
* Move builtins to a separate fileMustafa Quraish2022-02-033-28/+54
* Allow implicitly converting between integer-like-typesMustafa Quraish2022-02-033-4/+32
* Avoid pointer-arithmetic multiplications if we have `char*`Mustafa Quraish2022-02-031-24/+34
* Add support for `char` type + string/char literalsMustafa Quraish2022-02-028-21/+153
* Remove default initialization to 0 for variable declarationsMustafa Quraish2022-02-022-5/+3
* Handle OP_ASSIGN in `print_ast()`Mustafa Quraish2022-02-021-0/+6
* Add initial support for arrays (also no testing)Mustafa Quraish2022-02-026-10/+95
* Move type-related stuff to a separate fileMustafa Quraish2022-02-025-194/+217
* Type checking of expressions / functions!Mustafa Quraish2022-02-026-14/+210
* Use `type*` instead of `type&` to denote a pointer type (for now)Mustafa Quraish2022-02-021-1/+1
* 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-014-0/+27
* Global variables now supported! + some fixes to OP_ASSIGNMustafa Quraish2022-01-314-42/+93
* 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-313-35/+158