Rangi
0c96234532
Use concrete types instead of auto when convenient and not redundant ( #1757 )
2025-07-17 14:59:51 -04:00
Rangi42
2720224890
Refactor parsing of ld hl, sp + e8
2025-07-15 21:52:22 -04:00
Rangi42
ee29579d3e
Reduce some more deep nesting
2025-07-15 17:41:32 -04:00
Rangi
1fecf80659
Implement 'character' literals ( #1747 )
2025-07-15 13:08:50 -04:00
Rangi
b6d77fbb9e
Implement BYTELEN and STRBYTE ( #1744 )
2025-07-14 21:46:35 -04:00
Rangi
8a19c5c30a
Fix string function behavior with NUL characters ( #1746 )
2025-07-14 21:43:32 -04:00
Rangi42
0149122cd0
Note how to print lexed token names for future reference
2025-07-14 10:25:47 -04:00
Rangi42
35335aadbe
Add test for labels when expecting symbols
2025-07-14 00:10:14 -04:00
Rangi42
80df858ee3
Clarify comment
2025-07-14 00:02:25 -04:00
Rangi42
eafc32fd68
Simplify switch with one case to if
2025-07-13 23:48:01 -04:00
Rangi42
2adeda0318
Use std::tie for sort comparator functions
2025-07-13 14:47:10 -04:00
Rangi42
21a6d35b8b
Simplify readString
2025-07-13 13:26:59 -04:00
Rangi42
ce78280af3
Simplify appendCharInLiteral
2025-07-13 13:22:40 -04:00
Rangi42
041b86b8dd
Use Defer instead of relying on a "Don't return before this" comment
2025-07-13 12:52:45 -04:00
Rangi42
da133baf17
Reduce nesting depth in lexer.cpp
2025-07-12 07:54:16 -04:00
Rangi42
d32b1912ed
Use verbosePrint in rgbasm as well as rgblink
2025-07-12 01:38:19 -04:00
Rangi42
82513e5255
Simplify appendCharInLiteral
2025-07-11 23:52:52 -04:00
Rangi42
f2708ce967
Consolidate readString and appendStringLiteral
2025-07-11 23:43:36 -04:00
Rangi42
01a5c94c7e
Factor out common code from readString and appendStringLiteral
2025-07-11 22:37:28 -04:00
Rangi
510a4aa99d
Add RGBASM -MC flag to continue -MG after missing dependency files ( #1687 )
2025-07-10 13:25:36 -04:00
Rangi42
276a200590
A few miscellaneous edits
2025-07-10 00:33:03 -04:00
Rangi
a40109e4e4
Update the UTF-8 decoder ( #1741 )
2025-07-09 23:13:30 -04:00
Rangi
34cf959c9d
Refactor to reduce nesting depth some more ( #1740 )
2025-07-09 22:46:40 -04:00
Rangi
44f5b47bf0
Reduce nesting depth in some functions ( #1739 )
2025-07-09 16:20:33 -04:00
Rangi
41ab5dff5a
Implement [[ fragment literals ]] ( #1614 )
...
This feature is referred to as "code/data literals" in ASMotor,
and simply as "literals" in some older assemblers like MIDAS
for the PDP-10. RGBASM already had the "section fragments"
feature for keeping disparate contents together when linked,
so these worked naturally as "fragment literals".
2025-07-09 12:13:01 -04:00
Rangi
5e43ece578
Remove errx and errors.hpp ( #1737 )
2025-07-09 11:04:23 -04:00
Rangi42
8c50839109
Miscellaneous updates
2025-07-08 17:45:13 -04:00
Rangi
fda54fd0c3
Replace Either with std::variant ( #1731 )
2025-07-08 13:59:03 -04:00
Rangi
35962dedc4
Refactor warnings and errors ( #1728 )
...
* Remove `err` and `warn`, keep `errx` and `warnx`, using them in RGBGFX too
* Separate RGBGFX and RGBLINK warnings/errors from main options
* Separate `report` function into `error` and `fatal` messages
* Implicit newlines for most RGBASM errors
2025-07-08 12:58:23 -04:00
Rangi
c9765ec158
Factor out program-independent warning diagnostic code ( #1725 )
2025-07-07 18:34:34 -04:00
Rangi42
202c91471c
Fix alignment compatibility with current lower alignment
2025-07-07 22:43:19 +02:00
Rangi
e14f68d1d7
Improve error message for align failure ( #1721 )
2025-07-06 08:36:11 -04:00
Rangi
5942117ac3
Avoid generating phony dependencies for files that don't exist ( #1708 )
2025-06-29 16:42:24 -04:00
Rangi42
612cf3b7dd
Fix some formatting
2025-06-12 17:27:08 -04:00
Rangi
089e366ddc
Implement CHARVAL function ( #1701 )
2025-06-12 17:21:12 -04:00
Rangi
fa9e29e4ce
Implement ++ operator for string concatenation ( #1698 )
2025-06-12 22:52:00 +02:00
Rangi
5d998ef483
Restrict custom binary and graphics digits ( #1693 )
...
* Restrict custom binary and graphics digits
* Update documentation
* Fix build error
2025-05-22 10:52:51 +02:00
Rangi
126b1e5726
Reuse startsIdentifier and continuesIdentifier functions ( #1695 )
2025-05-19 15:31:26 -04:00
Rangi
4f2400c15b
Hint to {interpolate} names when EQUS expanding does not occur ( #1692 )
2025-05-18 17:53:34 +02:00
Rangi
d413870e6d
.sym file sorting accounts for local labels' parents' addresses and names ( #1684 )
2025-05-05 13:57:25 -04:00
Rangi
e95ac6fb06
Recover from errors even inside REPT/FOR loops ( #1683 )
2025-05-04 17:51:53 -04:00
Rangi
e1ae92709c
Fix STRSLICE with no stop index argument ( #1682 )
2025-05-04 16:56:25 -04:00
Rangi
2e6e1ccf06
Show specific messages for some more invalid instructions, not just "syntax error" ( #1679 )
2025-05-03 12:31:00 -04:00
Rangi
e45b9625ca
Group sequences of garbage characters ( #1672 )
2025-04-30 23:31:41 -04:00
Rangi
0b7cda9e0c
Allow negative values to count macro arguments from the end ( #1670 )
2025-04-20 00:37:50 -04:00
Rangi42
2cdbb145da
Avoid use of goto in shiftChar
2025-02-27 14:17:01 -05:00
Rangi42
d8192560b0
Avoid use of goto in FormatSpec::useCharacter
2025-02-27 13:45:13 -05:00
Rangi
632342b254
Use LCOV_EXCL comments to exclude some lines from test coverage ( #1662 )
2025-02-16 13:56:55 -05:00
Rangi
c9060c7f2d
Increase test coverage ( #1661 )
2025-02-16 09:29:16 -05:00
Rangi
b2e865ee2a
Disable EQUS expansion for raw symbols (by parsing them as strings) ( #1648 )
2025-02-15 10:44:51 +01:00