---head C Lexemes common.css ---body ---th Dec code Hex code Lexeme code Regular Expression code Token code Description Production code ---td 9 9 whitespace nocode [\t ]+ r2 gray whitespace r2 gray ---td 10 A newline nocode \n newline ---td 33 r2 21 r2 ! ! NOT logical NOT operator unary_operator ---td != != NOTEQ inequality operator equality_expression ---td 34 22 many nocode \"([^\n"]|\\\n|\\.)*\" STRINGLIT string literal primary_expression ---td 35 23 many nocode #.* gray preprocessor directive gray ---td 37 r2 25 r2 % % MOD integral modulus operator multiplicative_expression ---td %= %= MODASSIGN integral modulus and assignment operator assignment_operator ---td 38 r4 26 r4 & r2 & r2 AMP r2 address of variable operator unary_operator ---td bit AND operator and_expression ---td && && AND logical AND operator logical_and_expression ---td &= &= BITANDASSIGN bit AND and assignment operator assignment_operator ---td 39 27 many nocode '([^\n']|\\.)' CHARLIT character literal constant ---td 40 r8 28 r8 ( r8 \( r8 LPAREN r8 function declarator r2 direct_declarator ---td direct_abstract_declarator ---td selection statement selection_statement ---td iteration statement iteration_statement ---td type cast operator cast_expression ---td size-of operator unary_expression ---td function call operator postfix_expression ---td precedence operator primary_expression ---td 41 r8 29 r8 ) r8 \) r8 RPAREN r8 function declarator r2 direct_declarator ---td direct_abstract_declarator ---td selection statement selection_statement ---td iteration statement iteration_statement ---td type cast operator cast_expression ---td size-of operator unary_expression ---td function call operator postfix_expression ---td precedence operator primary_expression ---td 42 r4 2A r4 * r3 \* r3 ASTER r3 pointer declarator pointer ---td pointer indirection operator unary_operator ---td multiplication operator multiplicative_expression ---td *= \*= MULTASSIGN multiplication and assignment operator assignment_operator ---td 43 r5 2B r5 + r2 \+ r2 PLUS r2 arithmetic identity operator unary_operator ---td addition operator additive_expression ---td ++ r2 \++ r2 INC r2 prefix integral increment operator unary_expression ---td postfix integral increment operator postfix_expression ---td += \+= ADDASSIGN addition and assignment operator assignment_operator ---td 44 r10 2C r10 , r10 , r10 COMMA r10 declaration r6 init_declarator_list ---td struct_declarator_list ---td enumerator_list ---td parameter_type_list ---td parameter_list ---td identifier_list ---td initializer r2 initializer ---td initializer_list ---td sequence point operator r2 expression ---td argument_expression_list ---td 45 r6 2D r6 - r2 - r2 MINUS r2 arithmetic negation operator unary_operator ---td subtraction operator additive_expression ---td -- r2 -- r2 DEC r2 prefix integral decrement operator unary_expression ---td postfix integral decrement operator postfix_expression ---td -= -= SUBASSIGN subtraction and assignment operator assignment_operator ---td -> -> ARROW indirect object member operator postfix_expression ---td 46 r2 2E r2 . \. DOT object member operator postfix_expression ---td ... "..." ELLIPSIS declaration parameter_type_list ---td 47 r2 2F r2 / \/ DIV division operator multiplicative_expression ---td /* "/*" r5 gray begin block comment r5 gray ---td 10 mark A newline nocode \n block comment newline ---td 42 mark 2A */ "*/" end block comment ---td 0 mark 0 many nocode . block comment ---td 47 r2 2F r2 many nocode "//".* line comment ---td /= \/= DIVASSIGN division and assignment operator assignment_operator ---td 48 r3 30 r3 many r3 nocode [+|-]?[0-9]+ r2 INTLIT r2 integer literal constant ---td enumerator literal constant ---td [+|-]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+) FLOATLIT double precision floating-point number literal constant ---td 58 r3 3A r3 : r3 : r3 COLON r3 declaration struct_declarator ---td labeled statement labeled_statement ---td conditional expression operator conditional_expression ---td 59 r5 3B r5 ; r5 ; r5 SEMICOLON r5 statement terminator r5 declaration ---td struct_declaration ---td expression_statement ---td iteration_statement ---td jump_statement ---td 60 r4 3C r4 < \< LT less than operator relational_expression ---td << \<< LSHIFT shift left operator shift_expression ---td <<= \<<= LSHIFTASSIGN shift left and assignment operator assignment_operator ---td <= \<= LTEQ less than or equal to operator relational_expression ---td 61 r4 3D r4 = r3 = r3 ASSIGN r3 declaration r2 init_declarator ---td enumerator ---td assignment operator assignment_operator ---td == == EQ equality operator equality_expression ---td 62 r4 3E r4 > > GT greater than operator relational_expression ---td >= >= GTEQ greater than or equal to operator relational_expression ---td >> >> RSHIFT shift right operator shift_expression ---td >>= >>= RSHIFTASSIGN shift right and assignment operator assignment_operator ---td 63 3F ? \? COND conditional expression operator conditional_expression ---td 91 r3 5B r3 [ r3 \[ r3 LBRACKET r3 array declarator r2 direct_declarator ---td direct_abstract_declarator ---td array element operator postfix_expression ---td 93 r3 5D r3 ] r3 ] r3 RBRACKET r3 array declarator r2 direct_declarator ---td direct_abstract_declarator ---td array element operator postfix_expression ---td 94 r2 5E r2 ^ \^ CARET bit XOR operator exclusive_or_expression ---td ^= \^= BITXORASSIGN bit XOR and assignment operator assignment_operator ---td 95 5F _Bool _Bool BOOL boolean type specifier type_specifier ---td 97 61 auto auto AUTO auto storage class specifier storage_class_specifier ---td 98 62 break break BREAK break jump statement jump_statement ---td 99 r4 63 r4 case case CASE case labeled statement labeled_statement ---td char char CHAR character type specifier type_specifier ---td const const CONST constant type qualifier type_qualifier ---td continue continue CONTINUE continue jump statement jump_statement ---td 100 r3 64 r3 default default DEFAULT default labeled statement labeled_statement ---td do do DO do-while iteration statement iteration_statement ---td double double DOUBLE double precision floating-point number type specifier type_specifier ---td 101 r3 65 r3 else else ELSE else selection statement selection_statement ---td enum enum ENUM enumeration type specifier enum_specifier ---td extern extern EXTERN external storage class specifier storage_class_specifier ---td 102 r2 66 r2 float float FLOAT single precision floating-point number type specifier type_specifier ---td for for FOR for iteration statement iteration_statement ---td 103 67 goto goto GOTO goto jump statement jump_statement ---td 105 r3 69 r3 if if IF if selection statement selection_statement ---td inline inline INLINE inline function specifier function_specifier ---td int int INT integer type specifier type_specifier ---td 108 6C long long LONG long integer type specifier type_specifier ---td 114 r3 72 r3 register register REGISTER register storage class specifier storage_class_specifier ---td restrict restrict RESTRICT restricted type qualifier type_qualifier ---td return return RETURN return jump statement jump_statement ---td 115 r6 73 r6 short short SHORT short integer type specifier type_specifier ---td signed signed SIGNED signed integer type specifier type_specifier ---td sizeof sizeof SIZEOF size-of operator unary_expression ---td static static STATIC static storage class specifier storage_class_specifier ---td struct struct STRUCT structure type specifier struct_or_union ---td switch switch SWITCH switch selection statement selection_statement ---td 116 74 typedef typedef TYPEDEF type definition specifier storage_class_specifier ---td 117 r2 75 r2 union union UNION union type specifier struct_or_union ---td unsigned unsigned UNSIGNED unsigned integer type specifier type_specifier ---td 118 r2 76 r2 void void VOID void type specifier type_specifier ---td volatile volatile VOLATILE volatile type qualifier type_qualifier ---td 119 77 while while WHILE while iteration statement iteration_statement ---td 65 r11 mark 41 r11 many r11 nocode [A-Z_a-z][0-9A-Z_a-z]* r11 IDENTIFIER r9 declaration r5 struct_or_union_specifier ---td enum_specifier ---td enumerator ---td direct_declarator ---td identifier_list ---td labeled statement labeled_statement ---td jump statement jump_statement ---td expression postfix_expression ---td identifier primary_expression ---td TYPEDEF_NAME type definition name type_specifier ---td ENUMLIT enumerator literal constant ---td 123 r4 7B r4 { r4 \{ r4 LBRACE r4 declaration r2 struct_or_union_specifier ---td enum_specifier ---td initializer initializer ---td compound statement compound_statement ---td 124 r3 7C r3 | \| BITOR bit OR operator inclusive_or_expression ---td |= \|= BITORASSIGN bit OR and assignment operator assignment_operator ---td || "||" OR logical OR operator logical_or_expression ---td 125 r4 7D r4 } r4 \} r4 RBRACE r4 declaration r2 struct_or_union_specifier ---td enum_specifier ---td initializer initializer ---td compound statement compound_statement ---td 126 7E ~ ~ TILDE bit complement operator unary_operator ---td 0 mark 0 many nocode . UNRECOGNIZED unrecognized lexeme gray ---