交付五:五条验收

交付五:五条验收

(每道题开头都有同一段:上一站的 parser(多记了位置)、show(),和错误类 SemError——错误写成一行「原因@行:列」。) 贯穿的源码: let rate = 12 ; let msg

阅读更多 →
交付四:一次报全部

交付四:一次报全部

(每道题开头都有同一段:上一站的 parser(多记了位置)、show(),和错误类 SemError——错误写成一行「原因@行:列」。) 从零写出 check_all(program)(逐句 try

阅读更多 →
交付三:四种语句

交付三:四种语句

(每道题开头都有同一段:上一站的 parser(多记了位置)、show(),和错误类 SemError——错误写成一行「原因@行:列」。) 类型只有 num / str / bool:数字是 num,

阅读更多 →
交付二:type_of

交付二:type_of

(每道题开头都有同一段:上一站的 parser(多记了位置)、show(),和错误类 SemError——错误写成一行「原因@行:列」。) 类型只有 num / str / bool:数字是 num,

阅读更多 →
交付一:Scope

交付一:Scope

(每道题开头都有同一段:上一站的 parser(多记了位置)、show(),和错误类 SemError——错误写成一行「原因@行:列」。) 类型只有 num / str / bool:数字是 num,

阅读更多 →
整段源码的表

整段源码的表

(每道题开头都有同一段:上一站的 parser(多记了位置)、show(),和错误类 SemError——错误写成一行「原因@行:列」。) 贯穿的源码: let rate = 12 ; let msg

阅读更多 →
要在树上走几遍

要在树上走几遍

这门语言要求先声明后使用。语义分析要在树上走【0】。

阅读更多 →
验收一个语义检查器

验收一个语义检查器

交付语义检查器之前,最能说明「它对了」的验收是【0】。

阅读更多 →
补全:数一数标了几种类型

补全:数一数标了几种类型

(每道题开头都有同一段:上一站的 parser(多记了位置)、show(),和错误类 SemError——错误写成一行「原因@行:列」。) 贯穿的源码: let rate = 12 ; let msg

阅读更多 →
补全:给声明标上层数

补全:给声明标上层数

(每道题开头都有同一段:上一站的 parser(多记了位置)、show(),和错误类 SemError——错误写成一行「原因@行:列」。) 贯穿的源码: let rate = 12 ; let msg

阅读更多 →