Changeset ce8c12f for src/Parser/parser.yy
- Timestamp:
- May 15, 2017, 11:30:26 AM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- d36c117
- Parents:
- 65aca88
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
r65aca88 rce8c12f 2377 2377 variable_ptr: 2378 2378 ptrref_operator variable_declarator 2379 { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }2379 { $$ = $2->addPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2380 2380 | ptrref_operator type_qualifier_list variable_declarator 2381 { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }2381 { $$ = $3->addPointer( DeclarationNode::newPointer( $2, $1 ) ); } 2382 2382 | '(' variable_ptr ')' attribute_list_opt 2383 2383 { $$ = $2->addQualifiers( $4 ); } // redundant parenthesis … … 2425 2425 function_ptr: 2426 2426 ptrref_operator function_declarator 2427 { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }2427 { $$ = $2->addPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2428 2428 | ptrref_operator type_qualifier_list function_declarator 2429 { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }2429 { $$ = $3->addPointer( DeclarationNode::newPointer( $2, $1 ) ); } 2430 2430 | '(' function_ptr ')' 2431 2431 { $$ = $2; } … … 2465 2465 KR_function_ptr: 2466 2466 ptrref_operator KR_function_declarator 2467 { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }2467 { $$ = $2->addPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2468 2468 | ptrref_operator type_qualifier_list KR_function_declarator 2469 { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }2469 { $$ = $3->addPointer( DeclarationNode::newPointer( $2, $1 ) ); } 2470 2470 | '(' KR_function_ptr ')' 2471 2471 { $$ = $2; } … … 2509 2509 type_ptr: 2510 2510 ptrref_operator variable_type_redeclarator 2511 { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }2511 { $$ = $2->addPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2512 2512 | ptrref_operator type_qualifier_list variable_type_redeclarator 2513 { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }2513 { $$ = $3->addPointer( DeclarationNode::newPointer( $2, $1 ) ); } 2514 2514 | '(' type_ptr ')' attribute_list_opt 2515 2515 { $$ = $2->addQualifiers( $4 ); } … … 2553 2553 identifier_parameter_ptr: 2554 2554 ptrref_operator identifier_parameter_declarator 2555 { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }2555 { $$ = $2->addPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2556 2556 | ptrref_operator type_qualifier_list identifier_parameter_declarator 2557 { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }2557 { $$ = $3->addPointer( DeclarationNode::newPointer( $2, $1 ) ); } 2558 2558 | '(' identifier_parameter_ptr ')' attribute_list_opt 2559 2559 { $$ = $2->addQualifiers( $4 ); } … … 2613 2613 type_parameter_ptr: 2614 2614 ptrref_operator type_parameter_redeclarator 2615 { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }2615 { $$ = $2->addPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2616 2616 | ptrref_operator type_qualifier_list type_parameter_redeclarator 2617 { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }2617 { $$ = $3->addPointer( DeclarationNode::newPointer( $2, $1 ) ); } 2618 2618 | '(' type_parameter_ptr ')' attribute_list_opt 2619 2619 { $$ = $2->addQualifiers( $4 ); } … … 2656 2656 abstract_ptr: 2657 2657 ptrref_operator 2658 { $$ = DeclarationNode::newPointer( 0 ); }2658 { $$ = DeclarationNode::newPointer( 0, $1 ); } 2659 2659 | ptrref_operator type_qualifier_list 2660 { $$ = DeclarationNode::newPointer( $2 ); }2660 { $$ = DeclarationNode::newPointer( $2, $1 ); } 2661 2661 | ptrref_operator abstract_declarator 2662 { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }2662 { $$ = $2->addPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2663 2663 | ptrref_operator type_qualifier_list abstract_declarator 2664 { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }2664 { $$ = $3->addPointer( DeclarationNode::newPointer( $2, $1 ) ); } 2665 2665 | '(' abstract_ptr ')' attribute_list_opt 2666 2666 { $$ = $2->addQualifiers( $4 ); } … … 2745 2745 abstract_parameter_ptr: 2746 2746 ptrref_operator 2747 { $$ = DeclarationNode::newPointer( nullptr ); }2747 { $$ = DeclarationNode::newPointer( nullptr, $1 ); } 2748 2748 | ptrref_operator type_qualifier_list 2749 { $$ = DeclarationNode::newPointer( $2 ); }2749 { $$ = DeclarationNode::newPointer( $2, $1 ); } 2750 2750 | ptrref_operator abstract_parameter_declarator 2751 { $$ = $2->addPointer( DeclarationNode::newPointer( nullptr ) ); }2751 { $$ = $2->addPointer( DeclarationNode::newPointer( nullptr, $1 ) ); } 2752 2752 | ptrref_operator type_qualifier_list abstract_parameter_declarator 2753 { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }2753 { $$ = $3->addPointer( DeclarationNode::newPointer( $2, $1 ) ); } 2754 2754 | '(' abstract_parameter_ptr ')' attribute_list_opt 2755 2755 { $$ = $2->addQualifiers( $4 ); } … … 2824 2824 variable_abstract_ptr: 2825 2825 ptrref_operator 2826 { $$ = DeclarationNode::newPointer( 0 ); }2826 { $$ = DeclarationNode::newPointer( 0, $1 ); } 2827 2827 | ptrref_operator type_qualifier_list 2828 { $$ = DeclarationNode::newPointer( $2 ); }2828 { $$ = DeclarationNode::newPointer( $2, $1 ); } 2829 2829 | ptrref_operator variable_abstract_declarator 2830 { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }2830 { $$ = $2->addPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2831 2831 | ptrref_operator type_qualifier_list variable_abstract_declarator 2832 { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }2832 { $$ = $3->addPointer( DeclarationNode::newPointer( $2, $1 ) ); } 2833 2833 | '(' variable_abstract_ptr ')' attribute_list_opt 2834 2834 { $$ = $2->addQualifiers( $4 ); } … … 2870 2870 // No SUE declaration in parameter list. 2871 2871 ptrref_operator type_specifier_nobody 2872 { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }2872 { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2873 2873 | type_qualifier_list ptrref_operator type_specifier_nobody 2874 { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }2874 { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1, $2 ) ); } 2875 2875 | ptrref_operator cfa_abstract_function 2876 { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }2876 { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2877 2877 | type_qualifier_list ptrref_operator cfa_abstract_function 2878 { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }2878 { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1, $2 ) ); } 2879 2879 | ptrref_operator cfa_identifier_parameter_declarator_tuple 2880 { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }2880 { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2881 2881 | type_qualifier_list ptrref_operator cfa_identifier_parameter_declarator_tuple 2882 { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }2882 { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1, $2 ) ); } 2883 2883 ; 2884 2884 … … 2958 2958 cfa_abstract_ptr: // CFA 2959 2959 ptrref_operator type_specifier 2960 { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }2960 { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2961 2961 | type_qualifier_list ptrref_operator type_specifier 2962 { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }2962 { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1, $2 ) ); } 2963 2963 | ptrref_operator cfa_abstract_function 2964 { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }2964 { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2965 2965 | type_qualifier_list ptrref_operator cfa_abstract_function 2966 { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }2966 { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1, $2 ) ); } 2967 2967 | ptrref_operator cfa_abstract_declarator_tuple 2968 { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }2968 { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0, $1 ) ); } 2969 2969 | type_qualifier_list ptrref_operator cfa_abstract_declarator_tuple 2970 { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }2970 { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1, $2 ) ); } 2971 2971 ; 2972 2972
Note: See TracChangeset
for help on using the changeset viewer.