我的根本想法其实是保留 ZJB 语言,但把编译器的结构还原到传统的编译-汇编-链接三段结构。三段法结构其优势在于每一段独立定义,独立维护,且方便跨平台。
zjbc file.zjb -S -o file.S
sdas8051 file.S -o file.o
sdld file.hex file.o
我现在的计划中汇编、链接两段直接借用 SDCC 的,因此要删去 ZJB 中的内置汇编、链接器。而且对于我做跨平台改编来说,删去这两段可以显著减少需要改写的代码量。另外,这样的结构还可以兼容 LLVM/clang 的后台,方便改造成 ARM 和 x86 的版本。 |