• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#! /usr/bin/env python3
2"""Token constants (from "token.h")."""
3
4#  Taken from Python (r53757) and modified to include some tokens
5#   originally monkeypatched in by pgen2.tokenize
6
7# --start constants--
8ENDMARKER = 0
9NAME = 1
10NUMBER = 2
11STRING = 3
12NEWLINE = 4
13INDENT = 5
14DEDENT = 6
15LPAR = 7
16RPAR = 8
17LSQB = 9
18RSQB = 10
19COLON = 11
20COMMA = 12
21SEMI = 13
22PLUS = 14
23MINUS = 15
24STAR = 16
25SLASH = 17
26VBAR = 18
27AMPER = 19
28LESS = 20
29GREATER = 21
30EQUAL = 22
31DOT = 23
32PERCENT = 24
33BACKQUOTE = 25
34LBRACE = 26
35RBRACE = 27
36EQEQUAL = 28
37NOTEQUAL = 29
38LESSEQUAL = 30
39GREATEREQUAL = 31
40TILDE = 32
41CIRCUMFLEX = 33
42LEFTSHIFT = 34
43RIGHTSHIFT = 35
44DOUBLESTAR = 36
45PLUSEQUAL = 37
46MINEQUAL = 38
47STAREQUAL = 39
48SLASHEQUAL = 40
49PERCENTEQUAL = 41
50AMPEREQUAL = 42
51VBAREQUAL = 43
52CIRCUMFLEXEQUAL = 44
53LEFTSHIFTEQUAL = 45
54RIGHTSHIFTEQUAL = 46
55DOUBLESTAREQUAL = 47
56DOUBLESLASH = 48
57DOUBLESLASHEQUAL = 49
58AT = 50
59ATEQUAL = 51
60OP = 52
61COMMENT = 53
62NL = 54
63RARROW = 55
64AWAIT = 56
65ASYNC = 57
66ERRORTOKEN = 58
67COLONEQUAL = 59
68N_TOKENS = 60
69NT_OFFSET = 256
70# --end constants--
71
72tok_name = {
73    _value: _name
74    for _name, _value in globals().copy().items()
75    if isinstance(_value, int)
76}
77
78
79def ISTERMINAL(x):
80  return x < NT_OFFSET
81
82
83def ISNONTERMINAL(x):
84  return x >= NT_OFFSET
85
86
87def ISEOF(x):
88  return x == ENDMARKER
89