blob: 88ef3fcb6c04b9db6fb1318f2e8f1dee796690a8 [file] [log] [blame]
Guido van Rossumf70e43a1991-02-19 12:39:46 +00001/***********************************************************
Guido van Rossumfd71b9e2000-06-30 23:50:40 +00002Copyright (c) 2000, BeOpen.com.
3Copyright (c) 1995-2000, Corporation for National Research Initiatives.
4Copyright (c) 1990-1995, Stichting Mathematisch Centrum.
5All rights reserved.
Guido van Rossumf70e43a1991-02-19 12:39:46 +00006
Guido van Rossumfd71b9e2000-06-30 23:50:40 +00007See the file "Misc/COPYRIGHT" for information on usage and
8redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
Guido van Rossumf70e43a1991-02-19 12:39:46 +00009******************************************************************/
10
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000011/* Token types */
12
Fred Drake3cf4d2b2000-07-09 00:55:06 +000013#ifndef Py_TOKEN_H
14#define Py_TOKEN_H
15#ifdef __cplusplus
16extern "C" {
17#endif
18
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000019#define ENDMARKER 0
20#define NAME 1
21#define NUMBER 2
22#define STRING 3
23#define NEWLINE 4
24#define INDENT 5
25#define DEDENT 6
26#define LPAR 7
27#define RPAR 8
28#define LSQB 9
29#define RSQB 10
30#define COLON 11
31#define COMMA 12
32#define SEMI 13
33#define PLUS 14
34#define MINUS 15
35#define STAR 16
36#define SLASH 17
37#define VBAR 18
38#define AMPER 19
39#define LESS 20
40#define GREATER 21
41#define EQUAL 22
42#define DOT 23
43#define PERCENT 24
44#define BACKQUOTE 25
45#define LBRACE 26
46#define RBRACE 27
Guido van Rossum8883aaa1991-10-20 20:24:45 +000047#define EQEQUAL 28
48#define NOTEQUAL 29
49#define LESSEQUAL 30
50#define GREATEREQUAL 31
Guido van Rossum7928cd71991-10-24 14:59:31 +000051#define TILDE 32
52#define CIRCUMFLEX 33
53#define LEFTSHIFT 34
54#define RIGHTSHIFT 35
Guido van Rossum3d1f0951996-01-12 00:51:44 +000055#define DOUBLESTAR 36
Guido van Rossumcaa63801995-01-12 11:45:45 +000056/* Don't forget to update the table _PyParser_TokenNames in tokenizer.c! */
Guido van Rossum3d1f0951996-01-12 00:51:44 +000057#define OP 37
58#define ERRORTOKEN 38
59#define N_TOKENS 39
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000060
61/* Special definitions for cooperation with parser */
62
63#define NT_OFFSET 256
64
65#define ISTERMINAL(x) ((x) < NT_OFFSET)
66#define ISNONTERMINAL(x) ((x) >= NT_OFFSET)
67#define ISEOF(x) ((x) == ENDMARKER)
68
69
Guido van Rossum43466ec1998-12-04 18:48:25 +000070extern DL_IMPORT(char *) _PyParser_TokenNames[]; /* Token names */
Fred Drake3cf4d2b2000-07-09 00:55:06 +000071extern DL_IMPORT(int) PyToken_OneChar(int);
72extern DL_IMPORT(int) PyToken_TwoChars(int, int);
Guido van Rossuma3309961993-07-28 09:05:47 +000073
74#ifdef __cplusplus
75}
76#endif
77#endif /* !Py_TOKEN_H */