(root)/
Python-3.12.0/
Lib/
token.py
       1  """Token constants."""
       2  # Auto-generated by Tools/build/generate_token.py
       3  
       4  __all__ = ['tok_name', 'ISTERMINAL', 'ISNONTERMINAL', 'ISEOF']
       5  
       6  ENDMARKER = 0
       7  NAME = 1
       8  NUMBER = 2
       9  STRING = 3
      10  NEWLINE = 4
      11  INDENT = 5
      12  DEDENT = 6
      13  LPAR = 7
      14  RPAR = 8
      15  LSQB = 9
      16  RSQB = 10
      17  COLON = 11
      18  COMMA = 12
      19  SEMI = 13
      20  PLUS = 14
      21  MINUS = 15
      22  STAR = 16
      23  SLASH = 17
      24  VBAR = 18
      25  AMPER = 19
      26  LESS = 20
      27  GREATER = 21
      28  EQUAL = 22
      29  DOT = 23
      30  PERCENT = 24
      31  LBRACE = 25
      32  RBRACE = 26
      33  EQEQUAL = 27
      34  NOTEQUAL = 28
      35  LESSEQUAL = 29
      36  GREATEREQUAL = 30
      37  TILDE = 31
      38  CIRCUMFLEX = 32
      39  LEFTSHIFT = 33
      40  RIGHTSHIFT = 34
      41  DOUBLESTAR = 35
      42  PLUSEQUAL = 36
      43  MINEQUAL = 37
      44  STAREQUAL = 38
      45  SLASHEQUAL = 39
      46  PERCENTEQUAL = 40
      47  AMPEREQUAL = 41
      48  VBAREQUAL = 42
      49  CIRCUMFLEXEQUAL = 43
      50  LEFTSHIFTEQUAL = 44
      51  RIGHTSHIFTEQUAL = 45
      52  DOUBLESTAREQUAL = 46
      53  DOUBLESLASH = 47
      54  DOUBLESLASHEQUAL = 48
      55  AT = 49
      56  ATEQUAL = 50
      57  RARROW = 51
      58  ELLIPSIS = 52
      59  COLONEQUAL = 53
      60  EXCLAMATION = 54
      61  OP = 55
      62  AWAIT = 56
      63  ASYNC = 57
      64  TYPE_IGNORE = 58
      65  TYPE_COMMENT = 59
      66  SOFT_KEYWORD = 60
      67  FSTRING_START = 61
      68  FSTRING_MIDDLE = 62
      69  FSTRING_END = 63
      70  COMMENT = 64
      71  NL = 65
      72  # These aren't used by the C tokenizer but are needed for tokenize.py
      73  ERRORTOKEN = 66
      74  ENCODING = 67
      75  N_TOKENS = 68
      76  # Special definitions for cooperation with parser
      77  NT_OFFSET = 256
      78  
      79  tok_name = {value: name
      80              for name, value in globals().items()
      81              if isinstance(value, int) and not name.startswith('_')}
      82  __all__.extend(tok_name.values())
      83  
      84  EXACT_TOKEN_TYPES = {
      85      '!': EXCLAMATION,
      86      '!=': NOTEQUAL,
      87      '%': PERCENT,
      88      '%=': PERCENTEQUAL,
      89      '&': AMPER,
      90      '&=': AMPEREQUAL,
      91      '(': LPAR,
      92      ')': RPAR,
      93      '*': STAR,
      94      '**': DOUBLESTAR,
      95      '**=': DOUBLESTAREQUAL,
      96      '*=': STAREQUAL,
      97      '+': PLUS,
      98      '+=': PLUSEQUAL,
      99      ',': COMMA,
     100      '-': MINUS,
     101      '-=': MINEQUAL,
     102      '->': RARROW,
     103      '.': DOT,
     104      '...': ELLIPSIS,
     105      '/': SLASH,
     106      '//': DOUBLESLASH,
     107      '//=': DOUBLESLASHEQUAL,
     108      '/=': SLASHEQUAL,
     109      ':': COLON,
     110      ':=': COLONEQUAL,
     111      ';': SEMI,
     112      '<': LESS,
     113      '<<': LEFTSHIFT,
     114      '<<=': LEFTSHIFTEQUAL,
     115      '<=': LESSEQUAL,
     116      '=': EQUAL,
     117      '==': EQEQUAL,
     118      '>': GREATER,
     119      '>=': GREATEREQUAL,
     120      '>>': RIGHTSHIFT,
     121      '>>=': RIGHTSHIFTEQUAL,
     122      '@': AT,
     123      '@=': ATEQUAL,
     124      '[': LSQB,
     125      ']': RSQB,
     126      '^': CIRCUMFLEX,
     127      '^=': CIRCUMFLEXEQUAL,
     128      '{': LBRACE,
     129      '|': VBAR,
     130      '|=': VBAREQUAL,
     131      '}': RBRACE,
     132      '~': TILDE,
     133  }
     134  
     135  def ISTERMINAL(x):
     136      return x < NT_OFFSET
     137  
     138  def ISNONTERMINAL(x):
     139      return x >= NT_OFFSET
     140  
     141  def ISEOF(x):
     142      return x == ENDMARKER