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