/* Auto-generated by Tools/scripts/generate_token.py */ #include "Python.h" #include "token.h" /* Token names */ const char * const _PyParser_TokenNames[] = { "ENDMARKER", "NAME", "NUMBER", "STRING", "NEWLINE", "INDENT", "DEDENT", "LPAR", "RPAR", "LSQB", "RSQB", "COLON", "COMMA", "SEMI", "PLUS", "MINUS", "STAR", "SLASH", "VBAR", "AMPER", "LESS", "GREATER", "EQUAL", "DOT", "PERCENT", "LBRACE", "RBRACE", "EQEQUAL", "NOTEQUAL", "LESSEQUAL", "GREATEREQUAL", "TILDE", "CIRCUMFLEX", "LEFTSHIFT", "RIGHTSHIFT", "DOUBLESTAR", "PLUSEQUAL", "MINEQUAL", "STAREQUAL", "SLASHEQUAL", "PERCENTEQUAL", "AMPEREQUAL", "VBAREQUAL", "CIRCUMFLEXEQUAL", "LEFTSHIFTEQUAL", "RIGHTSHIFTEQUAL", "DOUBLESTAREQUAL", "DOUBLESLASH", "DOUBLESLASHEQUAL", "AT", "ATEQUAL", "RARROW", "ELLIPSIS", "OP", "", "", "", "", "", }; /* Return the token corresponding to a single character */ int PyToken_OneChar(int c1) { switch (c1) { case '%': return PERCENT; case '&': return AMPER; case '(': return LPAR; case ')': return RPAR; case '*': return STAR; case '+': return PLUS; case ',': return COMMA; case '-': return MINUS; case '.': return DOT; case '/': return SLASH; case ':': return COLON; case ';': return SEMI; case '<': return LESS; case '=': return EQUAL; case '>': return GREATER; case '@': return AT; case '[': return LSQB; case ']': return RSQB; case '^': return CIRCUMFLEX; case '{': return LBRACE; case '|': return VBAR; case '}': return RBRACE; case '~': return TILDE; } return OP; } int PyToken_TwoChars(int c1, int c2) { switch (c1) { case '!': switch (c2) { case '=': return NOTEQUAL; } break; case '%': switch (c2) { case '=': return PERCENTEQUAL; } break; case '&': switch (c2) { case '=': return AMPEREQUAL; } break; case '*': switch (c2) { case '*': return DOUBLESTAR; case '=': return STAREQUAL; } break; case '+': switch (c2) { case '=': return PLUSEQUAL; } break; case '-': switch (c2) { case '=': return MINEQUAL; case '>': return RARROW; } break; case '/': switch (c2) { case '/': return DOUBLESLASH; case '=': return SLASHEQUAL; } break; case '<': switch (c2) { case '<': return LEFTSHIFT; case '=': return LESSEQUAL; case '>': return NOTEQUAL; } break; case '=': switch (c2) { case '=': return EQEQUAL; } break; case '>': switch (c2) { case '=': return GREATEREQUAL; case '>': return RIGHTSHIFT; } break; case '@': switch (c2) { case '=': return ATEQUAL; } break; case '^': switch (c2) { case '=': return CIRCUMFLEXEQUAL; } break; case '|': switch (c2) { case '=': return VBAREQUAL; } break; } return OP; } int PyToken_ThreeChars(int c1, int c2, int c3) { switch (c1) { case '*': switch (c2) { case '*': switch (c3) { case '=': return DOUBLESTAREQUAL; } break; } break; case '.': switch (c2) { case '.': switch (c3) { case '.': return ELLIPSIS; } break; } break; case '/': switch (c2) { case '/': switch (c3) { case '=': return DOUBLESLASHEQUAL; } break; } break; case '<': switch (c2) { case '<': switch (c3) { case '=': return LEFTSHIFTEQUAL; } break; } break; case '>': switch (c2) { case '>': switch (c3) { case '=': return RIGHTSHIFTEQUAL; } break; } break; } return OP; }