17db96d56Sopenharmony_ci/* Auto-generated by Tools/scripts/generate_token.py */
27db96d56Sopenharmony_ci
37db96d56Sopenharmony_ci#include "Python.h"
47db96d56Sopenharmony_ci#include "token.h"
57db96d56Sopenharmony_ci
67db96d56Sopenharmony_ci/* Token names */
77db96d56Sopenharmony_ci
87db96d56Sopenharmony_ciconst char * const _PyParser_TokenNames[] = {
97db96d56Sopenharmony_ci    "ENDMARKER",
107db96d56Sopenharmony_ci    "NAME",
117db96d56Sopenharmony_ci    "NUMBER",
127db96d56Sopenharmony_ci    "STRING",
137db96d56Sopenharmony_ci    "NEWLINE",
147db96d56Sopenharmony_ci    "INDENT",
157db96d56Sopenharmony_ci    "DEDENT",
167db96d56Sopenharmony_ci    "LPAR",
177db96d56Sopenharmony_ci    "RPAR",
187db96d56Sopenharmony_ci    "LSQB",
197db96d56Sopenharmony_ci    "RSQB",
207db96d56Sopenharmony_ci    "COLON",
217db96d56Sopenharmony_ci    "COMMA",
227db96d56Sopenharmony_ci    "SEMI",
237db96d56Sopenharmony_ci    "PLUS",
247db96d56Sopenharmony_ci    "MINUS",
257db96d56Sopenharmony_ci    "STAR",
267db96d56Sopenharmony_ci    "SLASH",
277db96d56Sopenharmony_ci    "VBAR",
287db96d56Sopenharmony_ci    "AMPER",
297db96d56Sopenharmony_ci    "LESS",
307db96d56Sopenharmony_ci    "GREATER",
317db96d56Sopenharmony_ci    "EQUAL",
327db96d56Sopenharmony_ci    "DOT",
337db96d56Sopenharmony_ci    "PERCENT",
347db96d56Sopenharmony_ci    "LBRACE",
357db96d56Sopenharmony_ci    "RBRACE",
367db96d56Sopenharmony_ci    "EQEQUAL",
377db96d56Sopenharmony_ci    "NOTEQUAL",
387db96d56Sopenharmony_ci    "LESSEQUAL",
397db96d56Sopenharmony_ci    "GREATEREQUAL",
407db96d56Sopenharmony_ci    "TILDE",
417db96d56Sopenharmony_ci    "CIRCUMFLEX",
427db96d56Sopenharmony_ci    "LEFTSHIFT",
437db96d56Sopenharmony_ci    "RIGHTSHIFT",
447db96d56Sopenharmony_ci    "DOUBLESTAR",
457db96d56Sopenharmony_ci    "PLUSEQUAL",
467db96d56Sopenharmony_ci    "MINEQUAL",
477db96d56Sopenharmony_ci    "STAREQUAL",
487db96d56Sopenharmony_ci    "SLASHEQUAL",
497db96d56Sopenharmony_ci    "PERCENTEQUAL",
507db96d56Sopenharmony_ci    "AMPEREQUAL",
517db96d56Sopenharmony_ci    "VBAREQUAL",
527db96d56Sopenharmony_ci    "CIRCUMFLEXEQUAL",
537db96d56Sopenharmony_ci    "LEFTSHIFTEQUAL",
547db96d56Sopenharmony_ci    "RIGHTSHIFTEQUAL",
557db96d56Sopenharmony_ci    "DOUBLESTAREQUAL",
567db96d56Sopenharmony_ci    "DOUBLESLASH",
577db96d56Sopenharmony_ci    "DOUBLESLASHEQUAL",
587db96d56Sopenharmony_ci    "AT",
597db96d56Sopenharmony_ci    "ATEQUAL",
607db96d56Sopenharmony_ci    "RARROW",
617db96d56Sopenharmony_ci    "ELLIPSIS",
627db96d56Sopenharmony_ci    "COLONEQUAL",
637db96d56Sopenharmony_ci    "OP",
647db96d56Sopenharmony_ci    "AWAIT",
657db96d56Sopenharmony_ci    "ASYNC",
667db96d56Sopenharmony_ci    "TYPE_IGNORE",
677db96d56Sopenharmony_ci    "TYPE_COMMENT",
687db96d56Sopenharmony_ci    "SOFT_KEYWORD",
697db96d56Sopenharmony_ci    "<ERRORTOKEN>",
707db96d56Sopenharmony_ci    "<COMMENT>",
717db96d56Sopenharmony_ci    "<NL>",
727db96d56Sopenharmony_ci    "<ENCODING>",
737db96d56Sopenharmony_ci    "<N_TOKENS>",
747db96d56Sopenharmony_ci};
757db96d56Sopenharmony_ci
767db96d56Sopenharmony_ci/* Return the token corresponding to a single character */
777db96d56Sopenharmony_ci
787db96d56Sopenharmony_ciint
797db96d56Sopenharmony_ciPyToken_OneChar(int c1)
807db96d56Sopenharmony_ci{
817db96d56Sopenharmony_ci    switch (c1) {
827db96d56Sopenharmony_ci    case '%': return PERCENT;
837db96d56Sopenharmony_ci    case '&': return AMPER;
847db96d56Sopenharmony_ci    case '(': return LPAR;
857db96d56Sopenharmony_ci    case ')': return RPAR;
867db96d56Sopenharmony_ci    case '*': return STAR;
877db96d56Sopenharmony_ci    case '+': return PLUS;
887db96d56Sopenharmony_ci    case ',': return COMMA;
897db96d56Sopenharmony_ci    case '-': return MINUS;
907db96d56Sopenharmony_ci    case '.': return DOT;
917db96d56Sopenharmony_ci    case '/': return SLASH;
927db96d56Sopenharmony_ci    case ':': return COLON;
937db96d56Sopenharmony_ci    case ';': return SEMI;
947db96d56Sopenharmony_ci    case '<': return LESS;
957db96d56Sopenharmony_ci    case '=': return EQUAL;
967db96d56Sopenharmony_ci    case '>': return GREATER;
977db96d56Sopenharmony_ci    case '@': return AT;
987db96d56Sopenharmony_ci    case '[': return LSQB;
997db96d56Sopenharmony_ci    case ']': return RSQB;
1007db96d56Sopenharmony_ci    case '^': return CIRCUMFLEX;
1017db96d56Sopenharmony_ci    case '{': return LBRACE;
1027db96d56Sopenharmony_ci    case '|': return VBAR;
1037db96d56Sopenharmony_ci    case '}': return RBRACE;
1047db96d56Sopenharmony_ci    case '~': return TILDE;
1057db96d56Sopenharmony_ci    }
1067db96d56Sopenharmony_ci    return OP;
1077db96d56Sopenharmony_ci}
1087db96d56Sopenharmony_ci
1097db96d56Sopenharmony_ciint
1107db96d56Sopenharmony_ciPyToken_TwoChars(int c1, int c2)
1117db96d56Sopenharmony_ci{
1127db96d56Sopenharmony_ci    switch (c1) {
1137db96d56Sopenharmony_ci    case '!':
1147db96d56Sopenharmony_ci        switch (c2) {
1157db96d56Sopenharmony_ci        case '=': return NOTEQUAL;
1167db96d56Sopenharmony_ci        }
1177db96d56Sopenharmony_ci        break;
1187db96d56Sopenharmony_ci    case '%':
1197db96d56Sopenharmony_ci        switch (c2) {
1207db96d56Sopenharmony_ci        case '=': return PERCENTEQUAL;
1217db96d56Sopenharmony_ci        }
1227db96d56Sopenharmony_ci        break;
1237db96d56Sopenharmony_ci    case '&':
1247db96d56Sopenharmony_ci        switch (c2) {
1257db96d56Sopenharmony_ci        case '=': return AMPEREQUAL;
1267db96d56Sopenharmony_ci        }
1277db96d56Sopenharmony_ci        break;
1287db96d56Sopenharmony_ci    case '*':
1297db96d56Sopenharmony_ci        switch (c2) {
1307db96d56Sopenharmony_ci        case '*': return DOUBLESTAR;
1317db96d56Sopenharmony_ci        case '=': return STAREQUAL;
1327db96d56Sopenharmony_ci        }
1337db96d56Sopenharmony_ci        break;
1347db96d56Sopenharmony_ci    case '+':
1357db96d56Sopenharmony_ci        switch (c2) {
1367db96d56Sopenharmony_ci        case '=': return PLUSEQUAL;
1377db96d56Sopenharmony_ci        }
1387db96d56Sopenharmony_ci        break;
1397db96d56Sopenharmony_ci    case '-':
1407db96d56Sopenharmony_ci        switch (c2) {
1417db96d56Sopenharmony_ci        case '=': return MINEQUAL;
1427db96d56Sopenharmony_ci        case '>': return RARROW;
1437db96d56Sopenharmony_ci        }
1447db96d56Sopenharmony_ci        break;
1457db96d56Sopenharmony_ci    case '/':
1467db96d56Sopenharmony_ci        switch (c2) {
1477db96d56Sopenharmony_ci        case '/': return DOUBLESLASH;
1487db96d56Sopenharmony_ci        case '=': return SLASHEQUAL;
1497db96d56Sopenharmony_ci        }
1507db96d56Sopenharmony_ci        break;
1517db96d56Sopenharmony_ci    case ':':
1527db96d56Sopenharmony_ci        switch (c2) {
1537db96d56Sopenharmony_ci        case '=': return COLONEQUAL;
1547db96d56Sopenharmony_ci        }
1557db96d56Sopenharmony_ci        break;
1567db96d56Sopenharmony_ci    case '<':
1577db96d56Sopenharmony_ci        switch (c2) {
1587db96d56Sopenharmony_ci        case '<': return LEFTSHIFT;
1597db96d56Sopenharmony_ci        case '=': return LESSEQUAL;
1607db96d56Sopenharmony_ci        case '>': return NOTEQUAL;
1617db96d56Sopenharmony_ci        }
1627db96d56Sopenharmony_ci        break;
1637db96d56Sopenharmony_ci    case '=':
1647db96d56Sopenharmony_ci        switch (c2) {
1657db96d56Sopenharmony_ci        case '=': return EQEQUAL;
1667db96d56Sopenharmony_ci        }
1677db96d56Sopenharmony_ci        break;
1687db96d56Sopenharmony_ci    case '>':
1697db96d56Sopenharmony_ci        switch (c2) {
1707db96d56Sopenharmony_ci        case '=': return GREATEREQUAL;
1717db96d56Sopenharmony_ci        case '>': return RIGHTSHIFT;
1727db96d56Sopenharmony_ci        }
1737db96d56Sopenharmony_ci        break;
1747db96d56Sopenharmony_ci    case '@':
1757db96d56Sopenharmony_ci        switch (c2) {
1767db96d56Sopenharmony_ci        case '=': return ATEQUAL;
1777db96d56Sopenharmony_ci        }
1787db96d56Sopenharmony_ci        break;
1797db96d56Sopenharmony_ci    case '^':
1807db96d56Sopenharmony_ci        switch (c2) {
1817db96d56Sopenharmony_ci        case '=': return CIRCUMFLEXEQUAL;
1827db96d56Sopenharmony_ci        }
1837db96d56Sopenharmony_ci        break;
1847db96d56Sopenharmony_ci    case '|':
1857db96d56Sopenharmony_ci        switch (c2) {
1867db96d56Sopenharmony_ci        case '=': return VBAREQUAL;
1877db96d56Sopenharmony_ci        }
1887db96d56Sopenharmony_ci        break;
1897db96d56Sopenharmony_ci    }
1907db96d56Sopenharmony_ci    return OP;
1917db96d56Sopenharmony_ci}
1927db96d56Sopenharmony_ci
1937db96d56Sopenharmony_ciint
1947db96d56Sopenharmony_ciPyToken_ThreeChars(int c1, int c2, int c3)
1957db96d56Sopenharmony_ci{
1967db96d56Sopenharmony_ci    switch (c1) {
1977db96d56Sopenharmony_ci    case '*':
1987db96d56Sopenharmony_ci        switch (c2) {
1997db96d56Sopenharmony_ci        case '*':
2007db96d56Sopenharmony_ci            switch (c3) {
2017db96d56Sopenharmony_ci            case '=': return DOUBLESTAREQUAL;
2027db96d56Sopenharmony_ci            }
2037db96d56Sopenharmony_ci            break;
2047db96d56Sopenharmony_ci        }
2057db96d56Sopenharmony_ci        break;
2067db96d56Sopenharmony_ci    case '.':
2077db96d56Sopenharmony_ci        switch (c2) {
2087db96d56Sopenharmony_ci        case '.':
2097db96d56Sopenharmony_ci            switch (c3) {
2107db96d56Sopenharmony_ci            case '.': return ELLIPSIS;
2117db96d56Sopenharmony_ci            }
2127db96d56Sopenharmony_ci            break;
2137db96d56Sopenharmony_ci        }
2147db96d56Sopenharmony_ci        break;
2157db96d56Sopenharmony_ci    case '/':
2167db96d56Sopenharmony_ci        switch (c2) {
2177db96d56Sopenharmony_ci        case '/':
2187db96d56Sopenharmony_ci            switch (c3) {
2197db96d56Sopenharmony_ci            case '=': return DOUBLESLASHEQUAL;
2207db96d56Sopenharmony_ci            }
2217db96d56Sopenharmony_ci            break;
2227db96d56Sopenharmony_ci        }
2237db96d56Sopenharmony_ci        break;
2247db96d56Sopenharmony_ci    case '<':
2257db96d56Sopenharmony_ci        switch (c2) {
2267db96d56Sopenharmony_ci        case '<':
2277db96d56Sopenharmony_ci            switch (c3) {
2287db96d56Sopenharmony_ci            case '=': return LEFTSHIFTEQUAL;
2297db96d56Sopenharmony_ci            }
2307db96d56Sopenharmony_ci            break;
2317db96d56Sopenharmony_ci        }
2327db96d56Sopenharmony_ci        break;
2337db96d56Sopenharmony_ci    case '>':
2347db96d56Sopenharmony_ci        switch (c2) {
2357db96d56Sopenharmony_ci        case '>':
2367db96d56Sopenharmony_ci            switch (c3) {
2377db96d56Sopenharmony_ci            case '=': return RIGHTSHIFTEQUAL;
2387db96d56Sopenharmony_ci            }
2397db96d56Sopenharmony_ci            break;
2407db96d56Sopenharmony_ci        }
2417db96d56Sopenharmony_ci        break;
2427db96d56Sopenharmony_ci    }
2437db96d56Sopenharmony_ci    return OP;
2447db96d56Sopenharmony_ci}
245