- token —- 与Python解析树一起使用的常量
token —- 与Python解析树一起使用的常量
源码:Lib/token.py
此模块提供表示解析树(终端令牌)的叶节点的数值的常量。 请参阅 Python 发行版中的文件 Grammar/Grammar ,以获取语言语法上下文中名称的定义。 名称映射到的特定数值可能会在 Python 版本之间更改。
该模块还提供从数字代码到名称和一些函数的映射。 这些函数镜像了 Python C 头文件中的定义。
token.tok_name将此模块中定义的常量的数值映射回名称字符串的字典,允许生成更加人类可读的解析树表示。
token.ISTERMINAL(x)Return
Truefor terminal token values.token.ISNONTERMINAL(x)Return
Truefor non-terminal token values.token.ISEOF(x)- Return
Trueif x is the marker indicating the end of input.
标记常量是:
token.ENDMARKERtoken.NAMEtoken.NUMBERtoken.STRINGtoken.NEWLINEtoken.INDENTtoken.DEDENTtoken.LPARToken value for
"(".token.RPARToken value for
")".token.LSQBToken value for
"[".token.RSQBToken value for
"]".token.COLONToken value for
":".token.COMMAToken value for
",".token.SEMIToken value for
";".token.PLUSToken value for
"+".token.MINUSToken value for
"-".token.STARToken value for
"*".token.SLASHToken value for
"/".token.VBARToken value for
"|".token.AMPERToken value for
"&".token.LESSToken value for
"<".token.GREATERToken value for
">".token.EQUALToken value for
"=".token.DOTToken value for
".".token.PERCENTToken value for
"%".token.LBRACEToken value for
"{".token.RBRACEToken value for
"}".token.EQEQUALToken value for
"==".token.NOTEQUALToken value for
"!=".token.LESSEQUALToken value for
"<=".token.GREATEREQUALToken value for
">=".token.TILDEToken value for
"~".token.CIRCUMFLEXToken value for
"^".token.LEFTSHIFTToken value for
"<<".token.RIGHTSHIFTToken value for
">>".token.DOUBLESTARToken value for
"**".token.PLUSEQUALToken value for
"+=".token.MINEQUALToken value for
"-=".token.STAREQUALToken value for
"*=".token.SLASHEQUALToken value for
"/=".token.PERCENTEQUALToken value for
"%=".token.AMPEREQUALToken value for
"&=".token.VBAREQUALToken value for
"|=".token.CIRCUMFLEXEQUALToken value for
"^=".token.LEFTSHIFTEQUALToken value for
"<<=".token.RIGHTSHIFTEQUALToken value for
">>=".token.DOUBLESTAREQUALToken value for
"**=".token.DOUBLESLASHToken value for
"//".token.DOUBLESLASHEQUALToken value for
"//=".token.ATToken value for
"@".token.ATEQUALToken value for
"@=".token.RARROWToken value for
"->".token.ELLIPSISToken value for
"…".token.COLONEQUALToken value for
":=".token.OPtoken.AWAITtoken.ASYNCtoken.TYPE_IGNOREtoken.TYPE_COMMENTtoken.ERRORTOKENtoken.N_TOKENStoken.NT_OFFSETC 标记生成器不使用以下标记类型值,但
tokenize模块需要这些标记类型值。token.COMMENT标记值用于表示注释。
token.NL标记值用于表示非终止换行符。
NEWLINE标记表示 Python 代码逻辑行的结束;当在多条物理线路上继续执行逻辑代码行时,会生成NL标记。token.ENCODING指示用于将源字节解码为文本的编码的标记值。
tokenize.tokenize()返回的第一个标记将始终是一个ENCODING标记。token.TYPE_COMMENT- Token value indicating that a type comment was recognized. Suchtokens are only produced when
ast.parse()is invoked withtype_comments=True.
在 3.5 版更改: 补充 AWAIT 和 ASYNC 标记。
在 3.7 版更改: 补充 COMMENT 、 NL 和 ENCODING 标记。
在 3.7 版更改: 移除 AWAIT 和 ASYNC 标记。 "async" 和 "await" 现在被标记为 NAME 标记。
在 3.8 版更改: Added TYPE_COMMENT.Added AWAIT and ASYNC tokens back (they're neededto support parsing older Python versions for ast.parse() withfeature_version set to 6 or lower).
