⚠️ 自己写:整个生成器出报告

⚠️ 自己写:整个生成器出报告

(每道题开头都有同一段: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 条

阅读更多 →