aboutsummaryrefslogtreecommitdiff
path: root/lib/darr.c
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2023-11-08 18:15:26 +0000
committerAryadev Chavali <aryadev@aryadevchavali.com>2023-11-08 18:15:26 +0000
commitcb2416554bc4afd76257dfd4cbd420f2d8e03789 (patch)
treeb9e0ca0cf92682b20fea49a71003fe10d0c015e2 /lib/darr.c
parent253bebb4674e5fe8e600fd9fcb9c79d6705759a6 (diff)
downloadovm-cb2416554bc4afd76257dfd4cbd420f2d8e03789.tar.gz
ovm-cb2416554bc4afd76257dfd4cbd420f2d8e03789.tar.bz2
ovm-cb2416554bc4afd76257dfd4cbd420f2d8e03789.zip
Added a preprocessing routine in assembler
Preprocessor handles macros and macro blocks by working at the token level, not doing any high level parsing or instruction making. Essentially every macro is recorded in a registry, recording the name and the tokens assigned to it. Then for every caller it just inserts the tokens inline, creating a new stream and freeing the old one. It leaves actual high level parsing to `parse_next` and `process_presults`.
Diffstat (limited to 'lib/darr.c')
0 files changed, 0 insertions, 0 deletions