Changeset 3cb693c


Ignore:
Timestamp:
Jul 25, 2024, 5:00:55 PM (3 hours ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
fd4df379
Parents:
d02d223 (diff), c1b0b8f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.yy

    rd02d223 r3cb693c  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jul  9 10:29:01 2024
    13 // Update Count     : 6713
     12// Last Modified On : Thu Jul 25 15:19:32 2024
     13// Update Count     : 6730
    1414//
    1515
     
    852852        ;
    853853
    854 argument_expression_list_opt:
    855         // empty
    856                 { $$ = nullptr; }
    857         | argument_expression_list
    858         ;
    859 
    860 argument_expression_list:
    861         argument_expression
    862         | argument_expression_list_opt ',' argument_expression
    863                 { $$ = $1->set_last( $3 ); }
    864         ;
    865 
    866 argument_expression:
    867         '@'                                                                                                     // CFA, default parameter
    868                 { SemanticError( yylloc, "Default parameter for argument is currently unimplemented." ); $$ = nullptr; }
    869                 // { $$ = new ExpressionNode( build_constantInteger( *new string( "2" ) ) ); }
    870         | assignment_expression
    871         ;
    872 
    873854field_name_list:                                                                                // CFA, tuple field selector
    874855        field
     
    11161097constant_expression:
    11171098        conditional_expression
     1099        ;
     1100
     1101argument_expression_list_opt:
     1102        // empty
     1103                { $$ = nullptr; }
     1104        | argument_expression_list
     1105        ;
     1106
     1107argument_expression_list:
     1108        argument_expression
     1109        // | argument_expression_list_opt ',' argument_expression // CFA, allow empty argument
     1110        | argument_expression_list ',' argument_expression      // no empty argument
     1111                { $$ = $1->set_last( $3 ); }
     1112        ;
     1113
     1114argument_expression:
     1115        '?'                                                                                                     // CFA, default parameter
     1116                { SemanticError( yylloc, "Argument to default parameter is currently unimplemented." ); $$ = nullptr; }
     1117                // { $$ = new ExpressionNode( build_constantInteger( *new string( "2" ) ) ); }
     1118        | '?' identifier '=' assignment_expression                      // CFA, keyword argument
     1119                { SemanticError( yylloc, "keyword argument is currently unimplemented." ); $$ = nullptr; }
     1120        | assignment_expression
    11181121        ;
    11191122
     
    35433546        identifier_at
    35443547                { $$ = DeclarationNode::newName( $1 ); }
     3548        | '?' identifier
     3549                { SemanticError( yylloc, "keyword parameter is currently unimplemented." ); $$ = nullptr; }
    35453550        | '(' paren_identifier ')'                                                      // redundant parenthesis
    35463551                { $$ = $2; }
Note: See TracChangeset for help on using the changeset viewer.