(root)/
Python-3.11.7/
Lib/
token.py
       1  """Token constants."""
       2  # Auto-generated by Tools/scripts/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  OP = 54
      61  AWAIT = 55
      62  ASYNC = 56
      63  TYPE_IGNORE = 57
      64  TYPE_COMMENT = 58
      65  SOFT_KEYWORD = 59
      66  # These aren't used by the C tokenizer but are needed for tokenize.py
      67  ERRORTOKEN = 60
      68  COMMENT = 61
      69  NL = 62
      70  ENCODING = 63
      71  N_TOKENS = 64
      72  # Special definitions for cooperation with parser
      73  NT_OFFSET = 256
      74  
      75  tok_name = {value: name
      76              for name, value in globals().items()
      77              if isinstance(value, int) and not name.startswith('_')}
      78  __all__.extend(tok_name.values())
      79  
      80  EXACT_TOKEN_TYPES = {
      81      '!=': NOTEQUAL,
      82      '%': PERCENT,
      83      '%=': PERCENTEQUAL,
      84      '&': AMPER,
      85      '&=': AMPEREQUAL,
      86      '(': LPAR,
      87      ')': RPAR,
      88      '*': STAR,
      89      '**': DOUBLESTAR,
      90      '**=': DOUBLESTAREQUAL,
      91      '*=': STAREQUAL,
      92      '+': PLUS,
      93      '+=': PLUSEQUAL,
      94      ',': COMMA,
      95      '-': MINUS,
      96      '-=': MINEQUAL,
      97      '->': RARROW,
      98      '.': DOT,
      99      '...': ELLIPSIS,
     100      '/': SLASH,
     101      '//': DOUBLESLASH,
     102      '//=': DOUBLESLASHEQUAL,
     103      '/=': SLASHEQUAL,
     104      ':': COLON,
     105      ':=': COLONEQUAL,
     106      ';': SEMI,
     107      '<': LESS,
     108      '<<': LEFTSHIFT,
     109      '<<=': LEFTSHIFTEQUAL,
     110      '<=': LESSEQUAL,
     111      '=': EQUAL,
     112      '==': EQEQUAL,
     113      '>': GREATER,
     114      '>=': GREATEREQUAL,
     115      '>>': RIGHTSHIFT,
     116      '>>=': RIGHTSHIFTEQUAL,
     117      '@': AT,
     118      '@=': ATEQUAL,
     119      '[': LSQB,
     120      ']': RSQB,
     121      '^': CIRCUMFLEX,
     122      '^=': CIRCUMFLEXEQUAL,
     123      '{': LBRACE,
     124      '|': VBAR,
     125      '|=': VBAREQUAL,
     126      '}': RBRACE,
     127      '~': TILDE,
     128  }
     129  
     130  def ISTERMINAL(x):
     131      return x < NT_OFFSET
     132  
     133  def ISNONTERMINAL(x):
     134      return x >= NT_OFFSET
     135  
     136  def ISEOF(x):
     137      return x == ENDMARKER