- Timestamp:
- Nov 2, 2022, 9:36:27 PM (23 months ago)
- Branches:
- ADT, ast-experimental, master
- Children:
- f6aa89c
- Parents:
- e50d9cb8
- Location:
- src/Parser
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ParseNode.h
re50d9cb8 r7cf8006 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Oct 18 16:22:15202213 // Update Count : 93 712 // Last Modified On : Wed Nov 2 21:27:07 2022 13 // Update Count : 939 14 14 // 15 15 … … 168 168 Ctor, Dtor, 169 169 }; // OperKinds 170 171 enum class EnumHiding { Visible, Hide }; 170 172 171 173 struct LabelNode { -
src/Parser/parser.yy
re50d9cb8 r7cf8006 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Oct 28 15:27:08202213 // Update Count : 5 76412 // Last Modified On : Wed Nov 2 21:31:21 2022 13 // Update Count : 5810 14 14 // 15 15 … … 278 278 279 279 // Types declaration for productions 280 280 281 %union { 281 282 Token tok; … … 290 291 CondCtl * ifctl; 291 292 ForCtrl * fctl; 292 enumOperKinds compop;293 OperKinds compop; 293 294 LabelNode * label; 294 295 InitializerNode * in; … … 296 297 std::string * str; 297 298 bool flag; 299 EnumHiding hide; 298 300 CatchStmt::Kind catch_kind; 299 301 GenericExpr * genexpr; … … 364 366 %type<constant> string_literal 365 367 %type<str> string_literal_list 368 369 %type<hide> hide_opt visible_hide_opt 366 370 367 371 // expressions … … 2554 2558 { typedefTable.makeTypedef( *$3 ); } 2555 2559 hide_opt '{' enumerator_list comma_opt '}' 2556 2560 { $$ = DeclarationNode::newEnum( $3, $7, true, false )->addQualifiers( $2 ); } 2557 2561 | ENUM attribute_list_opt typedef_name // unqualified type name 2558 2562 hide_opt '{' enumerator_list comma_opt '}' … … 2598 2602 hide_opt: 2599 2603 // empty 2604 { $$ = EnumHiding::Visible; } 2600 2605 | '!' 2606 { $$ = EnumHiding::Hide; } 2601 2607 ; 2602 2608 … … 2609 2615 2610 2616 enumerator_list: 2611 hide_visible_opt identifier_or_type_name enumerator_value_opt2617 visible_hide_opt identifier_or_type_name enumerator_value_opt 2612 2618 { $$ = DeclarationNode::newEnumValueGeneric( $2, $3 ); } 2613 2619 | INLINE type_name 2614 2620 { $$ = DeclarationNode::newEnumInLine( *$2->type->symbolic.name ); } 2615 | enumerator_list ',' hide_visible_opt identifier_or_type_name enumerator_value_opt2621 | enumerator_list ',' visible_hide_opt identifier_or_type_name enumerator_value_opt 2616 2622 { $$ = $1->appendList( DeclarationNode::newEnumValueGeneric( $4, $5 ) ); } 2617 2623 | enumerator_list ',' INLINE type_name enumerator_value_opt … … 2619 2625 ; 2620 2626 2621 hide_visible_opt:2627 visible_hide_opt: 2622 2628 hide_opt 2623 2629 | '^' 2630 { $$ = EnumHiding::Visible; } 2624 2631 ; 2625 2632
Note: See TracChangeset
for help on using the changeset viewer.