Changes in src/Parser/parser.yy [24c3b67:2a8427c6]
- File:
-
- 1 edited
-
src/Parser/parser.yy (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
r24c3b67 r2a8427c6 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Feb 15 17:12:31201813 // Update Count : 30 0612 // Last Modified On : Thu Feb 22 15:31:19 2018 13 // Update Count : 3027 14 14 // 15 15 … … 314 314 %type<decl> cfa_identifier_parameter_declarator_tuple cfa_identifier_parameter_ptr 315 315 316 %type<decl> cfa_parameter_declaration cfa_parameter_list cfa_parameter_type_list cfa_parameter_type_list_opt316 %type<decl> cfa_parameter_declaration cfa_parameter_list cfa_parameter_type_list_opt 317 317 318 318 %type<decl> cfa_typedef_declaration cfa_variable_declaration cfa_variable_specifier … … 322 322 %type<decl> KR_declaration_list KR_declaration_list_opt 323 323 324 %type<decl> parameter_declaration parameter_list parameter_type_list 325 %type<decl> parameter_type_list_opt 324 %type<decl> parameter_declaration parameter_list parameter_type_list_opt 326 325 327 326 %type<decl> paren_identifier paren_type … … 779 778 | unary_expression assignment_operator assignment_expression 780 779 { $$ = new ExpressionNode( build_binary_val( $2, $1, $3 ) ); } 781 | unary_expression '=' '{' initializer_list comma_opt '}' // FIX ME782 { $$ = nullptr; }780 | unary_expression '=' '{' initializer_list comma_opt '}' 781 { throw SemanticError( yylloc, "Initializer assignment is currently unimplemented." ); $$ = nullptr; } // FIX ME 783 782 ; 784 783 … … 849 848 | waitfor_statement 850 849 | exception_statement 850 | enable_disable_statement 851 { throw SemanticError( yylloc, "enable/disable statement is currently unimplemented." ); $$ = nullptr; } // FIX ME 851 852 | asm_statement 852 853 ; … … 1064 1065 | RETURN comma_expression_opt ';' 1065 1066 { $$ = new StatementNode( build_return( $2 ) ); } 1066 | RETURN '{' initializer_list comma_opt '}' // FIX ME1067 { $$ = nullptr; }1067 | RETURN '{' initializer_list comma_opt '}' 1068 { throw SemanticError( yylloc, "Initializer return is currently unimplemented." ); $$ = nullptr; } // FIX ME 1068 1069 | THROW assignment_expression_opt ';' // handles rethrow 1069 1070 { $$ = new StatementNode( build_throw( $2 ) ); } … … 1193 1194 ; 1194 1195 1196 enable_disable_statement: 1197 enable_disable_key identifier_list compound_statement 1198 ; 1199 1200 enable_disable_key: 1201 ENABLE 1202 | DISABLE 1203 ; 1204 1195 1205 asm_statement: 1196 1206 ASM asm_volatile_opt '(' string_literal ')' ';' … … 1392 1402 DeclarationNode * ret = new DeclarationNode; 1393 1403 ret->type = maybeClone( $1->type->base ); 1394 $$ = $1->appendList( DeclarationNode::newFunction( $5, ret, $8, nullptr , true) );1404 $$ = $1->appendList( DeclarationNode::newFunction( $5, ret, $8, nullptr ) ); 1395 1405 } 1396 1406 ; … … 1422 1432 // To obtain LR(1 ), this rule must be factored out from function return type (see cfa_abstract_declarator). 1423 1433 { 1424 $$ = DeclarationNode::newFunction( $2, $1, $5, 0 , true);1434 $$ = DeclarationNode::newFunction( $2, $1, $5, 0 ); 1425 1435 } 1426 1436 | cfa_function_return identifier_or_type_name '(' push cfa_parameter_type_list_opt pop ')' 1427 1437 { 1428 $$ = DeclarationNode::newFunction( $2, $1, $5, 0 , true);1438 $$ = DeclarationNode::newFunction( $2, $1, $5, 0 ); 1429 1439 } 1430 1440 ; … … 1990 2000 ; 1991 2001 1992 // Minimum of one parameter after which ellipsis is allowed only at the end. 1993 1994 cfa_parameter_type_list_opt: // CFA 2002 cfa_parameter_type_list_opt: // CFA, abstract + real 1995 2003 // empty 2004 { $$ = DeclarationNode::newBasicType( DeclarationNode::Void ); } 2005 | ELLIPSIS 1996 2006 { $$ = nullptr; } 1997 | cfa_parameter_type_list 1998 ; 1999 2000 cfa_parameter_type_list: // CFA, abstract + real 2001 cfa_abstract_parameter_list 2007 | cfa_abstract_parameter_list 2002 2008 | cfa_parameter_list 2003 2009 | cfa_parameter_list pop ',' push cfa_abstract_parameter_list … … 2030 2036 // empty 2031 2037 { $$ = nullptr; } 2032 | parameter_type_list 2033 ; 2034 2035 parameter_type_list: 2036 parameter_list 2038 | ELLIPSIS 2039 { $$ = nullptr; } 2040 | parameter_list 2037 2041 | parameter_list pop ',' push ELLIPSIS 2038 2042 { $$ = $1->addVarArgs(); }
Note:
See TracChangeset
for help on using the changeset viewer.