aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* add { blocks } with scoped local variablesMathias Magnusson2025-06-03
|
* remove the need for explicit discard instructionsMathias Magnusson2025-06-02
| | | | | | | by also considering an instruction's destination register(s) to be uses and when cleaning up registers, also cleaning up those from previous instructions (specifically this is the output of the last instruction if it is not used anywhere)
* add read_int built in procedureMathias Magnusson2025-06-02
|
* stop printing non-existant errorsMathias Magnusson2025-06-02
|
* stop freeing vregs twice when they are used twice in an instrMathias Magnusson2025-06-02
|
* codegen: use s registers instead of tMathias Magnusson2025-06-02
| | | | | | | doesn't make any difference yet and I don't know exactly when to use what when it starts to matter. but binary ninja thought that syscalls could override t registers (which is not the case) so this makes decompilations slightly nicer
* force parenthesis around argumentsMathias Magnusson2025-06-02
| | | | | | would've been cool to not force that imo, but otherwise it seems like there can be absolutely no places where two expression-like things could be next to each other, which is a kinda meh
* add variable declarationsMathias Magnusson2025-06-02
|
* make print return integer lengthMathias Magnusson2025-06-02
|
* run program output automatically & print parse tree betterMathias Magnusson2025-06-02
|
* add statements ending in ; and allow parsing multiple of themMathias Magnusson2025-06-02
|
* make Lexer peekable without a wrapperMathias Magnusson2025-06-02
|
* dont set quotient in every loop iteration in integer print procedureMathias Magnusson2025-06-02
|
* add identifiers, procedure calls and a built in print procedureMathias Magnusson2025-06-01
|
* codegen: fix some small bugsMathias Magnusson2025-06-01
|
* codegen: add RV64M extensionMathias Magnusson2025-06-01
|
* capitalize Lexer.zig correctlyMathias Magnusson2025-06-01
|
* add (slightly) prett(ier) printing for exprsMathias Magnusson2025-06-01
|
* refactor slightly and fix bug in lexerMathias Magnusson2025-06-01
|
* add subtractionMathias Magnusson2025-06-01
|
* codegen: make register allocation fail with error rather than returning nullMathias Magnusson2025-06-01
|
* codegen integer literals correctlyMathias Magnusson2025-05-31
| | | | This was not as easy as one would expect ☠️
* Refactor codegen a bitMathias Magnusson2025-05-31
|
* actually codegen the provided codeMathias Magnusson2025-05-31
| | | | | | ... well, since all we can do is to add integer literals, we produce code for the calculations and then perform the exit syscall with the result
* write a riscy little elfMathias Magnusson2025-05-30
|
* create initial simple elf fileMathias Magnusson2025-05-29
|
* compile some god damn additionsMathias Magnusson2025-05-29
|
* initial commitMathias Magnusson2025-05-28