| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
These could be misleading, they could incorrectly indicate that the
brackets are part of the format name.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The width of a negative integer was previously being counted in the
same way as for a positive integer, by inverting the bits to make it a
positive integer and then finding the placement of the highest-order 1
bit.
The actual width of a negative integer will always be one greater than
this value however, because the highest-order 1 bit of an inverted
negative integer will always have directly above it a significant 0 bit
used as the sign bit.
|
|
|
|
|
| |
Negative literals take the forms -29, -0x1D, and -0b11101 for decimal,
hexadecimal, and binary.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Previously, the token quoted in the error message for an invalid
literal error included the radix prefix. This is already visible in
the highlighted source report, and implied by the named radix in the
error message.
|
|
|
|
|
| |
It makes no sense for the file extension to be a positional argument,
it'll barely be used anyway.
|
| |
|
|
|
|
| |
torque-asm now uses the Compiler type provided by the assembler library.
|
|
|
|
|
|
|
| |
- Rename tokens field on SyntacticMacroDefinition to body
- Rename push_err! macro to err!
- Create macros for character-matching logic in syntactic parsing
- Replace .as_bytes().to_vec() pattern with .into_bytes()
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The latest version of the assembler dependency fixes an issue that was
preventing the library from compiling under the latest rust nightly
1.87.0.
|
| |
|
|
|
|
| |
inhx is the original Intel hex format.
|
|
|
|
|
|
|
|
| |
String literals are treated as integers. If a string is passed as an
integer argument to a packed binary literal, a new instance of the
packed binary literal is invoked for every character in the string,
with each character being passed to the packed binary literal as a
Unicode character value.
|
| |
|
|
|
|
|
| |
This is a huge and messy commit, worked on piecemeal while traveling
and while the language was still being designed.
|
| |
|
| |
|
|
|
|
| |
This will allow type names to be shared by both types of token.
|
| |
|
|
|