aboutsummaryrefslogtreecommitdiff
path: root/test.sh
Commit message (Collapse)AuthorAgeFilesLines
* Update build system to use MakefileMustafa Quraish2022-01-301-12/+0
| | | | | | | | | `make` to compile the compiler `make XXX.out` to assemble/link `XXX.nasm` into an executable `make test` to run all tests `make tests/XXX` to run `tests/XXX.sh` test file `./run.sh <cupcc args>` to build, compile, run and show exit code
* Implement blocks (lexically scoped) and conditionalsMustafa Quraish2022-01-291-2/+3
|
* Stop tests if compilation failsMustafa Quraish2022-01-291-0/+2
|
* Add relational and logical operators + refactor binop parserMustafa Quraish2022-01-291-0/+2
| | | | | | | | | We now support OR and AND with short circuiting! (Yet to be tested since we don't yet have local variables to play with). The binop parser took a bit of an overhaul factoring out the common code so that it's easier to describe the operator precendence relationships without being overly repetitive.
* Scripts: Reorganize a bit, add some rudimentary shell-testingMustafa Quraish2022-01-281-16/+5
| | | | | Just to make sure we don't break stuff. We'll probably want better unit tests specifically for each part once we're more stable.
* Add some scripts to help assemble generated output and run itMustafa Quraish2022-01-281-0/+18
Until we have a better way of outputting the data, we're just using return codes for now. The `test.sh` script creates the compiler, compiles the selected file into ASM, then assembles and links the generated output, after which it runs it and shows the exit status.