Commit Graph

2431 Commits

Author SHA1 Message Date
Rangi42
fc5ab8a14c Clarify comment explaining how referenced works 2024-02-29 13:44:08 -05:00
Rangi42
ace45bfd90 Refactor to avoid repeating rpn_isKnown(expr) 2024-02-29 13:44:08 -05:00
Rangi42
d6681d3580 struct Section's src can be const 2024-02-29 13:44:08 -05:00
Rangi42
0cc49782ab Use std::variant and automatic allocation for file stack node data 2024-02-29 13:44:08 -05:00
Rangi42
e1ac51d7da Use std::vector's .size() for SDCC sections and symbols 2024-02-29 13:44:08 -05:00
Rangi42
c3eb532439 Use copy constructor for file stack node 2024-02-29 13:44:08 -05:00
Rangi42
18d4a81954 Use move semantics for the union stacks 2024-02-29 13:44:08 -05:00
Rangi42
7daa8759c9 Use std::variant for STRFMT arguments 2024-02-29 13:44:08 -05:00
Rangi42
beb1997378 Use std::unordered_map for the keyword dict 2024-02-29 13:44:08 -05:00
Rangi42
962398969b Use std::string for PURGE args 2024-02-29 13:44:08 -05:00
Rangi42
0bed84174b Use std::string for FOR loop variables 2024-02-29 13:44:08 -05:00
Rangi42
48b2e94aa3 Use std::string for symbol/section/node names and assertion messages 2024-02-29 13:44:08 -05:00
Rangi42
a24df27cd8 Use std::vector for charmap output 2024-02-29 13:44:08 -05:00
Rangi42
52ac98c294 Use std::vector for section data 2024-02-29 13:44:08 -05:00
Rangi42
4cd88ade54 Use automatic allocation for object file symbols 2024-02-29 13:44:08 -05:00
Rangi42
dead69eb2c Use std::vector for section symbols 2024-02-29 13:44:08 -05:00
Rangi42
f47ce337bf Use std::vector for reading object file symbols 2024-02-29 13:44:08 -05:00
Rangi42
9a51fbafb3 Use std::vector for file stack nodes 2024-02-29 13:44:08 -05:00
Rangi42
3d23f5bbb3 Use std::vector for reading object file sections 2024-02-29 13:44:08 -05:00
Rangi42
af055ecd27 Use automatic allocation for IF stacks and expansions
Switch to using `std::deque` for IF stacks (supports `.clear()`)
2024-02-29 13:44:08 -05:00
Rangi42
31836967fa Use automatic allocation for lexer states
Lexer states are now owned by fstack contexts
2024-02-29 13:44:08 -05:00
Rangi42
514044496f Use std::string for RPN error reasons 2024-02-29 13:44:08 -05:00
Rangi42
cf42d035f2 Use std::variant for file stack nodes 2024-02-29 13:44:08 -05:00
Rangi42
4b2294292a Use std::string for target file name 2024-02-29 13:44:08 -05:00
Rangi42
0e19f6c0ae Use automatic allocation for fstack nodes' iters/names 2024-02-29 13:44:08 -05:00
Rangi42
5075ac8887 Use std::vector for RPN expressions 2024-02-29 13:44:08 -05:00
Rangi42
d792ee4b61 Use std::vector for section patches 2024-02-29 13:44:08 -05:00
Rangi42
b207bff157 Use std::vector for fstack REPT nodes 2024-02-29 13:44:08 -05:00
Rangi42
53343d2fa6 Use automatic allocation for symbols 2024-02-29 13:44:08 -05:00
Rangi42
e98d1efee3 Use std::vector for include paths 2024-02-29 13:44:08 -05:00
Rangi42
e4764e37b1 Use std::stack for fstack contexts 2024-02-29 13:44:08 -05:00
Rangi42
b8e267e387 Use std::vector for SDAS file sections 2024-02-29 13:44:08 -05:00
Rangi42
17861a970f Use std::vector for RPN data 2024-02-29 13:44:08 -05:00
Rangi42
a5ea25cde5 Use automatic allocation for RPN stack 2024-02-29 13:44:08 -05:00
Rangi42
843f3394c8 Use automatic allocation for DS args 2024-02-29 13:44:08 -05:00
Rangi42
b1aa98b43d Use automatic allocation for PURGE args 2024-02-29 13:44:08 -05:00
Rangi42
6a23c5fd48 Use automatic allocation for STRFMT args 2024-02-29 13:44:08 -05:00
Rangi42
6b2c6c20bc Use automatic allocation for macro args 2024-02-29 13:44:08 -05:00
Rangi42
a4ed7e1d18 Use automatic allocation for charmaps 2024-02-29 13:44:08 -05:00
Rangi42
1b8e588961 Use automatic allocation for patch RPN 2024-02-29 13:44:08 -05:00
Rangi42
dec1811d20 Use automatic allocation for section data 2024-02-29 13:44:08 -05:00
Rangi42
72e9f55368 Use automatic allocation for patches 2024-02-29 13:44:08 -05:00
Rangi42
9140180c85 Use automatic allocation for sections 2024-02-29 13:44:08 -05:00
Rangi42
e022adf4a0 Use automatic allocation for assertions 2024-02-29 13:44:08 -05:00
Rangi42
6e03504802 Use std::deque for expansions 2024-02-29 13:44:08 -05:00
Rangi42
003977a9fb Use std::deque for unassigned sections 2024-02-29 13:44:08 -05:00
Rangi42
1afc8554c0 Use std::deque for file stack nodes 2024-02-29 13:44:08 -05:00
Rangi42
26a93a530b Use std::deque for assertions
Also fix a memory leak
2024-02-29 13:44:08 -05:00
Rangi42
2df4fff6c9 Use std::vector for sorted symbols 2024-02-29 13:44:08 -05:00
Rangi42
b74b40abd2 Use std::deque for sorted sections 2024-02-29 13:44:08 -05:00