blob: 43136e49584da7f3e7bd6fc65f3b3d21d9a0bd95 [file] [log] [blame]
Guido van Rossuma3309961993-07-28 09:05:47 +00001#ifndef Py_TOKEN_H
2#define Py_TOKEN_H
3#ifdef __cplusplus
4extern "C" {
5#endif
6
Guido van Rossumf70e43a1991-02-19 12:39:46 +00007/***********************************************************
Guido van Rossum5799b521995-01-04 19:06:22 +00008Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
9The Netherlands.
Guido van Rossumf70e43a1991-02-19 12:39:46 +000010
11 All Rights Reserved
12
Guido van Rossumfd71b9e2000-06-30 23:50:40 +000013Copyright (c) 2000, BeOpen.com.
14Copyright (c) 1995-2000, Corporation for National Research Initiatives.
15Copyright (c) 1990-1995, Stichting Mathematisch Centrum.
16All rights reserved.
Guido van Rossumf70e43a1991-02-19 12:39:46 +000017
Guido van Rossumfd71b9e2000-06-30 23:50:40 +000018See the file "Misc/COPYRIGHT" for information on usage and
19redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
Guido van Rossumf70e43a1991-02-19 12:39:46 +000020
21******************************************************************/
22
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000023/* Token types */
24
25#define ENDMARKER 0
26#define NAME 1
27#define NUMBER 2
28#define STRING 3
29#define NEWLINE 4
30#define INDENT 5
31#define DEDENT 6
32#define LPAR 7
33#define RPAR 8
34#define LSQB 9
35#define RSQB 10
36#define COLON 11
37#define COMMA 12
38#define SEMI 13
39#define PLUS 14
40#define MINUS 15
41#define STAR 16
42#define SLASH 17
43#define VBAR 18
44#define AMPER 19
45#define LESS 20
46#define GREATER 21
47#define EQUAL 22
48#define DOT 23
49#define PERCENT 24
50#define BACKQUOTE 25
51#define LBRACE 26
52#define RBRACE 27
Guido van Rossum8883aaa1991-10-20 20:24:45 +000053#define EQEQUAL 28
54#define NOTEQUAL 29
55#define LESSEQUAL 30
56#define GREATEREQUAL 31
Guido van Rossum7928cd71991-10-24 14:59:31 +000057#define TILDE 32
58#define CIRCUMFLEX 33
59#define LEFTSHIFT 34
60#define RIGHTSHIFT 35
Guido van Rossum3d1f0951996-01-12 00:51:44 +000061#define DOUBLESTAR 36
Guido van Rossumcaa63801995-01-12 11:45:45 +000062/* Don't forget to update the table _PyParser_TokenNames in tokenizer.c! */
Guido van Rossum3d1f0951996-01-12 00:51:44 +000063#define OP 37
64#define ERRORTOKEN 38
65#define N_TOKENS 39
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000066
67/* Special definitions for cooperation with parser */
68
69#define NT_OFFSET 256
70
71#define ISTERMINAL(x) ((x) < NT_OFFSET)
72#define ISNONTERMINAL(x) ((x) >= NT_OFFSET)
73#define ISEOF(x) ((x) == ENDMARKER)
74
75
Guido van Rossum43466ec1998-12-04 18:48:25 +000076extern DL_IMPORT(char *) _PyParser_TokenNames[]; /* Token names */
77extern DL_IMPORT(int) PyToken_OneChar Py_PROTO((int));
78extern DL_IMPORT(int) PyToken_TwoChars Py_PROTO((int, int));
Guido van Rossuma3309961993-07-28 09:05:47 +000079
80#ifdef __cplusplus
81}
82#endif
83#endif /* !Py_TOKEN_H */