| :mod:`token` --- Constants used with Python parse trees | |
| ======================================================= | |
| .. module:: token | |
| :synopsis: Constants representing terminal nodes of the parse tree. | |
| .. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org> | |
| **Source code:** :source:`Lib/token.py` | |
| -------------- | |
| This module provides constants which represent the numeric values of leaf nodes | |
| of the parse tree (terminal tokens). Refer to the file :file:`Grammar/Grammar` | |
| in the Python distribution for the definitions of the names in the context of | |
| the language grammar. The specific numeric values which the names map to may | |
| change between Python versions. | |
| The module also provides a mapping from numeric codes to names and some | |
| functions. The functions mirror definitions in the Python C header files. | |
| .. data:: tok_name | |
| Dictionary mapping the numeric values of the constants defined in this module | |
| back to name strings, allowing more human-readable representation of parse trees | |
| to be generated. | |
| .. function:: ISTERMINAL(x) | |
| Return true for terminal token values. | |
| .. function:: ISNONTERMINAL(x) | |
| Return true for non-terminal token values. | |
| .. function:: ISEOF(x) | |
| Return true if *x* is the marker indicating the end of input. | |
| The token constants are: | |
| .. data:: ENDMARKER | |
| NAME | |
| NUMBER | |
| STRING | |
| NEWLINE | |
| INDENT | |
| DEDENT | |
| LPAR | |
| RPAR | |
| LSQB | |
| RSQB | |
| COLON | |
| COMMA | |
| SEMI | |
| PLUS | |
| MINUS | |
| STAR | |
| SLASH | |
| VBAR | |
| AMPER | |
| LESS | |
| GREATER | |
| EQUAL | |
| DOT | |
| PERCENT | |
| LBRACE | |
| RBRACE | |
| EQEQUAL | |
| NOTEQUAL | |
| LESSEQUAL | |
| GREATEREQUAL | |
| TILDE | |
| CIRCUMFLEX | |
| LEFTSHIFT | |
| RIGHTSHIFT | |
| DOUBLESTAR | |
| PLUSEQUAL | |
| MINEQUAL | |
| STAREQUAL | |
| SLASHEQUAL | |
| PERCENTEQUAL | |
| AMPEREQUAL | |
| VBAREQUAL | |
| CIRCUMFLEXEQUAL | |
| LEFTSHIFTEQUAL | |
| RIGHTSHIFTEQUAL | |
| DOUBLESTAREQUAL | |
| DOUBLESLASH | |
| DOUBLESLASHEQUAL | |
| AT | |
| ATEQUAL | |
| RARROW | |
| ELLIPSIS | |
| OP | |
| ERRORTOKEN | |
| N_TOKENS | |
| NT_OFFSET | |
| The following token type values aren't used by the C tokenizer but are needed for | |
| the :mod:`tokenize` module. | |
| .. data:: COMMENT | |
| Token value used to indicate a comment. | |
| .. data:: NL | |
| Token value used to indicate a non-terminating newline. The | |
| :data:`NEWLINE` token indicates the end of a logical line of Python code; | |
| ``NL`` tokens are generated when a logical line of code is continued over | |
| multiple physical lines. | |
| .. data:: ENCODING | |
| Token value that indicates the encoding used to decode the source bytes | |
| into text. The first token returned by :func:`tokenize.tokenize` will | |
| always be an ``ENCODING`` token. | |
| .. versionchanged:: 3.5 | |
| Added :data:`AWAIT` and :data:`ASYNC` tokens. | |
| .. versionchanged:: 3.7 | |
| Added :data:`COMMENT`, :data:`NL` and :data:`ENCODING` tokens. | |
| .. versionchanged:: 3.7 | |
| Removed :data:`AWAIT` and :data:`ASYNC` tokens. "async" and "await" are | |
| now tokenized as :data:`NAME` tokens. |