Changeset 7a24d76


Ignore:
Timestamp:
Jan 31, 2023, 9:12:06 AM (22 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, ast-experimental, master
Children:
0393653, 8a97248
Parents:
ce691d2
Message:

simply grammar for forall with trait

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.yy

    rce691d2 r7a24d76  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jan 30 20:47:27 2023
    13 // Update Count     : 5859
     12// Last Modified On : Tue Jan 31 08:55:11 2023
     13// Update Count     : 5861
    1414//
    1515
     
    20802080                { $$ = DeclarationNode::newTypeQualifier( Type::Atomic ); }
    20812081        | forall
     2082                { $$ = DeclarationNode::newForall( $1 ); }
    20822083        ;
    20832084
    20842085forall:
    20852086        FORALL '(' type_parameter_list ')'                                      // CFA
    2086                 { $$ = DeclarationNode::newForall( $3 ); }
     2087                { $$ = $3; }
    20872088        ;
    20882089
     
    29792980        TRAIT identifier_or_type_name '(' type_parameter_list ')' '{' '}'
    29802981                { $$ = DeclarationNode::newTrait( $2, $4, nullptr ); }
    2981         | FORALL '(' type_parameter_list ')' TRAIT identifier_or_type_name '{' '}' // alternate
    2982                 { $$ = DeclarationNode::newTrait( $6, $3, nullptr ); }
     2982        | forall TRAIT identifier_or_type_name '{' '}' // alternate
     2983                { $$ = DeclarationNode::newTrait( $3, $1, nullptr ); }
    29832984        | TRAIT identifier_or_type_name '(' type_parameter_list ')' '{' push trait_declaration_list pop '}'
    29842985                { $$ = DeclarationNode::newTrait( $2, $4, $8 ); }
    2985         | FORALL '(' type_parameter_list ')' TRAIT identifier_or_type_name '{' push trait_declaration_list pop '}' // alternate
    2986                 { $$ = DeclarationNode::newTrait( $6, $3, $9 ); }
     2986        | forall TRAIT identifier_or_type_name '{' push trait_declaration_list pop '}' // alternate
     2987                { $$ = DeclarationNode::newTrait( $3, $1, $6 ); }
    29872988        ;
    29882989
Note: See TracChangeset for help on using the changeset viewer.