diff options
Diffstat (limited to 'lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java')
-rw-r--r-- | lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java | 121 |
1 files changed, 58 insertions, 63 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java index 063bcac846a..2c2ff19a1f8 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. +* Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,7 +10,6 @@ *********************************************************************************/ // This file was generated by LPG - package org.eclipse.cdt.internal.core.dom.lrparser.cpp; import lpg.lpgjavaruntime.*; @@ -26,18 +25,13 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; import org.eclipse.cdt.core.parser.IScanner; import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; - -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; +import org.eclipse.cdt.core.index.IIndex;import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; - import org.eclipse.cdt.core.dom.ast.cpp.*; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory; import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory; - -public class CPPNoCastExpressionParser extends PrsStream implements RuleAction, ITokenStream, +import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory;public class CPPNoCastExpressionParser extends PrsStream implements RuleAction, ITokenStream, ITokenCollector, IParser< IASTExpression > , ISecondaryParser< IASTExpression > { @@ -173,7 +167,6 @@ public class CPPNoCastExpressionParser extends PrsStream implements RuleAction, } } - private CPPBuildASTParserAction action; private IASTCompletionNode compNode; @@ -231,8 +224,6 @@ public String getName() { return "CPPNoCastExpressionParser"; } - - private ITokenMap tokenMap = null; public void setTokens(List<IToken> tokens) { @@ -248,14 +239,7 @@ public void setTokens(List<IToken> tokens) { public CPPNoCastExpressionParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser initActions(properties); tokenMap = new TokenMap(CPPNoCastExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); -} - - public CPPNoCastExpressionParser(ITokenStream stream, IScanner scanner, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { // constructor for creating secondary parser - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - tokenMap = new TokenMap(CPPNoCastExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); -} - +} public void ruleAction(int ruleNumber) { @@ -2039,137 +2023,148 @@ public CPPNoCastExpressionParser(ITokenStream stream, Map<String,String> propert } // - // Rule 564: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 564: type_name_specifier_inTemplate ::= dcolon_opt nested_name_specifier_opt_inTemplate type_name_inTemplate // case 564: { action. consumeQualifiedId(false); break; } // - // Rule 565: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 565: type_name_specifier_inTemplate ::= dcolon_opt nested_name_specifier template template_id_name // - case 565: { action. consumeQualifiedId(true); break; + case 565: { action. consumeQualifiedId(false); break; } // - // Rule 570: declaration_specifiers_inTemplate ::= <openscope-ast> simple_declaration_specifiers + // Rule 566: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier identifier_name // - case 570: { action. consumeDeclarationSpecifiersSimple(); break; + case 566: { action. consumeQualifiedId(false); break; } // - // Rule 571: declaration_specifiers_inTemplate ::= <openscope-ast> class_declaration_specifiers + // Rule 567: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 571: { action. consumeDeclarationSpecifiersComposite(); break; + case 567: { action. consumeQualifiedId(true); break; } // - // Rule 572: declaration_specifiers_inTemplate ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 572: declaration_specifiers_inTemplate ::= <openscope-ast> simple_declaration_specifiers // - case 572: { action. consumeDeclarationSpecifiersComposite(); break; + case 572: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 573: declaration_specifiers_inTemplate ::= <openscope-ast> enum_declaration_specifiers + // Rule 573: declaration_specifiers_inTemplate ::= <openscope-ast> class_declaration_specifiers // case 573: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 574: declaration_specifiers_inTemplate ::= <openscope-ast> type_name_declaration_specifiers_inTemplate + // Rule 574: declaration_specifiers_inTemplate ::= <openscope-ast> elaborated_declaration_specifiers // - case 574: { action. consumeDeclarationSpecifiersTypeName(); break; + case 574: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 576: type_id_inTemplate ::= type_specifier_seq_inTemplate + // Rule 575: declaration_specifiers_inTemplate ::= <openscope-ast> enum_declaration_specifiers // - case 576: { action. consumeTypeId(false); break; + case 575: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 577: type_id_inTemplate ::= type_specifier_seq_inTemplate abstract_declarator + // Rule 576: declaration_specifiers_inTemplate ::= <openscope-ast> type_name_declaration_specifiers_inTemplate // - case 577: { action. consumeTypeId(true); break; + case 576: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 578: template_argument ::= assignment_expression_inTemplate + // Rule 578: type_id_inTemplate ::= type_specifier_seq_inTemplate // - case 578: { action. consumeTemplateArgumentExpression(); break; + case 578: { action. consumeTypeId(false); break; } // - // Rule 579: template_argument ::= type_id_inTemplate + // Rule 579: type_id_inTemplate ::= type_specifier_seq_inTemplate abstract_declarator // - case 579: { action. consumeTemplateArgumentTypeId(); break; + case 579: { action. consumeTypeId(true); break; } // - // Rule 580: explicit_instantiation ::= template declaration + // Rule 580: template_argument ::= assignment_expression_inTemplate // - case 580: { action. consumeTemplateExplicitInstantiation(); break; + case 580: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 581: explicit_specialization ::= template < > declaration + // Rule 581: template_argument ::= type_id_inTemplate // - case 581: { action. consumeTemplateExplicitSpecialization(); break; + case 581: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 582: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 582: explicit_instantiation ::= template declaration // - case 582: { action. consumeStatementTryBlock(true); break; + case 582: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 583: try_block ::= try compound_statement + // Rule 583: explicit_specialization ::= template < > declaration // - case 583: { action. consumeStatementTryBlock(false); break; + case 583: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 586: handler ::= catch ( exception_declaration ) compound_statement + // Rule 584: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 586: { action. consumeStatementCatchHandler(false); break; + case 584: { action. consumeStatementTryBlock(true); break; } // - // Rule 587: handler ::= catch ( ... ) compound_statement + // Rule 585: try_block ::= try compound_statement // - case 587: { action. consumeStatementCatchHandler(true); break; + case 585: { action. consumeStatementTryBlock(false); break; } // - // Rule 588: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 588: handler ::= catch ( exception_declaration ) compound_statement // - case 588: { action. consumeDeclarationSimple(true); break; + case 588: { action. consumeStatementCatchHandler(false); break; } // - // Rule 589: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 589: handler ::= catch ( ... ) compound_statement // - case 589: { action. consumeDeclarationSimple(true); break; + case 589: { action. consumeStatementCatchHandler(true); break; } // - // Rule 590: exception_declaration ::= type_specifier_seq + // Rule 590: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 590: { action. consumeDeclarationSimple(false); break; + case 590: { action. consumeDeclarationSimple(true); break; } // - // Rule 592: exception_specification ::= throw ( ) + // Rule 591: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 592: { action. consumePlaceHolder(); break; + case 591: { action. consumeDeclarationSimple(true); break; } // - // Rule 598: no_cast_start ::= ERROR_TOKEN + // Rule 592: exception_declaration ::= type_specifier_seq // - case 598: { action. consumeEmpty(); break; + case 592: { action. consumeDeclarationSimple(false); break; + } + + // + // Rule 594: exception_specification ::= throw ( ) + // + case 594: { action. consumePlaceHolder(); break; + } + + // + // Rule 600: no_cast_start ::= ERROR_TOKEN + // + case 600: { action. consumeEmpty(); break; } - default: break; |