怎么认出一个数字
切好词后,判断某个 token 是不是数字,靠的是【0】。 贯穿本节的小语言(判题机没 gcc,这是它的确定模型,见 spine.py):每行一条语句——set 名 = 表达式 或 print 表达式;表达式是空格分隔的 token,从左到
这串 token 有几个运算符
按模型,count_ops(["1", "+", "2", "-", "3"]) 交回几? 贯穿本节的小语言(判题机没 gcc,这是它的确定
补全:判 token 类别
补全 kind 里的运算符分支:+ - * 要判成 op。 贯穿本节的小语言(判题机没 gcc,这是它的确定模型,见 spine.py):每行一条语句——set 名 = 表达式 或 print 表达式;表达式是空格分隔的 token,从左到
补全:按空格切词
补全 tokenize:把一行按空格切成 token 列表。 贯穿本节的小语言(判题机没 gcc,这是它的确定模型,见 spine.py):每行一条语句——set 名 = 表达式 或 print 表达式;表达式是空格分隔的 token,从左
补全:数运算符
补全 count_ops:数这串 token 里有几个运算符。 贯穿本节的小语言(判题机没 gcc,这是它的确定模型,见 spine.py):每行一条语句——set 名 = 表达式 或 print 表达式;表达式是空格分隔的 token,从
补全:数一行的 token
补全 n_tokens:这一行切出几个 token。 贯穿本节的小语言(判题机没 gcc,这是它的确定模型,见 spine.py):每行一条语句——set 名 = 表达式 或 print 表达式;表达式是空格分隔的 token,从左到右求值
语法分析产出什么
语法分析(parse)把一串 token 整理成【0】。 parse 把一行变成 AST 元组:set 行 ("set", 名, 表达式tokens),print 行 ("print", None,
AST 比一串 token 好在哪
把语句整理成 AST,比留着一串 token 好在【0】。 parse 把一行变成 AST 元组:set 行 ("set", 名, 表达式tokens),print 行 ("print", None,
set 语句里被赋值的是谁
在 set x = 2 + 3 里,x 在 AST 里的角色是【0】。 parse 把一行变成 AST 元组:set 行 ("set", 名, 表达式tokens),print 行 ("print",
print 行解析出的类型
按模型,parse("print x")[0] 交回什么? parse 把一行变成 AST 元组:set 行 ("set", 名, 表达式tokens),print 行 ("print&qu