blob: 527df70c154fab991ee49c6b4718d2b2baa696ab [file] [log] [blame]
Guido van Rossumb31c7f71993-11-11 10:31:23 +00001# Tokens (from "token.h")
2
3ENDMARKER = 0
4NAME = 1
5NUMBER = 2
6STRING = 3
7NEWLINE = 4
8INDENT = 5
9DEDENT = 6
10LPAR = 7
11RPAR = 8
12LSQB = 9
13RSQB = 10
14COLON = 11
15COMMA = 12
16SEMI = 13
17PLUS = 14
18MINUS = 15
19STAR = 16
20SLASH = 17
21VBAR = 18
22AMPER = 19
23LESS = 20
24GREATER = 21
25EQUAL = 22
26DOT = 23
27PERCENT = 24
28BACKQUOTE = 25
29LBRACE = 26
30RBRACE = 27
31EQEQUAL = 28
32NOTEQUAL = 29
33LESSEQUAL = 30
34GREATEREQUAL = 31
35TILDE = 32
36CIRCUMFLEX = 33
37LEFTSHIFT = 34
38RIGHTSHIFT = 35
Guido van Rossum154a5391996-07-21 02:17:52 +000039DOUBLESTAR = 36
40OP = 37
41ERRORTOKEN = 38
Guido van Rossumb31c7f71993-11-11 10:31:23 +000042
43names = dir()
44tok_name = {}
45for name in names:
Guido van Rossum154a5391996-07-21 02:17:52 +000046 number = eval(name)
47 if type(number) is type(0):
Guido van Rossumb31c7f71993-11-11 10:31:23 +000048 tok_name[number] = name
49
Guido van Rossum154a5391996-07-21 02:17:52 +000050N_TOKENS = 39 # Number of tokens including ERRORTOKEN
Guido van Rossumb31c7f71993-11-11 10:31:23 +000051NT_OFFSET = 256 # Start of non-terminal symbols
Guido van Rossum154a5391996-07-21 02:17:52 +000052
53def ISTERMINAL(x):
54 return x < NT_OFFSET
55
56def ISNONTERMINAL(x):
57 return x >= NT_OFFSET
58
59def ISEOF(x):
60 return x == ENDMARKER