实现 1/5:表达式
(n08 五道题共用一段开头:parser、Env、Closure、ReturnSignal,和五段验收程序 PROGS 与跑前 k 段的 run_progs(k)。这五道题自己写 eval_ / exec_ / exec_block /
实现 2/5:语句和控制流
(n08 五道题共用一段开头:parser、Env、Closure、ReturnSignal,和五段验收程序 PROGS 与跑前 k 段的 run_progs(k)。这五道题自己写 eval_ / exec_ / exec_block /
实现 3/5:函数
(n08 五道题共用一段开头:parser、Env、Closure、ReturnSignal,和五段验收程序 PROGS 与跑前 k 段的 run_progs(k)。这五道题自己写 eval_ / exec_ / exec_block /
实现 4/5:闭包
(n08 五道题共用一段开头:parser、Env、Closure、ReturnSignal,和五段验收程序 PROGS 与跑前 k 段的 run_progs(k)。这五道题自己写 eval_ / exec_ / exec_block /
实现 5/5:错误与验收
(n08 五道题共用一段开头:parser、Env、Closure、ReturnSignal,和五段验收程序 PROGS 与跑前 k 段的 run_progs(k)。这五道题自己写 eval_ / exec_ / exec_block /
解释器当命令行工具要多什么
判题机里的 run(src) 交回一个字符串;把它做成 python3 解释器.py 程序.txt 这样的命令行工具,至少要多三样:【0】。
从退出码和两路输出里认结果
真机上跑一个程序会得到三样东西:标准输出、标准错误、退出码。先在这里练怎么分类: runs = [("14\n20\n", "", 0), ("", "运行时错误: 除以
跑一遍,最后打的是几
场景:~/解释器.py 是这门小语言的解释器,~/程序/账单.txt 是一段程序。对照表列了八个数。 任务:用解释器跑这段程序,看它最后一行打出的数是几,到对照表里查这个数对应的标记。 可操作范围:只在分给你的这台实验机上操作。可以改家目录
六个程序哪个跑不通
场景:~/程序/ 里有六段程序,其中一段跑不通。README 里写了怎么看退出码。对照表列了八个文件名。 任务:逐个跑,找出退出码非零的那个文件名,到对照表里查它对应的标记。 可操作范围:只在分给你的这台实验机上操作。可以改家目录里的任何东
退出码是几
场景:~/程序/试试.txt 是一段程序。README 里写了退出码各代表什么。对照表列了八个数。 任务:用解释器跑它,看退出码是几,到对照表里查这个数对应的标记。 可操作范围:只在分给你的这台实验机上操作。可以改家目录里的任何东西,不要动