aboutsummaryrefslogtreecommitdiff
path: root/tests/variables.sh
Commit message (Collapse)AuthorAgeFilesLines
* Remove old test which disallowed initializing globalsMustafa Quraish2022-02-051-8/+0
|
* Type checking of expressions / functions!Mustafa Quraish2022-02-021-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_ASSIGNMustafa Quraish2022-01-311-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 testsMustafa Quraish2022-01-311-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 conditionalsMustafa Quraish2022-01-291-1/+42
|
* Allow uninitialized variable declarationsMustafa Quraish2022-01-291-1/+29
|
* Add some tests for local variablesMustafa Quraish2022-01-291-0/+34