这段指令跑出来是多少
一段四条指令的小程序,和一个十来行的解释器: 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 各被切成几个词。
开始练习 →