| #ifndef Py_TOKEN_H |
| #define Py_TOKEN_H |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /*********************************************************** |
| Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam, |
| The Netherlands. |
| |
| All Rights Reserved |
| |
| Permission to use, copy, modify, and distribute this software and its |
| documentation for any purpose and without fee is hereby granted, |
| provided that the above copyright notice appear in all copies and that |
| both that copyright notice and this permission notice appear in |
| supporting documentation, and that the names of Stichting Mathematisch |
| Centrum or CWI or Corporation for National Research Initiatives or |
| CNRI not be used in advertising or publicity pertaining to |
| distribution of the software without specific, written prior |
| permission. |
| |
| While CWI is the initial source for this software, a modified version |
| is made available by the Corporation for National Research Initiatives |
| (CNRI) at the Internet address ftp://ftp.python.org. |
| |
| STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH |
| REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF |
| MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH |
| CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL |
| DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR |
| PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER |
| TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
| PERFORMANCE OF THIS SOFTWARE. |
| |
| ******************************************************************/ |
| |
| /* Token types */ |
| |
| #define ENDMARKER 0 |
| #define NAME 1 |
| #define NUMBER 2 |
| #define STRING 3 |
| #define NEWLINE 4 |
| #define INDENT 5 |
| #define DEDENT 6 |
| #define LPAR 7 |
| #define RPAR 8 |
| #define LSQB 9 |
| #define RSQB 10 |
| #define COLON 11 |
| #define COMMA 12 |
| #define SEMI 13 |
| #define PLUS 14 |
| #define MINUS 15 |
| #define STAR 16 |
| #define SLASH 17 |
| #define VBAR 18 |
| #define AMPER 19 |
| #define LESS 20 |
| #define GREATER 21 |
| #define EQUAL 22 |
| #define DOT 23 |
| #define PERCENT 24 |
| #define BACKQUOTE 25 |
| #define LBRACE 26 |
| #define RBRACE 27 |
| #define EQEQUAL 28 |
| #define NOTEQUAL 29 |
| #define LESSEQUAL 30 |
| #define GREATEREQUAL 31 |
| #define TILDE 32 |
| #define CIRCUMFLEX 33 |
| #define LEFTSHIFT 34 |
| #define RIGHTSHIFT 35 |
| #define DOUBLESTAR 36 |
| /* Don't forget to update the table _PyParser_TokenNames in tokenizer.c! */ |
| #define OP 37 |
| #define ERRORTOKEN 38 |
| #define N_TOKENS 39 |
| |
| /* Special definitions for cooperation with parser */ |
| |
| #define NT_OFFSET 256 |
| |
| #define ISTERMINAL(x) ((x) < NT_OFFSET) |
| #define ISNONTERMINAL(x) ((x) >= NT_OFFSET) |
| #define ISEOF(x) ((x) == ENDMARKER) |
| |
| |
| extern char *_PyParser_TokenNames[]; /* Token names */ |
| extern int PyToken_OneChar Py_PROTO((int)); |
| extern int PyToken_TwoChars Py_PROTO((int, int)); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif /* !Py_TOKEN_H */ |