补全:取 token 的值

补全:取 token 的值

补全 val:数字 token 转成 int。 贯穿本节的小语言(判题机没 gcc,这是它的确定模型,见 spine.py):每行一条语句——set 名 = 表达式 或 print 表达式;表达式是空

阅读更多 →
从左到右连减

从左到右连减

按模型,eval_expr(["10","-","3","-","2"], {}) 交回几? 贯穿本

阅读更多 →
2 + 3 * 4 等于几

2 + 3 * 4 等于几

一排 token 排成一行 指示块往右挪,左边一路合成一块 按这门语言的规则,2 + 3 * 4 算出来是【0】。 贯穿本节的小语言(判题机没 gcc,这是它的确定模型,见 spine.py):每行一

阅读更多 →
表达式怎么求值

表达式怎么求值

一排 token 排成一行 指示块往右挪,左边一路合成一块 这门语言的表达式(无优先级)求值方式是【0】。 贯穿本节的小语言(判题机没 gcc,这是它的确定模型,见 spine.py):每行一条语句—

阅读更多 →
补全:字节码更快吗

补全:字节码更快吗

补全 faster_bytecode:1+runs < 2*runs 时字节码更快。 执行方式模型:解释执行边读边跑;字节码先编译一次、之后重复跑更省。cost(方式, runs):解释每次都解

阅读更多 →
补全:算执行代价

补全:算执行代价

补全 cost:解释 2*runs,字节码 1+runs。 执行方式模型:解释执行边读边跑;字节码先编译一次、之后重复跑更省。cost(方式, runs):解释每次都解释 = 2*runs,字节码 =

阅读更多 →
补全:判是不是字节码

补全:判是不是字节码

补全 compile_once:方式是 bytecode 才是先编译一次。 执行方式模型:解释执行边读边跑;字节码先编译一次、之后重复跑更省。cost(方式, runs):解释每次都解释 = 2*ru

阅读更多 →
补全:判是不是解释执行

补全:判是不是解释执行

补全 is_interp:方式是 interp 才算解释执行。 执行方式模型:解释执行边读边跑;字节码先编译一次、之后重复跑更省。cost(方式, runs):解释每次都解释 = 2*runs,字节码

阅读更多 →
解释跑三次的代价

解释跑三次的代价

按模型,cost("interp", 3) 交回几? 执行方式模型:解释执行边读边跑;字节码先编译一次、之后重复跑更省。cost(方式, runs):解释每次都解释 = 2*run

阅读更多 →
反复跑很多次选哪种

反复跑很多次选哪种

同一段程序要反复跑很多次,通常更划算的是【0】。 执行方式模型:解释执行边读边跑;字节码先编译一次、之后重复跑更省。cost(方式, runs):解释每次都解释 = 2*runs,字节码 = 1+ru

阅读更多 →