这段指令跑出来是多少

一段四条指令的小程序,和一个十来行的解释器: PROG = [ ("SET", "x", 3), ("ADD", "x", 4),

开始练习 →

⚠️ 循环转了几圈

数一数解释器那个循环一共转了几圈,和指令条数放在一起: PROG = [ ("SET", "x", 3), ("ADD", "x", 4

开始练习 →

自己写:补全这台解释器

SET 已经写好了,把另外三条指令补上。

开始练习 →

⚠️ 给它加一条新指令

给这台解释器加一条 SUB(减法),然后两段程序各跑一次。注意新分支要加在 PRINT 之前。

开始练习 →

把环境每一步的样子记下来

让解释器每执行完一条指令,就把 x 当时的值记一笔。(PRINT 那条不改动 x,所以最后两笔一样。)

开始练习 →

第一站的产物长什么样

词法这一站做完之后,交给下一站的是【0】。

开始练习 →

第二站的产物为什么是一棵树

语法站把词串组织成一棵树,而不是继续排成一条线。原因是【0】。

开始练习 →

⚠️ 三种产物,哪个离机器最近

词、树、字节码这三样,离机器最近的是【0】。

开始练习 →

同一行代码的三种样子

拿 print("hi") 这一行,分别看它的词数、树的顶层节点类型、编译产物里记下的名字: import ast, io, tokenize LINE = 'print("hi")'

开始练习 →

自己数:两行代码各几个词

数一数 print("hi") 和 x = 1 + 2 各被切成几个词。

开始练习 →