summaryrefslogtreecommitdiff
path: root/src/lib.rs
Commit message (Collapse)AuthorAge
* Allow label references in pinned address calculationsBen Bridle44 hours
| | | | | | | | | | | | | | | | This is a relaxation of the rule where a label reference could not be used in any context that could change the length of an assembled program. We implement this in the bytecode stage by naively calculating an initial address for each label as before. If a pinned address is calculated from a label reference, some of the calculated addresses could be incorrect. We then attempt to run the bytecode stage, which will calculate a more accurate address for each label based on how pinned addresses are calculated. If the address of any label was changed by running this stage, we re-run the stage up to three more times until all labels stabilise. If the labels fail to stabilise, we return an error.
* Update assembler dependencyBen Bridle2025-03-18
| | | | torque-asm now uses the Compiler type provided by the assembler library.
* Rewrite entire assemblerBen Bridle2025-03-11
| | | | | | | | | | | | The language is now more general, the code is better structured, error reporting is more detailed, and many new language features have been implemented: - conditional blocks - first-class strings - more expression operators - binary literals - negative values - invocations in constant expressions
* Change binary name to tqBen Bridle2025-03-01