2007-08-15 11:28:22 -03:00
|
|
|
:mod:`token` --- Constants used with Python parse trees
|
|
|
|
=======================================================
|
|
|
|
|
|
|
|
.. module:: token
|
|
|
|
:synopsis: Constants representing terminal nodes of the parse tree.
|
2016-06-11 16:02:54 -03:00
|
|
|
|
2007-08-15 11:28:22 -03:00
|
|
|
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
|
|
|
|
2011-01-26 21:20:32 -04:00
|
|
|
**Source code:** :source:`Lib/token.py`
|
|
|
|
|
|
|
|
--------------
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2010-10-17 06:46:11 -03:00
|
|
|
The module also provides a mapping from numeric codes to names and some
|
|
|
|
functions. The functions mirror definitions in the Python C header files.
|
2007-08-15 11:28:22 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. 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.
|
|
|
|
|
|
|
|
|
2010-10-17 06:46:11 -03:00
|
|
|
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
|
2014-04-10 00:55:56 -03:00
|
|
|
ATEQUAL
|
2011-12-24 00:30:16 -04:00
|
|
|
RARROW
|
|
|
|
ELLIPSIS
|
2010-10-17 06:46:11 -03:00
|
|
|
OP
|
|
|
|
ERRORTOKEN
|
|
|
|
N_TOKENS
|
|
|
|
NT_OFFSET
|
|
|
|
|
2017-05-31 11:00:21 -03:00
|
|
|
|
2017-06-06 12:43:35 -03:00
|
|
|
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
|
2017-10-06 00:24:46 -03:00
|
|
|
Added :data:`AWAIT` and :data:`ASYNC` tokens.
|
2017-06-06 12:43:35 -03:00
|
|
|
|
|
|
|
.. versionchanged:: 3.7
|
|
|
|
Added :data:`COMMENT`, :data:`NL` and :data:`ENCODING` tokens.
|
2017-10-06 00:24:46 -03:00
|
|
|
|
|
|
|
.. versionchanged:: 3.7
|
|
|
|
Removed :data:`AWAIT` and :data:`ASYNC` tokens. "async" and "await" are
|
|
|
|
now tokenized as :data:`NAME` tokens.
|