1手写一个分词器
动手写一个能切分简单算式的分词器。
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
动手写一个能切分简单算式的分词器。
这棵树叫什么?
把 2 加 3 乘 4 画成树。
加了括号的算式,树会怎么变?
为什么这种写法直观?
再举一个语法对但语义错的例子。
作用域嵌套时符号表怎么组织?
为什么要加这一层?
x = 2 + 3 编译后会变成什么?
为什么这条很难保证?
寄存器不够用怎么办?
先完成分词部分。
完成解析部分。
完成求值并测试。
加上变量支持。
给它加一个内置函数试试。
你刚做的是哪一种?
这样做的好处是什么?
为什么只编译热点?
怎么判断一块内存"不再被用"?
想一个你可能会写"小语言"的场景。
画出编译流程图。
说说这两门课里你最意外的一个知识点。
人多了会多出哪些问题?
为什么维护最贵?
用户说"要个搜索功能",你该问什么?
把"界面要好看"改成可验证的表述。
它的最大风险是什么?
为什么"小而完整"比"大而半成"好?
做一个记账 App,最小版本包含什么?