LCOV - code coverage report
Current view: top level - Parser - token.c (source / functions) Hit Total Coverage
Test: CPython lcov report Lines: 99 105 94.3 %
Date: 2022-07-07 18:19:46 Functions: 3 3 100.0 %

          Line data    Source code
       1             : /* Auto-generated by Tools/scripts/generate_token.py */
       2             : 
       3             : #include "Python.h"
       4             : #include "pycore_token.h"
       5             : 
       6             : /* Token names */
       7             : 
       8             : const char * const _PyParser_TokenNames[] = {
       9             :     "ENDMARKER",
      10             :     "NAME",
      11             :     "NUMBER",
      12             :     "STRING",
      13             :     "NEWLINE",
      14             :     "INDENT",
      15             :     "DEDENT",
      16             :     "LPAR",
      17             :     "RPAR",
      18             :     "LSQB",
      19             :     "RSQB",
      20             :     "COLON",
      21             :     "COMMA",
      22             :     "SEMI",
      23             :     "PLUS",
      24             :     "MINUS",
      25             :     "STAR",
      26             :     "SLASH",
      27             :     "VBAR",
      28             :     "AMPER",
      29             :     "LESS",
      30             :     "GREATER",
      31             :     "EQUAL",
      32             :     "DOT",
      33             :     "PERCENT",
      34             :     "LBRACE",
      35             :     "RBRACE",
      36             :     "EQEQUAL",
      37             :     "NOTEQUAL",
      38             :     "LESSEQUAL",
      39             :     "GREATEREQUAL",
      40             :     "TILDE",
      41             :     "CIRCUMFLEX",
      42             :     "LEFTSHIFT",
      43             :     "RIGHTSHIFT",
      44             :     "DOUBLESTAR",
      45             :     "PLUSEQUAL",
      46             :     "MINEQUAL",
      47             :     "STAREQUAL",
      48             :     "SLASHEQUAL",
      49             :     "PERCENTEQUAL",
      50             :     "AMPEREQUAL",
      51             :     "VBAREQUAL",
      52             :     "CIRCUMFLEXEQUAL",
      53             :     "LEFTSHIFTEQUAL",
      54             :     "RIGHTSHIFTEQUAL",
      55             :     "DOUBLESTAREQUAL",
      56             :     "DOUBLESLASH",
      57             :     "DOUBLESLASHEQUAL",
      58             :     "AT",
      59             :     "ATEQUAL",
      60             :     "RARROW",
      61             :     "ELLIPSIS",
      62             :     "COLONEQUAL",
      63             :     "OP",
      64             :     "AWAIT",
      65             :     "ASYNC",
      66             :     "TYPE_IGNORE",
      67             :     "TYPE_COMMENT",
      68             :     "SOFT_KEYWORD",
      69             :     "<ERRORTOKEN>",
      70             :     "<COMMENT>",
      71             :     "<NL>",
      72             :     "<ENCODING>",
      73             :     "<N_TOKENS>",
      74             : };
      75             : 
      76             : /* Return the token corresponding to a single character */
      77             : 
      78             : int
      79    14708800 : _PyToken_OneChar(int c1)
      80             : {
      81    14708800 :     switch (c1) {
      82       65314 :     case '%': return PERCENT;
      83        6375 :     case '&': return AMPER;
      84     2704760 :     case '(': return LPAR;
      85     2704400 :     case ')': return RPAR;
      86      379401 :     case '*': return STAR;
      87       94936 :     case '+': return PLUS;
      88     4078720 :     case ',': return COMMA;
      89      110462 :     case '-': return MINUS;
      90           0 :     case '.': return DOT;
      91       25062 :     case '/': return SLASH;
      92     1989860 :     case ':': return COLON;
      93        7692 :     case ';': return SEMI;
      94       15075 :     case '<': return LESS;
      95     1090120 :     case '=': return EQUAL;
      96       13362 :     case '>': return GREATER;
      97       36986 :     case '@': return AT;
      98      640127 :     case '[': return LSQB;
      99      640078 :     case ']': return RSQB;
     100        1036 :     case '^': return CIRCUMFLEX;
     101       47809 :     case '{': return LBRACE;
     102        8356 :     case '|': return VBAR;
     103       47750 :     case '}': return RBRACE;
     104        1065 :     case '~': return TILDE;
     105             :     }
     106          26 :     return OP;
     107             : }
     108             : 
     109             : int
     110    14924500 : _PyToken_TwoChars(int c1, int c2)
     111             : {
     112    14924500 :     switch (c1) {
     113       17665 :     case '!':
     114             :         switch (c2) {
     115       17663 :         case '=': return NOTEQUAL;
     116             :         }
     117           2 :         break;
     118       65387 :     case '%':
     119             :         switch (c2) {
     120          73 :         case '=': return PERCENTEQUAL;
     121             :         }
     122       65314 :         break;
     123        6876 :     case '&':
     124             :         switch (c2) {
     125         501 :         case '=': return AMPEREQUAL;
     126             :         }
     127        6375 :         break;
     128      421184 :     case '*':
     129             :         switch (c2) {
     130       41140 :         case '*': return DOUBLESTAR;
     131         643 :         case '=': return STAREQUAL;
     132             :         }
     133      379401 :         break;
     134      113865 :     case '+':
     135             :         switch (c2) {
     136       18929 :         case '=': return PLUSEQUAL;
     137             :         }
     138       94936 :         break;
     139      146575 :     case '-':
     140             :         switch (c2) {
     141        2712 :         case '=': return MINEQUAL;
     142       33401 :         case '>': return RARROW;
     143             :         }
     144      110462 :         break;
     145       29012 :     case '/':
     146             :         switch (c2) {
     147        3824 :         case '/': return DOUBLESLASH;
     148         126 :         case '=': return SLASHEQUAL;
     149             :         }
     150       25062 :         break;
     151     1990850 :     case ':':
     152             :         switch (c2) {
     153         995 :         case '=': return COLONEQUAL;
     154             :         }
     155     1989860 :         break;
     156       27678 :     case '<':
     157             :         switch (c2) {
     158        3802 :         case '<': return LEFTSHIFT;
     159        8799 :         case '=': return LESSEQUAL;
     160           2 :         case '>': return NOTEQUAL;
     161             :         }
     162       15075 :         break;
     163     1161730 :     case '=':
     164             :         switch (c2) {
     165       71614 :         case '=': return EQEQUAL;
     166             :         }
     167     1090120 :         break;
     168       22943 :     case '>':
     169             :         switch (c2) {
     170        8172 :         case '=': return GREATEREQUAL;
     171        1409 :         case '>': return RIGHTSHIFT;
     172             :         }
     173       13362 :         break;
     174       37031 :     case '@':
     175             :         switch (c2) {
     176          45 :         case '=': return ATEQUAL;
     177             :         }
     178       36986 :         break;
     179        1263 :     case '^':
     180             :         switch (c2) {
     181         227 :         case '=': return CIRCUMFLEXEQUAL;
     182             :         }
     183        1036 :         break;
     184       10043 :     case '|':
     185             :         switch (c2) {
     186        1687 :         case '=': return VBAREQUAL;
     187             :         }
     188        8356 :         break;
     189             :     }
     190    14708800 :     return OP;
     191             : }
     192             : 
     193             : int
     194      215764 : _PyToken_ThreeChars(int c1, int c2, int c3)
     195             : {
     196      215764 :     switch (c1) {
     197       41783 :     case '*':
     198             :         switch (c2) {
     199       41140 :         case '*':
     200             :             switch (c3) {
     201          58 :             case '=': return DOUBLESTAREQUAL;
     202             :             }
     203       41082 :             break;
     204             :         }
     205       41725 :         break;
     206           0 :     case '.':
     207             :         switch (c2) {
     208           0 :         case '.':
     209             :             switch (c3) {
     210           0 :             case '.': return ELLIPSIS;
     211             :             }
     212           0 :             break;
     213             :         }
     214           0 :         break;
     215        3950 :     case '/':
     216             :         switch (c2) {
     217        3824 :         case '/':
     218             :             switch (c3) {
     219         357 :             case '=': return DOUBLESLASHEQUAL;
     220             :             }
     221        3467 :             break;
     222             :         }
     223        3593 :         break;
     224       12603 :     case '<':
     225             :         switch (c2) {
     226        3802 :         case '<':
     227             :             switch (c3) {
     228         269 :             case '=': return LEFTSHIFTEQUAL;
     229             :             }
     230        3533 :             break;
     231             :         }
     232       12334 :         break;
     233        9581 :     case '>':
     234             :         switch (c2) {
     235        1409 :         case '>':
     236             :             switch (c3) {
     237          81 :             case '=': return RIGHTSHIFTEQUAL;
     238             :             }
     239        1328 :             break;
     240             :         }
     241        9500 :         break;
     242             :     }
     243      214999 :     return OP;
     244             : }

Generated by: LCOV version 1.14