Changes in / [d280784:bc17be98]
- File:
-
- 1 edited
-
src/Parser/parser.yy (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
rd280784 rbc17be98 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jun 11 21:32:15202413 // Update Count : 66 4112 // Last Modified On : Tue Jun 11 16:56:42 2024 13 // Update Count : 6638 14 14 // 15 15 … … 387 387 // names and constants: lexer differentiates between identifier and typedef names 388 388 %token<tok> IDENTIFIER TYPEDIMname TYPEDEFname TYPEGENname 389 %token<tok> TIMEOUT WAND WOR CATCH RECOVER CATCHRESUME FIXUP FINALLY // CFA389 %token<tok> TIMEOUT WAND WOR CATCH RECOVER CATCHRESUME FIXUP FINALLY // CFA 390 390 %token<tok> INTEGERconstant CHARACTERconstant STRINGliteral 391 391 %token<tok> DIRECTIVE … … 493 493 %type<decl> exception_declaration 494 494 495 %type<decl> field_declaration_list_opt field_declaration field_declaring_list_opt field_declar ator field_abstract_list_opt field_abstract495 %type<decl> field_declaration_list_opt field_declaration field_declaring_list_opt field_declaring_list field_declarator field_abstract_list_opt field_abstract 496 496 %type<expr> field field_name_list field_name fraction_constants_opt 497 497 … … 678 678 | '@' // CFA 679 679 { Token tok = { new string( DeclarationNode::anonymous.newName() ), yylval.tok.loc }; $$ = tok; } 680 ;681 682 identifier_or_type_name:683 identifier684 | TYPEDEFname685 | TYPEGENname686 680 ; 687 681 … … 817 811 // z.E; // lexer returns E is TYPEDEFname 818 812 // } 819 | postfix_expression '.' identifier_or_type_name 813 | postfix_expression '.' identifier 814 { $$ = new ExpressionNode( build_fieldSel( yylloc, $1, build_varref( yylloc, $3 ) ) ); } 815 | postfix_expression '.' TYPEDEFname // CFA, SKULLDUGGERY 816 { $$ = new ExpressionNode( build_fieldSel( yylloc, $1, build_varref( yylloc, $3 ) ) ); } 817 | postfix_expression '.' TYPEGENname // CFA, SKULLDUGGERY 820 818 { $$ = new ExpressionNode( build_fieldSel( yylloc, $1, build_varref( yylloc, $3 ) ) ); } 821 819 … … 1615 1613 enum_key: 1616 1614 TYPEDEFname 1617 | ENUM identifier_or_type_name1615 | ENUM TYPEDEFname 1618 1616 ; 1619 1617 … … 2694 2692 // empty 2695 2693 { $$ = nullptr; } 2696 | field_declarator 2697 | field_declaring_list_opt ',' attribute_list_opt field_declarator 2694 | field_declaring_list 2695 ; 2696 2697 field_declaring_list: 2698 field_declarator 2699 | field_declaring_list ',' attribute_list_opt field_declarator 2698 2700 { $$ = $1->set_last( $4->addQualifiers( $3 ) ); } 2699 2701 ; … … 2959 2961 ; 2960 2962 2963 identifier_or_type_name: 2964 identifier 2965 | TYPEDEFname 2966 | TYPEGENname 2967 ; 2968 2961 2969 type_no_function: // sizeof, alignof, cast (constructor) 2962 2970 cfa_abstract_declarator_tuple // CFA … … 3222 3230 // empty, input file 3223 3231 | external_definition_list 3224 { parseTree = parseTree ? parseTree->set_last( $1 ) : $1; }3232 { parseTree = parseTree ? parseTree->set_last( $1 ) : $1; } 3225 3233 ; 3226 3234 … … 3480 3488 3481 3489 attr_name: // GCC 3482 identifier_or_type_name 3490 IDENTIFIER 3491 | quasi_keyword 3492 | TYPEDEFname 3493 | TYPEGENname 3483 3494 | FALLTHROUGH 3484 3495 { $$ = Token{ new string( "fallthrough" ), { nullptr, -1 } }; }
Note:
See TracChangeset
for help on using the changeset viewer.