Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | add a little test runnerHEADmain | Mathias Magnusson | 2025-08-04 |
| | |||
* | allow if expressions to evaluate to either value | Mathias Magnusson | 2025-08-04 |
| | |||
* | Merge parsing all binary operators into one function | Mathias Magnusson | 2025-08-04 |
| | |||
* | improve error printing | Mathias Magnusson | 2025-08-03 |
| | |||
* | print parameter name in ast | Mathias Magnusson | 2025-08-03 |
| | |||
* | implement return expressions | Mathias Magnusson | 2025-07-30 |
| | |||
* | implement `==` | Mathias Magnusson | 2025-07-30 |
| | |||
* | Allow if statements | Mathias Magnusson | 2025-07-30 |
| | |||
* | make parameters usable | Mathias Magnusson | 2025-07-29 |
| | |||
* | continue continuing procedure calls | Mathias Magnusson | 2025-07-29 |
| | |||
* | continue implementing procedure calls | Mathias Magnusson | 2025-07-24 |
| | | | | | | multiple procedures can now exist, but you cannot call them, the first one is the "main" procedure since it happens to be placed first in the binary, and all procedures end with an exit system call | ||
* | `let x = 1` -> `x := 1` | Mathias Magnusson | 2025-07-24 |
| | |||
* | move testing source code to own file | Mathias Magnusson | 2025-07-22 |
| | |||
* | implement comparisons | Mathias Magnusson | 2025-07-03 |
| | |||
* | add while loops | Mathias Magnusson | 2025-06-07 |
| | |||
* | add variable reassignments and basic block arguments | Mathias Magnusson | 2025-06-07 |
| | |||
* | begin implementing if expressions | Mathias Magnusson | 2025-06-04 |
| | | | | | | registers are used over block boundaries though, which doesn't work very well so i turned off register freeing to make it look like it works (unless you create more than 12 values total) | ||
* | remove semicolons | Mathias Magnusson | 2025-06-03 |
| | | | | much bloat they are, indeed | ||
* | add { blocks } with scoped local variables | Mathias Magnusson | 2025-06-03 |
| | |||
* | stop printing non-existant errors | Mathias Magnusson | 2025-06-02 |
| | |||
* | force parenthesis around arguments | Mathias Magnusson | 2025-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 declarations | Mathias Magnusson | 2025-06-02 |
| | |||
* | run program output automatically & print parse tree better | Mathias Magnusson | 2025-06-02 |
| | |||
* | add statements ending in ; and allow parsing multiple of them | Mathias Magnusson | 2025-06-02 |
| | |||
* | make Lexer peekable without a wrapper | Mathias Magnusson | 2025-06-02 |
| | |||
* | add identifiers, procedure calls and a built in print procedure | Mathias Magnusson | 2025-06-01 |
| | |||
* | add (slightly) prett(ier) printing for exprs | Mathias Magnusson | 2025-06-01 |
| | |||
* | add subtraction | Mathias Magnusson | 2025-06-01 |
| | |||
* | codegen integer literals correctly | Mathias Magnusson | 2025-05-31 |
| | | | | This was not as easy as one would expect ☠️ | ||
* | actually codegen the provided code | Mathias Magnusson | 2025-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 | ||
* | compile some god damn additions | Mathias Magnusson | 2025-05-29 |
| | |||
* | initial commit | Mathias Magnusson | 2025-05-28 |