⚠️ 自己写:整个生成器出报告
(每道题开头都有同一段:MNEMONIC 把运算符映射到助记符(+→ADD、-→SUB、*→MUL);select(t) 把一条 IR 选成几条汇编(二元运算 4 条、const/copy 各 2 条
补全:够不够寄存器
(每道题开头都有同一段:regs_used(prog) 程序里不同临时变量的个数;spills(ntemps, k) = max(0, ntemps-k)(k 个寄存器装不下就溢出);fits(nte
补全:数总指令
(每道题开头都有同一段:MNEMONIC 把运算符映射到助记符(+→ADD、-→SUB、*→MUL);select(t) 把一条 IR 选成几条汇编(二元运算 4 条、const/copy 各 2 条
补全:整段发射汇编
(每道题开头都有同一段:MNEMONIC 把运算符映射到助记符(+→ADD、-→SUB、*→MUL);select(t) 把一条 IR 选成几条汇编(二元运算 4 条、const/copy 各 2 条
补全:选一条运算
(每道题开头都有同一段:MNEMONIC 把运算符映射到助记符(+→ADD、-→SUB、*→MUL);select(t) 把一条 IR 选成几条汇编(二元运算 4 条、const/copy 各 2 条
一个表达式生成几条、几条运算
(每道题开头都有同一段:MNEMONIC 把运算符映射到助记符(+→ADD、-→SUB、*→MUL);select(t) 把一条 IR 选成几条汇编(二元运算 4 条、const/copy 各 2 条
怎么验生成得对不对
验代码生成器对不对,靠谱的做法是【0】。
生成器要走哪几步
为小语言写代码生成器,主干顺序是【0】。
补全:整段有几条运算指令
(每道题开头都有同一段:MNEMONIC 把运算符映射到助记符(+→ADD、-→SUB、*→MUL);select(t) 把一条 IR 选成几条汇编(二元运算 4 条、const/copy 各 2 条
补全:取出运算的助记符
(每道题开头都有同一段:MNEMONIC 把运算符映射到助记符(+→ADD、-→SUB、*→MUL);select(t) 把一条 IR 选成几条汇编(二元运算 4 条、const/copy 各 2 条