summaryrefslogtreecommitdiff
path: root/src/main.rs
Commit message (Collapse)AuthorAge
* Rewrite assemblerBen Bridle2024-10-28
| | | | | | | | | | This is an almost complete rewrite of the entire assembler from the ground up, with a different parsing strategy and a whole new symbol resolution mechanism for automatically including library files. The assembly syntax has also been slightly modified, with padding tokens now being prefixed with '#' instead of '$', and a block-style anonymous-label syntax which uses the '{' and '}' characters.
* Report program size as a percentageBen Bridle2024-01-09
| | | | | | | The assembler previously reported only the length of the generated bytecode in bytes. It now also reports the program size as a percentage of the maximum program size of 64KB, to give the user an idea of how close they are to hitting the program size limit.
* Print better error message when unable to output bytecodeBen Bridle2023-12-24
| | | | | Don't print the internal error representation to the console when an error occurs while trying to write the assembled bytecode to stdout.
* Report unused label definitionsBen Bridle2023-12-19
| | | | | | When the assembler successfully assembles a program, it will now report the names of all label definitions for which there are no label references. This is to aid the user in finding dead code within their programs.
* Improve reading and writing from stdin/stdoutBen Bridle2023-11-26
| | | | | Previously, attempting to write large amounts of bytecode to stdout would often result in only the first n bytes being written.
* Exit with status 1 on assembly errorBen Bridle2023-11-26
| | | | | This will break unix pipelines in order to prevent any emulator down the pipeline from attempting to run a malassembled program.
* Added detection of cyclic macro references, and made assembler binary usableBen Bridle2023-05-08
|
* About to refactor parser to be a struct with a method for each stageBen Bridle2023-05-06