diff options
Diffstat (limited to 'upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java')
-rw-r--r-- | upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java | 568 |
1 files changed, 278 insertions, 290 deletions
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java index cab42b8be48..8f2bb80f869 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java @@ -181,7 +181,7 @@ public UPCNoCastExpressionParser() { // constructor } private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) { - action = new UPCParserAction (this, tu, astStack, UPCASTNodeFactory.DEFAULT_INSTANCE , UPCSecondaryParserFactory.getDefault() ); + action = new UPCParserAction (this, tu, astStack, new UPCASTNodeFactory() , UPCSecondaryParserFactory.getDefault() ); action.setParserOptions(options); @@ -261,81 +261,81 @@ public UPCNoCastExpressionParser(IParserActionTokenProvider parser) { // constr } // - // Rule 10: literal ::= integer + // Rule 12: literal ::= integer // - case 10: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; + case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; } // - // Rule 11: literal ::= floating + // Rule 13: literal ::= floating // - case 11: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; + case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; } // - // Rule 12: literal ::= charconst + // Rule 14: literal ::= charconst // - case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; + case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; } // - // Rule 13: literal ::= stringlit + // Rule 15: literal ::= stringlit // - case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; + case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; } // - // Rule 15: primary_expression ::= primary_expression_id + // Rule 17: primary_expression ::= primary_expression_id // - case 15: { action. consumeExpressionID(); break; + case 17: { action. consumeExpressionID(); break; } // - // Rule 16: primary_expression ::= ( expression ) + // Rule 18: primary_expression ::= ( expression ) // - case 16: { action. consumeExpressionBracketed(); break; + case 18: { action. consumeExpressionBracketed(); break; } // - // Rule 20: postfix_expression ::= postfix_expression [ expression ] + // Rule 21: postfix_expression ::= postfix_expression [ expression ] // - case 20: { action. consumeExpressionArraySubscript(); break; + case 21: { action. consumeExpressionArraySubscript(); break; } // - // Rule 21: postfix_expression ::= postfix_expression ( expression_list_opt ) + // Rule 22: postfix_expression ::= postfix_expression ( expression_list_opt ) // - case 21: { action. consumeExpressionFunctionCall(); break; + case 22: { action. consumeExpressionFunctionCall(); break; } // - // Rule 22: postfix_expression ::= postfix_expression . member_name + // Rule 23: postfix_expression ::= postfix_expression . member_name // - case 22: { action. consumeExpressionFieldReference(false); break; + case 23: { action. consumeExpressionFieldReference(false); break; } // - // Rule 23: postfix_expression ::= postfix_expression -> member_name + // Rule 24: postfix_expression ::= postfix_expression -> member_name // - case 23: { action. consumeExpressionFieldReference(true); break; + case 24: { action. consumeExpressionFieldReference(true); break; } // - // Rule 24: postfix_expression ::= postfix_expression ++ + // Rule 25: postfix_expression ::= postfix_expression ++ // - case 24: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; + case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; } // - // Rule 25: postfix_expression ::= postfix_expression -- + // Rule 26: postfix_expression ::= postfix_expression -- // - case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; + case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; } // - // Rule 26: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } + // Rule 27: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } // - case 26: { action. consumeExpressionTypeIdInitializer(); break; + case 27: { action. consumeExpressionTypeIdInitializer(); break; } // @@ -783,771 +783,759 @@ public UPCNoCastExpressionParser(IParserActionTokenProvider parser) { // constr } // - // Rule 177: typedef_name_in_declspec ::= Completion + // Rule 178: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 177: { action. consumeToken(); break; + case 178: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 178: typedef_name_in_declspec ::= identifier + // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } // - case 178: { action. consumeToken(); break; + case 179: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 184: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 181: { action. consumeTypeSpecifierComposite(false); break; + case 184: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 185: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 182: { action. consumeTypeSpecifierComposite(true); break; + case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 192: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 192: { action. consumeStructDeclaration(true); break; } // - // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 193: struct_declaration ::= specifier_qualifier_list ; // - case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 193: { action. consumeStructDeclaration(false); break; } // - // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 194: struct_declaration ::= ERROR_TOKEN // - case 195: { action. consumeStructDeclaration(true); break; + case 194: { action. consumeDeclarationProblem(); break; } // - // Rule 196: struct_declaration ::= specifier_qualifier_list ; + // Rule 200: struct_declarator ::= : constant_expression // - case 196: { action. consumeStructDeclaration(false); break; + case 200: { action. consumeBitField(false); break; } // - // Rule 197: struct_declaration ::= ERROR_TOKEN + // Rule 201: struct_declarator ::= declarator : constant_expression // - case 197: { action. consumeDeclarationProblem(); break; + case 201: { action. consumeBitField(true); break; } // - // Rule 203: struct_declarator ::= : constant_expression + // Rule 202: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 203: { action. consumeBitField(false); break; + case 202: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 204: struct_declarator ::= declarator : constant_expression + // Rule 203: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 204: { action. consumeBitField(true); break; + case 203: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 209: enumerator ::= identifier_token // - case 205: { action. consumeTypeSpecifierEnumeration(false); break; + case 209: { action. consumeEnumerator(false); break; } // - // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 210: enumerator ::= identifier_token = constant_expression // - case 206: { action. consumeTypeSpecifierEnumeration(true); break; + case 210: { action. consumeEnumerator(true); break; } // - // Rule 212: enumerator ::= identifier_token + // Rule 211: type_qualifier ::= type_qualifier_token // - case 212: { action. consumeEnumerator(false); break; + case 211: { action. consumeToken(); break; } // - // Rule 213: enumerator ::= identifier_token = constant_expression + // Rule 215: function_specifier ::= inline // - case 213: { action. consumeEnumerator(true); break; + case 215: { action. consumeToken(); break; } // - // Rule 214: type_qualifier ::= type_qualifier_token + // Rule 217: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 214: { action. consumeToken(); break; + case 217: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 218: function_specifier ::= inline + // Rule 222: basic_direct_declarator ::= declarator_id_name // - case 218: { action. consumeToken(); break; + case 222: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 223: basic_direct_declarator ::= ( declarator ) // - case 220: { action. consumeDeclaratorWithPointer(true); break; + case 223: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 225: basic_direct_declarator ::= declarator_id_name + // Rule 224: declarator_id_name ::= identifier // - case 225: { action. consumeDirectDeclaratorIdentifier(); break; + case 224: { action. consumeIdentifierName(); break; } // - // Rule 226: basic_direct_declarator ::= ( declarator ) + // Rule 225: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 226: { action. consumeDirectDeclaratorBracketed(); break; + case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 227: declarator_id_name ::= identifier + // Rule 226: array_direct_declarator ::= array_direct_declarator array_modifier // - case 227: { action. consumeIdentifierName(); break; + case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 228: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 229: function_direct_declarator ::= basic_direct_declarator ( ) // - case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 231: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 231: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 232: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 234: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 235: identifier_list ::= identifier // - case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 235: { action. consumeIdentifierKnR(); break; } // - // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 236: identifier_list ::= identifier_list , identifier // - case 237: { action. consumeDeclaratorWithPointer(true); break; + case 236: { action. consumeIdentifierKnR(); break; } // - // Rule 238: identifier_list ::= identifier + // Rule 237: array_modifier ::= [ ] // - case 238: { action. consumeIdentifierKnR(); break; + case 237: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 239: identifier_list ::= identifier_list , identifier + // Rule 238: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 239: { action. consumeIdentifierKnR(); break; + case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 240: array_modifier ::= [ ] + // Rule 239: array_modifier ::= [ assignment_expression ] // - case 240: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 242: array_modifier ::= [ assignment_expression ] + // Rule 241: array_modifier ::= [ static assignment_expression ] // - case 242: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 242: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 244: array_modifier ::= [ static assignment_expression ] + // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 244: array_modifier ::= [ * ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 247: array_modifier ::= [ * ] + // Rule 247: pointer_seq ::= pointer_hook * // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 247: { action. consumePointer(); break; } // - // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 248: pointer_seq ::= pointer_seq pointer_hook * // - case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 248: { action. consumePointer(); break; } // - // Rule 250: pointer_seq ::= pointer_hook * + // Rule 249: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list // - case 250: { action. consumePointer(); break; + case 249: { action. consumePointerTypeQualifierList(); break; } // - // Rule 251: pointer_seq ::= pointer_seq pointer_hook * + // Rule 250: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list // - case 251: { action. consumePointer(); break; + case 250: { action. consumePointerTypeQualifierList(); break; } // - // Rule 252: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list + // Rule 254: parameter_type_list ::= parameter_list // - case 252: { action. consumePointerTypeQualifierList(); break; + case 254: { action. consumeEmpty(); break; } // - // Rule 253: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list + // Rule 255: parameter_type_list ::= parameter_list , ... // - case 253: { action. consumePointerTypeQualifierList(); break; + case 255: { action. consumePlaceHolder(); break; } // - // Rule 257: parameter_type_list ::= parameter_list + // Rule 256: parameter_type_list ::= ... // - case 257: { action. consumeEmpty(); break; + case 256: { action. consumePlaceHolder(); break; } // - // Rule 258: parameter_type_list ::= parameter_list , ... + // Rule 259: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 258: { action. consumePlaceHolder(); break; + case 259: { action. consumeParameterDeclaration(); break; } // - // Rule 259: parameter_type_list ::= ... + // Rule 260: parameter_declaration ::= declaration_specifiers // - case 259: { action. consumePlaceHolder(); break; + case 260: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 263: type_id ::= specifier_qualifier_list // - case 262: { action. consumeParameterDeclaration(); break; + case 263: { action. consumeTypeId(false); break; } // - // Rule 263: parameter_declaration ::= declaration_specifiers + // Rule 264: type_id ::= specifier_qualifier_list abstract_declarator // - case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 264: { action. consumeTypeId(true); break; } // - // Rule 266: type_id ::= specifier_qualifier_list + // Rule 266: abstract_declarator ::= <openscope-ast> pointer_seq // - case 266: { action. consumeTypeId(false); break; + case 266: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 267: { action. consumeTypeId(true); break; + case 267: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 271: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 269: { action. consumeDeclaratorWithPointer(false); break; + case 271: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 272: array_direct_abstract_declarator ::= array_modifier // - case 270: { action. consumeDeclaratorWithPointer(false); break; + case 272: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 273: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 274: { action. consumeDirectDeclaratorBracketed(); break; + case 273: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 275: array_direct_abstract_declarator ::= array_modifier + // Rule 274: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 275: function_direct_abstract_declarator ::= ( ) // - case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; - } - - // - // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier - // - case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; - } - - // - // Rule 278: function_direct_abstract_declarator ::= ( ) - // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 277: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 282: initializer ::= assignment_expression + // Rule 279: initializer ::= assignment_expression // - case 282: { action. consumeInitializer(); break; + case 279: { action. consumeInitializer(); break; } // - // Rule 283: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list + // Rule 280: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list // - case 283: { action. consumeInitializerList(); break; + case 280: { action. consumeInitializerList(); break; } // - // Rule 284: initializer ::= { <openscope-ast> } + // Rule 281: initializer ::= { <openscope-ast> } // - case 284: { action. consumeInitializerList(); break; + case 281: { action. consumeInitializerList(); break; } // - // Rule 285: start_initializer_list ::= $Empty + // Rule 282: start_initializer_list ::= $Empty // - case 285: { action. initializerListStart(); break; + case 282: { action. initializerListStart(); break; } // - // Rule 286: end_initializer_list ::= $Empty + // Rule 283: end_initializer_list ::= $Empty // - case 286: { action. initializerListEnd(); break; + case 283: { action. initializerListEnd(); break; } // - // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 288: designated_initializer ::= <openscope-ast> designation = initializer // - case 291: { action. consumeInitializerDesignated(); break; + case 288: { action. consumeInitializerDesignated(); break; } // - // Rule 295: designator_base ::= [ constant_expression ] + // Rule 292: designator_base ::= [ constant_expression ] // - case 295: { action. consumeDesignatorArray(); break; + case 292: { action. consumeDesignatorArray(); break; } // - // Rule 296: designator_base ::= . identifier_token + // Rule 293: designator_base ::= . identifier_token // - case 296: { action. consumeDesignatorField(); break; + case 293: { action. consumeDesignatorField(); break; } // - // Rule 297: designator ::= [ constant_expression ] + // Rule 294: designator ::= [ constant_expression ] // - case 297: { action. consumeDesignatorArray(); break; + case 294: { action. consumeDesignatorArray(); break; } // - // Rule 298: designator ::= . identifier_token + // Rule 295: designator ::= . identifier_token // - case 298: { action. consumeDesignatorField(); break; + case 295: { action. consumeDesignatorField(); break; } // - // Rule 299: translation_unit ::= external_declaration_list + // Rule 296: translation_unit ::= external_declaration_list // - case 299: { action. consumeTranslationUnit(); break; + case 296: { action. consumeTranslationUnit(); break; } // - // Rule 300: translation_unit ::= $Empty + // Rule 297: translation_unit ::= $Empty // - case 300: { action. consumeTranslationUnit(); break; + case 297: { action. consumeTranslationUnit(); break; } // - // Rule 305: external_declaration ::= ; + // Rule 302: external_declaration ::= ; // - case 305: { action. consumeDeclarationEmpty(); break; + case 302: { action. consumeDeclarationEmpty(); break; } // - // Rule 306: external_declaration ::= ERROR_TOKEN + // Rule 303: external_declaration ::= ERROR_TOKEN // - case 306: { action. consumeDeclarationProblem(); break; + case 303: { action. consumeDeclarationProblem(); break; } // - // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 306: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 309: { action. consumeFunctionDefinition(true); break; + case 306: { action. consumeFunctionDefinition(true); break; } // - // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 307: function_definition ::= <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(false); break; + case 307: { action. consumeFunctionDefinition(false); break; } // - // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 308: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 311: { action. consumeFunctionDefinitionKnR(); break; + case 308: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 312: function_body ::= { } + // Rule 309: function_body ::= { } // - case 312: { action. consumeStatementCompoundStatement(false); break; + case 309: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 313: function_body ::= { <openscope-ast> block_item_list } + // Rule 310: function_body ::= { <openscope-ast> block_item_list } // - case 313: { action. consumeStatementCompoundStatement(true); break; + case 310: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 315: no_cast_start ::= ERROR_TOKEN + // Rule 312: no_cast_start ::= ERROR_TOKEN // - case 315: { action. consumeExpressionProblem(); break; + case 312: { action. consumeExpressionProblem(); break; } // - // Rule 316: literal ::= MYTHREAD + // Rule 313: literal ::= MYTHREAD // - case 316: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; + case 313: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; } // - // Rule 317: literal ::= THREADS + // Rule 314: literal ::= THREADS // - case 317: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; + case 314: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; } // - // Rule 318: literal ::= UPC_MAX_BLOCKSIZE + // Rule 315: literal ::= UPC_MAX_BLOCKSIZE // - case 318: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; + case 315: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; } // - // Rule 319: unary_expression ::= upc_localsizeof unary_expression + // Rule 316: unary_expression ::= upc_localsizeof unary_expression // - case 319: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 316: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 320: unary_expression ::= upc_localsizeof ( type_id ) + // Rule 317: unary_expression ::= upc_localsizeof ( type_id ) // - case 320: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 317: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 321: unary_expression ::= upc_blocksizeof unary_expression + // Rule 318: unary_expression ::= upc_blocksizeof unary_expression // - case 321: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 318: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 322: unary_expression ::= upc_blocksizeof ( type_id ) + // Rule 319: unary_expression ::= upc_blocksizeof ( type_id ) // - case 322: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 319: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 323: unary_expression ::= upc_elemsizeof unary_expression + // Rule 320: unary_expression ::= upc_elemsizeof unary_expression // - case 323: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 320: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 324: unary_expression ::= upc_elemsizeof ( type_id ) + // Rule 321: unary_expression ::= upc_elemsizeof ( type_id ) // - case 324: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 321: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 328: shared_type_qualifier ::= shared + // Rule 325: shared_type_qualifier ::= shared // - case 328: { action. consumeToken(); break; + case 325: { action. consumeToken(); break; } // - // Rule 329: reference_type_qualifier ::= relaxed + // Rule 326: reference_type_qualifier ::= relaxed // - case 329: { action. consumeToken(); break; + case 326: { action. consumeToken(); break; } // - // Rule 330: reference_type_qualifier ::= strict + // Rule 327: reference_type_qualifier ::= strict // - case 330: { action. consumeToken(); break; + case 327: { action. consumeToken(); break; } // - // Rule 331: layout_qualifier ::= [ constant_expression ] + // Rule 328: layout_qualifier ::= [ constant_expression ] // - case 331: { action. consumeLayoutQualifier(true, false); break; + case 328: { action. consumeLayoutQualifier(true, false); break; } // - // Rule 332: layout_qualifier ::= [ * ] + // Rule 329: layout_qualifier ::= [ * ] // - case 332: { action. consumeLayoutQualifier(false, true); break; + case 329: { action. consumeLayoutQualifier(false, true); break; } // - // Rule 333: layout_qualifier ::= [ ] + // Rule 330: layout_qualifier ::= [ ] // - case 333: { action. consumeLayoutQualifier(false, false); break; + case 330: { action. consumeLayoutQualifier(false, false); break; } // - // Rule 335: synchronization_statement ::= upc_notify expression ; + // Rule 332: synchronization_statement ::= upc_notify expression ; // - case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; + case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; } // - // Rule 336: synchronization_statement ::= upc_notify ; + // Rule 333: synchronization_statement ::= upc_notify ; // - case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; + case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; } // - // Rule 337: synchronization_statement ::= upc_wait expression ; + // Rule 334: synchronization_statement ::= upc_wait expression ; // - case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; + case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; } // - // Rule 338: synchronization_statement ::= upc_wait ; + // Rule 335: synchronization_statement ::= upc_wait ; // - case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; + case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; } // - // Rule 339: synchronization_statement ::= upc_barrier expression ; + // Rule 336: synchronization_statement ::= upc_barrier expression ; // - case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; + case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; } // - // Rule 340: synchronization_statement ::= upc_barrier ; + // Rule 337: synchronization_statement ::= upc_barrier ; // - case 340: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; + case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; } // - // Rule 341: synchronization_statement ::= upc_fence ; + // Rule 338: synchronization_statement ::= upc_fence ; // - case 341: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; + case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; } // - // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement + // Rule 339: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement // - case 342: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 339: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement + // Rule 340: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement // - case 343: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 340: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement + // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement // - case 344: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 341: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 345: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement + // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement // - case 345: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 342: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 346: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement + // Rule 343: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement // - case 346: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 343: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 347: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement + // Rule 344: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement // - case 347: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 344: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 348: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement + // Rule 345: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement // - case 348: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 345: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 349: iteration_statement ::= upc_forall ( expression ; ; ; ) statement + // Rule 346: iteration_statement ::= upc_forall ( expression ; ; ; ) statement // - case 349: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 346: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 350: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement + // Rule 347: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement // - case 350: { action. consumeStatementUPCForallLoop(false, true, true, true); break; + case 347: { action. consumeStatementUPCForallLoop(false, true, true, true); break; } // - // Rule 351: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement + // Rule 348: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement // - case 351: { action. consumeStatementUPCForallLoop(false, true, true, false); break; + case 348: { action. consumeStatementUPCForallLoop(false, true, true, false); break; } // - // Rule 352: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement + // Rule 349: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement // - case 352: { action. consumeStatementUPCForallLoop(false, true, false, true); break; + case 349: { action. consumeStatementUPCForallLoop(false, true, false, true); break; } // - // Rule 353: iteration_statement ::= upc_forall ( ; expression ; ; ) statement + // Rule 350: iteration_statement ::= upc_forall ( ; expression ; ; ) statement // - case 353: { action. consumeStatementUPCForallLoop(false, true, false, false); break; + case 350: { action. consumeStatementUPCForallLoop(false, true, false, false); break; } // - // Rule 354: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement + // Rule 351: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement // - case 354: { action. consumeStatementUPCForallLoop(false, false, true, true); break; + case 351: { action. consumeStatementUPCForallLoop(false, false, true, true); break; } // - // Rule 355: iteration_statement ::= upc_forall ( ; ; expression ; ) statement + // Rule 352: iteration_statement ::= upc_forall ( ; ; expression ; ) statement // - case 355: { action. consumeStatementUPCForallLoop(false, false, true, false); break; + case 352: { action. consumeStatementUPCForallLoop(false, false, true, false); break; } // - // Rule 356: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement + // Rule 353: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement // - case 356: { action. consumeStatementUPCForallLoop(false, false, false, true); break; + case 353: { action. consumeStatementUPCForallLoop(false, false, false, true); break; } // - // Rule 357: iteration_statement ::= upc_forall ( ; ; ; ) statement + // Rule 354: iteration_statement ::= upc_forall ( ; ; ; ) statement // - case 357: { action. consumeStatementUPCForallLoop(false, false, false, false); break; + case 354: { action. consumeStatementUPCForallLoop(false, false, false, false); break; } // - // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement + // Rule 355: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement // - case 358: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 355: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement + // Rule 356: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement // - case 359: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 356: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement + // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement // - case 360: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 357: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 361: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement + // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement // - case 361: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 358: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 362: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement + // Rule 359: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement // - case 362: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 359: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 363: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement + // Rule 360: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement // - case 363: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 360: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 364: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement + // Rule 361: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement // - case 364: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 361: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 365: iteration_statement ::= upc_forall ( declaration ; ; ) statement + // Rule 362: iteration_statement ::= upc_forall ( declaration ; ; ) statement // - case 365: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 362: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 367: affinity ::= continue + // Rule 364: affinity ::= continue // - case 367: { action. consumeToken(); break; + case 364: { action. consumeToken(); break; } |