| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | :mod:`token` --- Constants used with Python parse trees
 | 
					
						
							|  |  |  | =======================================================
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. module:: token
 | 
					
						
							|  |  |  |    :synopsis: Constants representing terminal nodes of the parse tree.
 | 
					
						
							| 
									
										
										
										
											2016-06-11 15:02:54 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | .. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-27 01:20:32 +00:00
										 |  |  | **Source code:** :source:`Lib/token.py`
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | --------------
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00: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 09:46:11 +00: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 14:28:22 +00: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 09:46:11 +00: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-09 23:55:56 -04:00
										 |  |  |           ATEQUAL
 | 
					
						
							| 
									
										
										
										
											2011-12-23 22:30:16 -06:00
										 |  |  |           RARROW
 | 
					
						
							|  |  |  |           ELLIPSIS
 | 
					
						
							| 
									
										
										
										
											2010-10-17 09:46:11 +00:00
										 |  |  |           OP
 | 
					
						
							|  |  |  |           ERRORTOKEN
 | 
					
						
							|  |  |  |           N_TOKENS
 | 
					
						
							|  |  |  |           NT_OFFSET
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-31 15:00:21 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-06 18: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-05 20:24:46 -07:00
										 |  |  |    Added :data:`AWAIT` and :data:`ASYNC` tokens.
 | 
					
						
							| 
									
										
										
										
											2017-06-06 18:43:35 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. versionchanged:: 3.7
 | 
					
						
							|  |  |  |    Added :data:`COMMENT`, :data:`NL` and :data:`ENCODING` tokens.
 | 
					
						
							| 
									
										
										
										
											2017-10-05 20:24:46 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. versionchanged:: 3.7
 | 
					
						
							|  |  |  |    Removed :data:`AWAIT` and :data:`ASYNC` tokens. "async" and "await" are
 | 
					
						
							|  |  |  |    now tokenized as :data:`NAME` tokens.
 |