Changes in / [633c711:fb31cb8]


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.yy

    r633c711 rfb31cb8  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Oct 16 11:07:29 2017
    13 // Update Count     : 2892
     12// Last Modified On : Mon Oct  2 18:18:55 2017
     13// Update Count     : 2835
    1414//
    1515
     
    250250%type<sn> exception_statement                   handler_clause                          finally_clause
    251251%type<catch_kind> handler_key
    252 %type<sn> mutex_statement
    253252%type<en> when_clause                                   when_clause_opt                         waitfor                                         timeout
    254253%type<sn> waitfor_statement
     
    808807        | jump_statement
    809808        | with_statement
    810         | mutex_statement
    811809        | waitfor_statement
    812810        | exception_statement
     
    10331031        ;
    10341032
    1035 // If MUTEX becomes a general qualifier, there are shift/reduce conflicts, so change syntax to "with mutex".
    1036 mutex_statement:
    1037         MUTEX '(' argument_expression_list ')' statement
    1038                 { $$ = nullptr; }                                                               // FIX ME
    1039         ;
    1040 
    10411033when_clause:
    10421034        WHEN '(' comma_expression ')'
     
    15571549        | VOLATILE
    15581550                { $$ = DeclarationNode::newTypeQualifier( Type::Volatile ); }
     1551        | MUTEX
     1552                { $$ = DeclarationNode::newTypeQualifier( Type::Mutex ); }
    15591553        | ATOMIC
    15601554                { $$ = DeclarationNode::newTypeQualifier( Type::Atomic ); }
     
    27092703        paren_identifier attribute_list_opt
    27102704                { $$ = $1->addQualifiers( $2 ); }
    2711         | '&' MUTEX paren_identifier attribute_list_opt
    2712                 { $$ = $3->addPointer( DeclarationNode::newPointer( DeclarationNode::newTypeQualifier( Type::Mutex ), OperKinds::AddressOf ) )->addQualifiers( $4 ); }
    27132705        | identifier_parameter_ptr
    27142706        | identifier_parameter_array attribute_list_opt
     
    27512743//
    27522744//              typedef int foo;
    2753 //              forall( otype T ) foo( T );
    27542745//              int f( int foo ); // redefine typedef name in new scope
    27552746//
     
    27592750        typedef attribute_list_opt
    27602751                { $$ = $1->addQualifiers( $2 ); }
    2761         | '&' MUTEX typedef attribute_list_opt
    2762                 { $$ = $3->addPointer( DeclarationNode::newPointer( DeclarationNode::newTypeQualifier( Type::Mutex ), OperKinds::AddressOf ) )->addQualifiers( $4 ); }
    27632752        | type_parameter_ptr
    27642753        | type_parameter_array attribute_list_opt
     
    29072896abstract_parameter_declarator:
    29082897        abstract_parameter_ptr
    2909         | '&' MUTEX attribute_list_opt
    2910                 { $$ = DeclarationNode::newPointer( DeclarationNode::newTypeQualifier( Type::Mutex ), OperKinds::AddressOf )->addQualifiers( $3 ); }
    29112898        | abstract_parameter_array attribute_list_opt
    29122899                { $$ = $1->addQualifiers( $2 ); }
Note: See TracChangeset for help on using the changeset viewer.