Catch name collision between macros and symbols
Catch invalid macro names
Force a closing of the macro parsing
Drifblim is a Uxntal assembler, written in that same language.
The assembler is designed to help bootstrap the Uxn ecosystem, it is available as an assembled rom, a symbols file and a print-friendly source code, along with its hexadecimal data and the napkin definition of the Uxn virtual machine.
This assembler is written in the language it is assembling, creating a chicken-and-egg problem. You have two choices, download a pre-assembled drifblim.rom(1300 bytes), or use uxnasm.c.
# start with uxnasm
uxnasm src/drifblim.tal bin/drifblim-seed.rom
# from drifblim.rom
uxncli bin/drifblim-seed.rom src/drifblim.tal bin/drifblim.rom
# Assembling hello.tal
uxncli bin/drifblim.rom etc/hello.tal bin/hello.rom
uxncli bin/hello.rom
If do not wish to assemble it yourself, you can download drifblim.rom.
Drifblim is strong enough to lift Pokemon or people but has no control over its flight. This causes it to drift with the wind and end up anywhere.