| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Remove old test which disallowed initializing globals | Mustafa Quraish | 2022-02-05 | 1 | -8/+0 |
| | | |||||
| * | Type checking of expressions / functions! | Mustafa Quraish | 2022-02-02 | 1 | -18/+18 |
| | | | | | | | | | | | | | | | | | | This is a bit of a chonky commit, but it adds in the basics of checking the types of expressions / function calls / return types. There's still a lot of work to be done, including: (1) Adding new core types, and casting between allowed types automatically (2) Picking the corrent output type based on input types (for instance float+int == float) (3) We need much better error reporting, the error messages are really vague and unhelpful as-is (4) We also need to work to ensure that a function with a return type actually returns (5) Possible re-factoring to make stuff less hacky when we have more types / structs / arrays / etc. | ||||
| * | Global variables now supported! + some fixes to OP_ASSIGN | Mustafa Quraish | 2022-01-31 | 1 | -21/+64 |
| | | | | | | | Previously we weren't creating a new assignment node, and this was causing all sorts of funky errors. This commit also fixes that, and we can now use global variables :^) | ||||
| * | Move around tests in the categories; Add missing tests | Mustafa Quraish | 2022-01-31 | 1 | -13/+133 |
| | | | | | | We now also test for local variables in functions, and add a simple test to see if imports work properly. | ||||
| * | Implement blocks (lexically scoped) and conditionals | Mustafa Quraish | 2022-01-29 | 1 | -1/+42 |
| | | |||||
| * | Allow uninitialized variable declarations | Mustafa Quraish | 2022-01-29 | 1 | -1/+29 |
| | | |||||
| * | Add some tests for local variables | Mustafa Quraish | 2022-01-29 | 1 | -0/+34 |