Python 3.5语法的最后四个令牌是什么?

时间:2015-07-26 20:26:14

标签: python parsing grammar python-3.5

https://docs.python.org/3.5/library/token.html

Python 3.5语法的令牌定义中最后四个令牌是什么?

1 个答案:

答案 0 :(得分:4)

token.OP

是运算符令牌的泛化。 tokenize模块中也提到了这一点:

  

为了简化令牌流处理,使用通用token.OP令牌类型返回所有​​Operators和Delimiters令牌。可以通过检查从exact_type返回的命名元组的tokenize.tokenize()属性来确定确切的类型。

token.ERRORTOKEN

用于标记解析器的tokenize-process中的错误。这主要用于生成abort the parsing process

的语法错误

tokenize documentation中也提到了它:

  

请注意,未闭合的单引号字符串不会引发错误。它们被标记为ERRORTOKEN,然后是其内容的标记化。

token.N_TOKENS

只是定义的令牌数量。它在解析器中用于迭代标记列表。

token.NT_OFFSET

token.h中使用如下:

/* Special definitions for cooperation with parser */
#define NT_OFFSET       256

#define ISTERMINAL(x)       ((x) < NT_OFFSET)
#define ISNONTERMINAL(x)    ((x) >= NT_OFFSET)

它基本上将terminal and non-terminal tokens分开。