Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'lrparser/org.eclipse.cdt.core.lrparser')
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g6
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/common.g (renamed from lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/common.g)18
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g172
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java208
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java97
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java316
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java3
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java3
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java3
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java3
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java1490
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java1485
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java1485
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java1485
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java1480
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java1490
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java2
28 files changed, 3609 insertions, 6159 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g
index c909bd88eef..6b9ce0a68a8 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g
@@ -9,13 +9,9 @@
-- IBM Corporation - initial API and implementation
-----------------------------------------------------------------------------------
--- TODO "complete" rules can be removed
-
--- TODO when the architecture has solidified try to move common
--- stuff between C99 and C++ into one file.
$Include
-common.g
+../common.g
$End
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/common.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/common.g
index 5da31bbf3b6..fd36088d531 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/common.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/common.g
@@ -30,25 +30,20 @@ $End
$Define
-- These macros allow the template and header code to be customized by an extending parser.
+
$ast_class /.Object./
- $data_class /. Object ./ -- allow anything to be passed between actions
- $extra_interfaces /. ./
+ $extra_interfaces /. ./ -- can override this macro to provide additional interfaces
$additional_interfaces /. , IParserActionTokenProvider, IParser $extra_interfaces ./
- $build_action_class /. ./
- $resolve_action_class /. ./
- $node_factory_create_expression /. ./
-
- $lexer_class /. ./
- $action_class /. ./
+ $build_action_class /. ./ -- name of the class that has the AST building callbacks
+ $node_factory_create_expression /. ./ -- expression that will create the node factory
- $Build /. $BeginAction action. ./
+ $Build /. $BeginAction action. ./ -- special action just for calling methods on the builder
$EndBuild /. $EndAction ./
$End
-
$Globals
/.
import java.util.*;
@@ -109,8 +104,9 @@ $Headers
return $sym_type.orderedTerminalSymbols;
}
+ @SuppressWarnings("nls")
public String getName() {
- return "$action_type"; //$NON-NLS-1$
+ return "$action_type";
}
./
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g
index 77f26645a69..1ea21c9736c 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g
@@ -9,23 +9,10 @@
-- IBM Corporation - initial API and implementation
----------------------------------------------------------------------------------
-$Notice
--- Copied into all files generated by LPG
-/./*******************************************************************************
- * Copyright (c) 2006, 2008 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
- * http://www.eclipse.org/legal/epl_v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *********************************************************************************/
-
- // This file was generated by LPG
-./
-$End
+$Include
+../common.g
+$End
$Terminals
@@ -118,157 +105,16 @@ $End
$Globals
/.
- import java.util.*;
-
- import org.eclipse.cdt.core.dom.ast.*;
- import org.eclipse.cdt.core.dom.ast.cpp.*;
+ 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.IParser;
- import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
- import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
./
$End
--- TODO move as much code and macros as possible into a common file
$Define
- -- These macros allow the template and header code to be customized by an extending parser.
- $ast_class /.Object./
- $additional_interfaces /. , IParserActionTokenProvider, IParser ./
-
$build_action_class /. CPPBuildASTParserAction ./
- $resolve_action_class /. C99TypedefTrackerParserAction ./
$node_factory_create_expression /. CPPNodeFactory.getDefault() ./
-
- $action_class /. CPPParserAction ./
- $data_class /. Object ./ -- allow anything to be passed between actions
-
- $UndoResolver /.$Undo action.resolver.undo(); $EndUndo./
-
- $Resolve /. $BeginTrial $resolve.
- ./
- $EndResolve /. $EndTrial
- $UndoResolver
- ./ -- undo actions are automatically generated for binding resolution actions
-
- $Builder /. $BeginFinal $builder.
- ./
- $EndBuilder /. $EndFinal ./
-
- $Build /. $Action $Builder ./
- $EndBuild /. $EndBuilder $EndAction ./
-
- $resolve /. action.resolver./
- $builder /. action.builder./
-
- -- comment out when using trial/undo
- $Action /. $BeginAction ./
- $BeginFinal /. ./
- $EndFinal /. ./
-
-$End
-
-
-$Headers
-/.
- private $action_class action;
-
- // uncomment to use with backtracking parser
- public $action_type() { // constructor
- }
-
- private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- // binding resolution actions need access to IASTName nodes, temporary
- action = new $action_class();
- //action.resolver = new $resolve_action_class(this);
- action.builder = new $build_action_class($node_factory_create_expression, this, tu);
- //action.builder.setTokenMap(CPPParsersym.orderedTerminalSymbols);
-
- action.builder.setParserOptions(options);
-
- // comment this line to use with backtracking parser
- //setParserAction(action);
- }
-
-
- public void addToken(IToken token) {
- token.setKind(mapKind(token.getKind()));
- super.addToken(token);
- }
-
-
- public IASTCompletionNode parse(IASTTranslationUnit tu, Set<IParser.Options> options) {
- // this has to be done, or... kaboom!
- setStreamLength(getSize());
- initActions(tu, options);
-
- final int errorRepairCount = -1; // _1 means full error handling
- parser(null, errorRepairCount); // do the actual parse
- super.resetTokenStream(); // allow tokens to be garbage collected
-
- // the completion node may be null
- IASTCompletionNode compNode = action.builder.getASTCompletionNode();
-
- //action = null; // causes getSecondaryParseResult() to fail
-
- // Comment this line to use with backtracking parser
- //parserAction = null;
-
- return compNode;
- }
-
-
- // uncomment this method to use with backtracking parser
- public List getRuleTokens() {
- return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
- }
-
- public IASTNode getSecondaryParseResult() {
- return action.builder.getSecondaryParseResult();
- }
-
- public String[] getOrderedTerminalSymbols() {
- return $sym_type.orderedTerminalSymbols;
- }
-
- public String getName() {
- return "$action_type"; //$NON-NLS-1$
- }
-
-./
-$End
-
--- TODO this has to be moved into a common file
-
-$Globals
-/.
- import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
- import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
-./
-$End
-
-$Headers
-/.
-
- private ITokenMap tokenMap = null;
-
- public void setTokens(List<IToken> tokens) {
- resetTokenStream();
- addToken(new Token(null, 0, 0, 0)); // dummy token
- for(IToken token : tokens) {
- token.setKind(tokenMap.mapKind(token.getKind()));
- addToken(token);
- }
- addToken(new Token(null, 0, 0, $sym_type.TK_EOF_TOKEN));
- }
-
- public $action_type(String[] mapFrom) { // constructor
- tokenMap = new TokenMap($sym_type.orderedTerminalSymbols, mapFrom);
- }
-
-
-./
$End
@@ -281,11 +127,11 @@ $Rules
<openscope-ast>
::= $empty
- /.$Action $Builder openASTScope(); $EndBuilder $EndAction./
+ /. $Build openASTScope(); $EndBuild ./
<empty>
::= $empty
- /.$Action $Builder consumeEmpty(); $EndBuilder $EndAction./
+ /. $Build consumeEmpty(); $EndBuild ./
------------------------------------------------------------------------------------------
-- Content assist
@@ -1596,11 +1442,11 @@ base_specifier
access_specifier_keyword
::= 'private'
- /. $Build consumeAccessKeywordToken(); $EndBuild ./
+ /. $Build consumeToken(); $EndBuild ./
| 'protected'
- /. $Build consumeAccessKeywordToken(); $EndBuild ./
+ /. $Build consumeToken(); $EndBuild ./
| 'public'
- /. $Build consumeAccessKeywordToken(); $EndBuild ./
+ /. $Build consumeToken(); $EndBuild ./
access_specifier_keyword_opt
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java
index 3f2f89b1aec..ea680482b97 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java
@@ -72,7 +72,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLiteralExpression;
import org.eclipse.cdt.core.dom.lrparser.IParser;
import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
import org.eclipse.cdt.core.parser.IProblem;
-import org.eclipse.cdt.core.parser.util.DebugUtil;
import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
import org.eclipse.cdt.internal.core.dom.parser.ASTQueries;
import org.eclipse.cdt.internal.core.dom.parser.ASTTranslationUnit;
@@ -99,12 +98,7 @@ public abstract class BuildASTParserAction {
* @see BuildASTParserAction#consumeEmpty()
*/
protected static final Object PLACE_HOLDER = Boolean.TRUE; // any object will do
-
-
- // turn debug tracing on and off
- // TODO move this into an AspectJ project
- protected static final boolean TRACE_ACTIONS = false;
- protected static final boolean TRACE_AST_STACK = false;
+
/** Stack that holds the intermediate nodes as the AST is being built */
@@ -373,7 +367,6 @@ public abstract class BuildASTParserAction {
* Start of actions.
************************************************************************************************************/
-
/**
* Method that is called by the special <openscope> production
@@ -384,7 +377,6 @@ public abstract class BuildASTParserAction {
}
-
/**
* Place null on the stack.
* Usually called for optional element to indicate the element
@@ -403,21 +395,15 @@ public abstract class BuildASTParserAction {
* cases like an optional keyword this action is useful.
*/
public void consumePlaceHolder() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
astStack.push(PLACE_HOLDER);
}
-
/**
* Gets the current token and places it on the stack for later consumption.
*/
public void consumeDeclSpecToken() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
astStack.push(parser.getRightIToken());
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -425,18 +411,12 @@ public abstract class BuildASTParserAction {
* Gets the current token and places it on the stack for later consumption.
*/
public void consumeToken() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
astStack.push(parser.getRightIToken());
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
public void consumeTranslationUnit() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
// can't close the outermost scope
// the outermost scope may be empty if there are no tokens in the file
for(Object o : astStack.topScope()) {
@@ -452,8 +432,6 @@ public abstract class BuildASTParserAction {
resolveAmbiguityNodes();
tu.freeze();
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -469,7 +447,7 @@ public abstract class BuildASTParserAction {
* ambiguity nodes were created.
*/
private void resolveAmbiguityNodes() {
- tu.accept(EMPTY_VISITOR); // TODO make sure the DOM parser still does it this way
+ tu.accept(EMPTY_VISITOR);
if (tu instanceof ASTTranslationUnit) {
((ASTTranslationUnit)tu).cleanupAfterAmbiguityResolution();
}
@@ -484,16 +462,11 @@ public abstract class BuildASTParserAction {
};
-
/**
* Consumes a single identifier token.
*/
public void consumeIdentifierName() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
astStack.push(createName(parser.getRightIToken()));
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -503,8 +476,6 @@ public abstract class BuildASTParserAction {
* TODO, be careful where exactly in the grammar this is called, it may be called unnecessarily
*/
public void consumeStatementDeclarationWithDisambiguation() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTDeclaration decl = (IASTDeclaration) astStack.pop();
IASTDeclarationStatement declarationStatement = nodeFactory.newDeclarationStatement(decl);
setOffsetAndLength(declarationStatement);
@@ -542,8 +513,6 @@ public abstract class BuildASTParserAction {
}
astStack.push(result);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -555,14 +524,10 @@ public abstract class BuildASTParserAction {
* Wrap a declaration in a DeclarationStatement.
*/
public void consumeStatementDeclaration() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTDeclaration decl = (IASTDeclaration) astStack.pop();
IASTDeclarationStatement declarationStatement = nodeFactory.newDeclarationStatement(decl);
setOffsetAndLength(declarationStatement);
astStack.push(declarationStatement);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -598,8 +563,6 @@ public abstract class BuildASTParserAction {
* @see ICPPASTLiteralExpression
*/
public void consumeExpressionLiteral(int kind) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IToken token = parser.getRightIToken();
String rep = token.toString();
@@ -613,47 +576,32 @@ public abstract class BuildASTParserAction {
IASTLiteralExpression expr = nodeFactory.newLiteralExpression(kind, rep);
setOffsetAndLength(expr, token);
astStack.push(expr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
public void consumeExpressionBracketed() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression operand = (IASTExpression) astStack.pop();
IASTUnaryExpression expr = nodeFactory.newUnaryExpression(IASTUnaryExpression.op_bracketedPrimary, operand);
setOffsetAndLength(expr);
astStack.push(expr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
public void consumeExpressionID() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
- //IASTName name = createName(parser.getRightIToken());
IASTName name = createName(parser.getLeftIToken());
IASTIdExpression expr = nodeFactory.newIdExpression(name);
setOffsetAndLength(expr);
astStack.push(expr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
public void consumeExpressionName() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = (IASTName) astStack.pop();
IASTIdExpression expr = nodeFactory.newIdExpression(name);
setOffsetAndLength(expr);
astStack.push(expr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -661,8 +609,6 @@ public abstract class BuildASTParserAction {
* expression ::= <openscope-ast> expression_list_actual
*/
public void consumeExpressionList() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
List<Object> expressions = astStack.closeScope();
if(expressions.size() == 1) {
astStack.push(expressions.get(0));
@@ -677,8 +623,6 @@ public abstract class BuildASTParserAction {
setOffsetAndLength(exprList);
astStack.push(exprList);
}
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -686,15 +630,11 @@ public abstract class BuildASTParserAction {
* postfix_expression ::= postfix_expression '[' expression ']'
*/
public void consumeExpressionArraySubscript() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression subscript = (IASTExpression) astStack.pop();
IASTExpression arrayExpr = (IASTExpression) astStack.pop();
IASTArraySubscriptExpression expr = nodeFactory.newArraySubscriptExpression(arrayExpr, subscript);
setOffsetAndLength(expr);
astStack.push(expr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -702,16 +642,12 @@ public abstract class BuildASTParserAction {
* postfix_expression ::= postfix_expression '(' expression_list_opt ')'
*/
public void consumeExpressionFunctionCall() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression argList = (IASTExpression) astStack.pop(); // may be null
IASTExpression idExpr = (IASTExpression) astStack.pop();
IASTFunctionCallExpression expr = nodeFactory.newFunctionCallExpression(idExpr, argList);
setOffsetAndLength(expr);
astStack.push(expr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -719,8 +655,6 @@ public abstract class BuildASTParserAction {
* @param operator constant for {@link ICPPASTCastExpression}
*/
public void consumeExpressionCast(int operator) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression operand = (IASTExpression) astStack.pop();
IASTTypeId typeId = (IASTTypeId) astStack.pop();
IASTCastExpression expr = nodeFactory.newCastExpression(operator, typeId, operand);
@@ -740,8 +674,6 @@ public abstract class BuildASTParserAction {
setOffsetAndLength(ambiguityNode);
astStack.push(ambiguityNode);
}
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -753,14 +685,10 @@ public abstract class BuildASTParserAction {
* @param operator From IASTUnaryExpression
*/
public void consumeExpressionUnaryOperator(int operator) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression operand = (IASTExpression) astStack.pop();
IASTUnaryExpression expr = nodeFactory.newUnaryExpression(operator, operand);
setOffsetAndLength(expr);
astStack.push(expr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -770,8 +698,6 @@ public abstract class BuildASTParserAction {
* @see consumeExpressionUnaryOperator For the other use of sizeof
*/
public void consumeExpressionTypeId(int operator) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTTypeId typeId = (IASTTypeId) astStack.pop();
IASTTypeIdExpression expr = nodeFactory.newTypeIdExpression(operator, typeId);
setOffsetAndLength(expr);
@@ -787,8 +713,6 @@ public abstract class BuildASTParserAction {
setOffsetAndLength(ambiguityNode);
astStack.push(ambiguityNode);
}
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -798,15 +722,11 @@ public abstract class BuildASTParserAction {
* @param op Field from IASTBinaryExpression
*/
public void consumeExpressionBinaryOperator(int op) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expr2 = (IASTExpression) astStack.pop();
IASTExpression expr1 = (IASTExpression) astStack.pop();
IASTBinaryExpression binExpr = nodeFactory.newBinaryExpression(op, expr1, expr2);
setOffsetAndLength(binExpr);
astStack.push(binExpr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -814,16 +734,12 @@ public abstract class BuildASTParserAction {
* conditional_expression ::= logical_OR_expression '?' expression ':' conditional_expression
*/
public void consumeExpressionConditional() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expr3 = (IASTExpression) astStack.pop();
IASTExpression expr2 = (IASTExpression) astStack.pop();
IASTExpression expr1 = (IASTExpression) astStack.pop();
IASTConditionalExpression condExpr = nodeFactory.newConditionalExpession(expr1, expr2, expr3);
setOffsetAndLength(condExpr);
astStack.push(condExpr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -832,16 +748,12 @@ public abstract class BuildASTParserAction {
* label_identifier ::= identifier
*/
public void consumeStatementLabeled() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTStatement body = (IASTStatement) astStack.pop();
IASTName label = createName(parser.getLeftIToken());
IASTLabelStatement stat = nodeFactory.newLabelStatement(label, body);
setOffsetAndLength(stat);
astStack.push(stat);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -849,8 +761,6 @@ public abstract class BuildASTParserAction {
* labeled_statement ::= 'case' constant_expression ':' statement
*/
public void consumeStatementCase() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTStatement body = (IASTStatement) astStack.pop();
IASTExpression expr = (IASTExpression) astStack.pop();
@@ -863,8 +773,6 @@ public abstract class BuildASTParserAction {
compound.addStatement(body);
astStack.push(compound);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -872,8 +780,6 @@ public abstract class BuildASTParserAction {
* labeled_statement ::= 'default' ':' <openscope-ast> statement
*/
public void consumeStatementDefault() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTStatement body = (IASTStatement) astStack.pop();
IASTDefaultStatement stat = nodeFactory.newDefaultStatement();
@@ -888,8 +794,6 @@ public abstract class BuildASTParserAction {
compound.addStatement(body);
astStack.push(compound);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -898,13 +802,9 @@ public abstract class BuildASTParserAction {
* expression_statement ::= ';'
*/
public void consumeStatementNull() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTNullStatement stat = nodeFactory.newNullStatement();
setOffsetAndLength(stat);
astStack.push(stat);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -912,14 +812,10 @@ public abstract class BuildASTParserAction {
* expression_statement ::= expression ';'
*/
public void consumeStatementExpression() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expr = (IASTExpression) astStack.pop();
IASTExpressionStatement stat = nodeFactory.newExpressionStatement(expr);
setOffsetAndLength(stat);
astStack.push(stat);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -930,8 +826,6 @@ public abstract class BuildASTParserAction {
* block_item_list ::= block_item | block_item_list block_item
*/
public void consumeStatementCompoundStatement(boolean hasStatementsInBody) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTCompoundStatement block = nodeFactory.newCompoundStatement();
if(hasStatementsInBody) {
@@ -942,8 +836,6 @@ public abstract class BuildASTParserAction {
setOffsetAndLength(block);
astStack.push(block);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -952,15 +844,11 @@ public abstract class BuildASTParserAction {
* ::= 'do' statement 'while' '(' expression ')' ';'
*/
public void consumeStatementDoLoop() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression condition = (IASTExpression) astStack.pop();
IASTStatement body = (IASTStatement) astStack.pop();
IASTDoStatement stat = nodeFactory.newDoStatement(body, condition);
setOffsetAndLength(stat);
astStack.push(stat);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -968,16 +856,11 @@ public abstract class BuildASTParserAction {
/**
* jump_statement ::= goto goto_identifier ';'
*/
- public void consumeStatementGoto(/*IBinding binding*/) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
+ public void consumeStatementGoto() {
IASTName name = createName(parser.getRuleTokens().get(1));
- //name.setBinding(binding);
IASTGotoStatement gotoStat = nodeFactory.newGotoStatement(name);
setOffsetAndLength(gotoStat);
astStack.push(gotoStat);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -985,13 +868,9 @@ public abstract class BuildASTParserAction {
* jump_statement ::= continue ';'
*/
public void consumeStatementContinue() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTContinueStatement stat = nodeFactory.newContinueStatement();
setOffsetAndLength(stat);
astStack.push(stat);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -999,13 +878,9 @@ public abstract class BuildASTParserAction {
* jump_statement ::= break ';'
*/
public void consumeStatementBreak() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTBreakStatement stat = nodeFactory.newBreakStatement();
setOffsetAndLength(stat);
astStack.push(stat);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1014,14 +889,10 @@ public abstract class BuildASTParserAction {
* jump_statement ::= return expression ';'
*/
public void consumeStatementReturn(boolean hasExpr) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expr = hasExpr ? (IASTExpression) astStack.pop() : null;
IASTReturnStatement returnStat = nodeFactory.newReturnStatement(expr);
setOffsetAndLength(returnStat);
astStack.push(returnStat);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1032,8 +903,6 @@ public abstract class BuildASTParserAction {
* | specifier_qualifier_list abstract_declarator
*/
public void consumeTypeId(boolean hasDeclarator) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTDeclarator declarator;
if(hasDeclarator)
declarator = (IASTDeclarator) astStack.pop();
@@ -1046,8 +915,6 @@ public abstract class BuildASTParserAction {
IASTTypeId typeId = nodeFactory.newTypeId(declSpecifier, declarator);
setOffsetAndLength(typeId);
astStack.push(typeId);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1060,8 +927,6 @@ public abstract class BuildASTParserAction {
* | <openscope-ast> ptr_operator_seq direct_declarator
*/
public void consumeDeclaratorWithPointer(boolean hasDeclarator) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTDeclarator decl;
if(hasDeclarator)
decl = (IASTDeclarator) astStack.pop();
@@ -1073,8 +938,6 @@ public abstract class BuildASTParserAction {
setOffsetAndLength(decl);
astStack.push(decl);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1087,8 +950,6 @@ public abstract class BuildASTParserAction {
* a default value without also specifying a named declarator
*/
public void consumeDeclaratorWithInitializer(boolean hasDeclarator) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTInitializer initializer = (IASTInitializer) astStack.pop();
IASTDeclarator declarator;
@@ -1104,8 +965,6 @@ public abstract class BuildASTParserAction {
declarator.setInitializer(initializer);
setOffsetAndLength(declarator); // adjust the length to include the initializer
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1115,15 +974,11 @@ public abstract class BuildASTParserAction {
* | declaration_specifiers abstract_declarator
*/
public void consumeParameterDeclaration() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTDeclarator declarator = (IASTDeclarator) astStack.pop();
IASTDeclSpecifier declSpec = (IASTDeclSpecifier) astStack.pop();
IASTParameterDeclaration declaration = nodeFactory.newParameterDeclaration(declSpec, declarator);
setOffsetAndLength(declaration);
astStack.push(declaration);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1131,8 +986,6 @@ public abstract class BuildASTParserAction {
* parameter_declaration ::= declaration_specifiers
*/
public void consumeParameterDeclarationWithoutDeclarator() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
// offsets need to be calculated differently in this case
final int endOffset = parser.getRightIToken().getEndOffset();
@@ -1148,8 +1001,6 @@ public abstract class BuildASTParserAction {
setOffsetAndLength(declaration);
astStack.push(declaration);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1203,15 +1054,11 @@ public abstract class BuildASTParserAction {
* direct_declarator ::= '(' declarator ')'
*/
public void consumeDirectDeclaratorBracketed() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTDeclarator nested = (IASTDeclarator) astStack.pop();
IASTDeclarator declarator = nodeFactory.newDeclarator(nodeFactory.newName());
declarator.setNestedDeclarator(nested);
setOffsetAndLength(declarator);
astStack.push(declarator);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1219,14 +1066,10 @@ public abstract class BuildASTParserAction {
* direct_declarator ::= declarator_id_name
*/
public void consumeDirectDeclaratorIdentifier() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = (IASTName) astStack.pop();
IASTDeclarator declarator = nodeFactory.newDeclarator(name);
setOffsetAndLength(declarator);
astStack.push(declarator);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1236,14 +1079,10 @@ public abstract class BuildASTParserAction {
* | '[' assignment_expression ']'
*/
public void consumeDirectDeclaratorArrayModifier(boolean hasAssignmentExpr) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expr = hasAssignmentExpr ? (IASTExpression)astStack.pop() : null;
IASTArrayModifier arrayModifier = nodeFactory.newArrayModifier(expr);
setOffsetAndLength(arrayModifier);
astStack.push(arrayModifier);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1255,8 +1094,6 @@ public abstract class BuildASTParserAction {
* Special care is taken for nested declarators.
*/
protected void addArrayModifier(IASTArrayModifier arrayModifier) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTDeclarator node = (IASTDeclarator) astStack.pop();
// Its a nested declarator so create an new ArrayDeclarator
@@ -1292,8 +1129,6 @@ public abstract class BuildASTParserAction {
decl.addArrayModifier(arrayModifier);
astStack.push(decl);
}
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1330,11 +1165,9 @@ public abstract class BuildASTParserAction {
setOffsetAndLength(declarator, offset, endOffset - offset);
astStack.push(declarator);
}
-
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
+ // TODO why is this here
// /**
// * direct_declarator ::= direct_declarator array_modifier
// * consume the direct_declarator part and add the array modifier
@@ -1346,14 +1179,13 @@ public abstract class BuildASTParserAction {
// addArrayModifier(arrayModifier);
// }
+
/**
* direct_abstract_declarator
* ::= array_modifier
* | direct_abstract_declarator array_modifier
*/
public void consumeDirectDeclaratorArrayDeclarator(boolean hasDeclarator) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTArrayModifier arrayModifier = (IASTArrayModifier) astStack.pop();
if(hasDeclarator) {
@@ -1364,8 +1196,6 @@ public abstract class BuildASTParserAction {
decl.addArrayModifier(arrayModifier);
setOffsetAndLength(decl);
astStack.push(decl);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
}
@@ -1377,8 +1207,6 @@ public abstract class BuildASTParserAction {
* | 'enum' enum_identifier '{' <openscope> enumerator_list_opt '}'
*/
public void consumeTypeSpecifierEnumeration(boolean hasIdent) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = (hasIdent) ? createName(parser.getRuleTokens().get(1)) : nodeFactory.newName();
IASTEnumerationSpecifier enumSpec = nodeFactory.newEnumerationSpecifier(name);
@@ -1388,8 +1216,6 @@ public abstract class BuildASTParserAction {
setOffsetAndLength(enumSpec);
astStack.push(enumSpec);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1398,8 +1224,6 @@ public abstract class BuildASTParserAction {
* | enum_identifier '=' constant_expression
*/
public void consumeEnumerator(boolean hasInitializer) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = createName(parser.getLeftIToken());
IASTExpression value = null;
@@ -1409,8 +1233,6 @@ public abstract class BuildASTParserAction {
IASTEnumerator enumerator = nodeFactory.newEnumerator(name, value);
setOffsetAndLength(enumerator);
astStack.push(enumerator);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1428,8 +1250,6 @@ public abstract class BuildASTParserAction {
* initializer ::= assignment_expression
*/
public void consumeInitializer() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expr = (IASTExpression) astStack.pop();
if(discardInitializer(expr)) {
astStack.push(null);
@@ -1439,8 +1259,6 @@ public abstract class BuildASTParserAction {
IASTInitializerExpression initializer = nodeFactory.newInitializerExpression(expr);
setOffsetAndLength(initializer);
astStack.push(initializer);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1457,8 +1275,6 @@ public abstract class BuildASTParserAction {
* | '{' <openscope> initializer_list ',' '}'
*/
public void consumeInitializerList() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTInitializerList list = nodeFactory.newInitializerList();
for(Object o : astStack.closeScope())
@@ -1466,8 +1282,6 @@ public abstract class BuildASTParserAction {
setOffsetAndLength(list);
astStack.push(list);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1480,8 +1294,6 @@ public abstract class BuildASTParserAction {
* | declarator ':' constant_expression
*/
public void consumeBitField(boolean hasDeclarator) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expr = (IASTExpression)astStack.pop();
IASTName name;
@@ -1493,8 +1305,6 @@ public abstract class BuildASTParserAction {
IASTFieldDeclarator fieldDecl = nodeFactory.newFieldDeclarator(name, expr);
setOffsetAndLength(fieldDecl);
astStack.push(fieldDecl);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1503,8 +1313,6 @@ public abstract class BuildASTParserAction {
* statement ::= ERROR_TOKEN
*/
public void consumeStatementProblem() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
consumeProblem(nodeFactory.newProblemStatement(null));
}
@@ -1513,8 +1321,6 @@ public abstract class BuildASTParserAction {
* constant_expression ::= ERROR_TOKEN
*/
public void consumeExpressionProblem() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
consumeProblem(nodeFactory.newProblemExpression(null));
}
@@ -1522,8 +1328,6 @@ public abstract class BuildASTParserAction {
* external_declaration ::= ERROR_TOKEN
*/
public void consumeDeclarationProblem() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
consumeProblem(nodeFactory.newProblemDeclaration(null));
}
@@ -1534,8 +1338,6 @@ public abstract class BuildASTParserAction {
setOffsetAndLength(problem);
setOffsetAndLength((ASTNode)problemHolder);
astStack.push(problemHolder);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
} \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java
index b561416adbe..dee5c5d0b0f 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java
@@ -63,7 +63,6 @@ import org.eclipse.cdt.core.dom.lrparser.action.BuildASTParserAction;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.core.parser.util.CollectionUtils;
-import org.eclipse.cdt.core.parser.util.DebugUtil;
import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99ExpressionParser;
import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99NoCastExpressionParser;
import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym;
@@ -143,16 +142,12 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* postfix_expression ::= postfix_expression '->' ident
*/
public void consumeExpressionFieldReference(boolean isPointerDereference) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = createName(parser.getRightIToken());
IASTExpression owner = (IASTExpression) astStack.pop();
IASTFieldReference expr = nodeFactory.newFieldReference(name, owner);
expr.setIsPointerDereference(isPointerDereference);
setOffsetAndLength(expr);
astStack.push(expr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -161,18 +156,15 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* postfix_expression ::= '(' type_name ')' '{' <openscope> initializer_list ',' '}'
*/
public void consumeExpressionTypeIdInitializer() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
consumeInitializerList(); // closes the scope
IASTInitializerList list = (IASTInitializerList) astStack.pop();
IASTTypeId typeId = (IASTTypeId) astStack.pop();
ICASTTypeIdInitializerExpression expr = nodeFactory.newTypeIdInitializerExpression(typeId, list);
setOffsetAndLength(expr);
astStack.push(expr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
+ // TODO why is this here?
// /**
// * Lots of rules, no need to list them.
// * @param operator From IASTUnaryExpression
@@ -276,8 +268,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
*/
public void consumeDirectDeclaratorModifiedArrayModifier(boolean isStatic,
boolean isVarSized, boolean hasTypeQualifierList, boolean hasAssignmentExpr) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
assert isStatic || isVarSized || hasTypeQualifierList;
ICASTArrayModifier arrayModifier = nodeFactory.newModifiedArrayModifier(null);
@@ -294,8 +284,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(arrayModifier);
astStack.push(arrayModifier);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -304,8 +292,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* direct_declarator ::= direct_declarator '(' <openscope> identifier_list ')'
*/
public void consumeDirectDeclaratorFunctionDeclaratorKnR() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
ICASTKnRFunctionDeclarator declarator = nodeFactory.newKnRFunctionDeclarator(null, null);
IASTName[] names = astStack.topScope().toArray(new IASTName[0]);
declarator.setParameterNames(names);
@@ -321,8 +307,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* | identifier_list ',' 'identifier'
*/
public void consumeIdentifierKnR() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = createName(parser.getRightIToken());
astStack.push(name);
}
@@ -335,14 +319,10 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* | pointer '*'
*/
public void consumePointer() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTPointer pointer = nodeFactory.newPointer();
IToken star = parser.getRightIToken();
setOffsetAndLength(pointer, star);
astStack.push(pointer);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -351,8 +331,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* | pointer '*' <openscope> type_qualifier_list
*/
public void consumePointerTypeQualifierList() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
ICASTPointer pointer = nodeFactory.newPointer();
for(Object o : astStack.closeScope()) {
@@ -367,8 +345,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(pointer);
astStack.push(pointer);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -381,8 +357,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* | direct_abstract_declarator '(' <openscope> parameter_type_list ')'
*/
public void consumeDirectDeclaratorFunctionDeclarator(boolean hasDeclarator, boolean hasParameters) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = nodeFactory.newName();
IASTStandardFunctionDeclarator declarator = nodeFactory.newFunctionDeclarator(name);
@@ -401,8 +375,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(declarator);
astStack.push(declarator);
}
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -411,8 +383,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* designated_initializer ::= <openscope> designation initializer
*/
public void consumeInitializerDesignated() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTInitializer initializer = (IASTInitializer)astStack.pop();
ICASTDesignatedInitializer result = nodeFactory.newDesignatedInitializer(initializer);
@@ -421,8 +391,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(result);
astStack.push(result);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -430,14 +398,10 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* designator ::= '[' constant_expression ']'
*/
public void consumeDesignatorArray() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expr = (IASTExpression) astStack.pop();
ICASTArrayDesignator designator = nodeFactory.newArrayDesignator(expr);
setOffsetAndLength(designator);
astStack.push(designator);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -445,14 +409,10 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* designator ::= '.' 'identifier'
*/
public void consumeDesignatorField() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = createName(parser.getRightIToken());
ICASTFieldDesignator designator = nodeFactory.newFieldDesignator(name);
setOffsetAndLength(designator);
astStack.push(designator);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -460,8 +420,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* declaration_specifiers ::= <openscope> simple_declaration_specifiers
*/
public void consumeDeclarationSpecifiersSimple() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
ICASTSimpleDeclSpecifier declSpec = nodeFactory.newSimpleDeclSpecifier();
for(Object specifier : astStack.closeScope())
@@ -469,8 +427,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(declSpec);
astStack.push(declSpec);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -479,8 +435,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* declaration_specifiers ::= <openscope> enum_declaration_specifiers
*/
public void consumeDeclarationSpecifiersStructUnionEnum() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
List<Object> topScope = astStack.closeScope();
ICASTDeclSpecifier declSpec = CollectionUtils.findFirstAndRemove(topScope, ICASTDeclSpecifier.class);
@@ -490,8 +444,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(declSpec);
astStack.push(declSpec);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -499,8 +451,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* declaration_specifiers ::= <openscope> typdef_name_declaration_specifiers
*/
public void consumeDeclarationSpecifiersTypedefName() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
ICASTTypedefNameSpecifier declSpec = nodeFactory.newTypedefNameSpecifier(null);
for(Object o : astStack.topScope()) {
@@ -522,8 +472,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
astStack.closeScope();
setOffsetAndLength(declSpec);
astStack.push(declSpec);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -533,8 +481,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* declaration ::= declaration_specifiers ';'
*/
public void consumeDeclarationSimple(boolean hasDeclaratorList) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
List<Object> declarators = (hasDeclaratorList) ? astStack.closeScope() : Collections.emptyList();
IASTDeclSpecifier declSpecifier = (IASTDeclSpecifier) astStack.pop();
@@ -549,8 +495,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(declaration);
astStack.push(declaration);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -561,10 +505,7 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* TODO: doesn't the declaration need a name?
*/
public void consumeDeclarationEmpty() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
// Don't generate declaration nodes for extra EOC tokens
- // TODO: the token type must be converted
if(baseKind(parser.getLeftIToken()) == C99Parsersym.TK_EndOfCompletion)
return;
@@ -573,8 +514,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(declSpecifier);
setOffsetAndLength(declaration);
astStack.push(declaration);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -588,8 +527,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* a struct declarator is a regular declarator plus bit fields
*/
public void consumeStructDeclaration(boolean hasDeclaration) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
consumeDeclarationSimple(hasDeclaration); // TODO this is ok as long as bit fields implement IASTDeclarator (see consumeDeclaration())
}
@@ -604,8 +541,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* @param key either k_struct or k_union from IASTCompositeTypeSpecifier
*/
public void consumeTypeSpecifierComposite(boolean hasName, int key) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = (hasName) ? createName(parser.getRuleTokens().get(1)) : nodeFactory.newName();
ICASTCompositeTypeSpecifier typeSpec = nodeFactory.newCompositeTypeSpecifier(key, name);
@@ -615,8 +550,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(typeSpec);
astStack.push(typeSpec);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -628,14 +561,10 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* enum_specifier ::= 'enum' enum_identifier
*/
public void consumeTypeSpecifierElaborated(int kind) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = createName(parser.getRuleTokens().get(1));
IASTElaboratedTypeSpecifier typeSpec = nodeFactory.newElaboratedTypeSpecifier(kind, name);
setOffsetAndLength(typeSpec);
astStack.push(typeSpec);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -645,15 +574,11 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* iteration_statement ::= 'while' '(' expression ')' statement
*/
public void consumeStatementWhileLoop() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTStatement body = (IASTStatement) astStack.pop();
IASTExpression condition = (IASTExpression) astStack.pop();
IASTWhileStatement whileStatement = nodeFactory.newWhileStatement(condition, body);
setOffsetAndLength(whileStatement);
astStack.push(whileStatement);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -663,8 +588,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* ::= 'for' '(' expression_opt ';' expression_opt ';' expression_opt ')' statement
*/
public void consumeStatementForLoop() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTStatement body = (IASTStatement) astStack.pop();
// these two expressions may be null, see consumeExpressionOptional()
IASTExpression expr3 = (IASTExpression) astStack.pop();
@@ -699,8 +622,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
IASTForStatement forStat = nodeFactory.newForStatement(initializer, expr2, expr3, body);
setOffsetAndLength(forStat);
astStack.push(forStat);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -709,21 +630,15 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* selection_statement ::= switch '(' expression ')' statement
*/
public void consumeStatementSwitch() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTStatement body = (IASTStatement) astStack.pop();
IASTExpression expr = (IASTExpression) astStack.pop();
IASTSwitchStatement stat = nodeFactory.newSwitchStatement(expr, body);
setOffsetAndLength(stat);
astStack.push(stat);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
public void consumeStatementIf(boolean hasElse) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTStatement elseClause = null;
if(hasElse)
elseClause = (IASTStatement) astStack.pop();
@@ -734,8 +649,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
IASTIfStatement ifStatement = nodeFactory.newIfStatement(condition, thenClause, elseClause);
setOffsetAndLength(ifStatement);
astStack.push(ifStatement);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -748,8 +661,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* prevent a shift/reduce conflict in the grammar.
*/
public void consumeFunctionDefinition(boolean hasDeclSpecifiers) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace(String.valueOf(hasDeclSpecifiers));
-
IASTCompoundStatement body = (IASTCompoundStatement) astStack.pop();
IASTFunctionDeclarator decl = (IASTFunctionDeclarator) astStack.pop();
astStack.closeScope();
@@ -765,8 +676,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
IASTFunctionDefinition def = nodeFactory.newFunctionDefinition(declSpecifier, decl, body);
setOffsetAndLength(def);
astStack.push(def);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -777,8 +686,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* <openscope> declaration_list compound_statement
*/
public void consumeFunctionDefinitionKnR() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTCompoundStatement body = (IASTCompoundStatement) astStack.pop();
IASTDeclaration[] declarations = astStack.topScope().toArray(new IASTDeclaration[0]);
@@ -798,8 +705,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
IASTFunctionDefinition def = nodeFactory.newFunctionDefinition(declSpecifier, decl, body);
setOffsetAndLength(def);
astStack.push(def);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java
index d61ce29b5a4..6441b2987e7 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java
@@ -96,7 +96,6 @@ import org.eclipse.cdt.core.dom.lrparser.LPGTokenAdapter;
import org.eclipse.cdt.core.dom.lrparser.action.BuildASTParserAction;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
-import org.eclipse.cdt.core.parser.util.DebugUtil;
import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPExpressionParser;
import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPNoCastExpressionParser;
import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPNoFunctionDeclaratorParser;
@@ -185,16 +184,12 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
public void consumeNewInitializer() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
if(astStack.peek() == null) { // if there is an empty set of parens
astStack.pop();
IASTExpression initializer = nodeFactory.newExpressionList();
setOffsetAndLength(initializer);
astStack.push(initializer);
}
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -206,8 +201,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* | dcolon_opt 'new' new_placement_opt '(' type_id ')' <openscope-ast> new_array_expressions_op new_initializer_opt
*/
public void consumeExpressionNew(boolean isNewTypeId) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression initializer = (IASTExpression) astStack.pop(); // may be null
List<Object> arrayExpressions = astStack.closeScope();
IASTTypeId typeId = (IASTTypeId) astStack.pop();
@@ -251,9 +244,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
else {
astStack.push(newExpression);
}
-
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -262,8 +252,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= <openscope-ast> new_pointer_operators
*/
public void consumeNewDeclarator() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = nodeFactory.newName();
IASTDeclarator declarator = nodeFactory.newDeclarator(name);
@@ -272,8 +260,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(declarator);
astStack.push(declarator);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -283,14 +269,10 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* | 'throw' assignment_expression
*/
public void consumeExpressionThrow(boolean hasExpr) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression operand = hasExpr ? (IASTExpression) astStack.pop() : null;
IASTUnaryExpression expr = nodeFactory.newUnaryExpression(ICPPASTUnaryExpression.op_throw, operand);
setOffsetAndLength(expr);
astStack.push(expr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -301,8 +283,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* @param isVectorized
*/
public void consumeExpressionDelete(boolean isVectorized) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression operand = (IASTExpression) astStack.pop();
boolean hasDoubleColon = astStack.pop() != null;
@@ -312,8 +292,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(deleteExpr);
astStack.push(deleteExpr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -321,8 +299,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
*
*/
public void consumeExpressionFieldReference(boolean isPointerDereference, boolean hasTemplateKeyword) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = (IASTName) astStack.pop();
IASTExpression owner = (IASTExpression) astStack.pop();
ICPPASTFieldReference expr = nodeFactory.newFieldReference(name, owner);
@@ -331,8 +307,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(expr);
astStack.push(expr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
/**
@@ -340,8 +314,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= simple_type_specifier '(' expression_list_opt ')'
*/
public void consumeExpressionSimpleTypeConstructor() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expression = (IASTExpression) astStack.pop();
IToken token = (IToken) astStack.pop();
@@ -350,8 +322,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(typeConstructor);
astStack.push(typeConstructor);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -385,8 +355,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
*/
@SuppressWarnings("unchecked")
public void consumeExpressionTypeName() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expr = (IASTExpression) astStack.pop();
IASTName name = (IASTName) astStack.pop();
boolean isTemplate = astStack.pop() == PLACE_HOLDER;
@@ -403,8 +371,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(typenameExpr);
astStack.push(typenameExpr);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -413,8 +379,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= type_specifier_seq declarator '=' assignment_expression
*/
public void consumeConditionDeclaration() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expr = (IASTExpression) astStack.pop();
IASTDeclarator declarator = (IASTDeclarator) astStack.pop();
IASTDeclSpecifier declSpec = (IASTDeclSpecifier) astStack.pop();
@@ -428,8 +392,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(declaration);
astStack.push(declaration);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -441,8 +403,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= operator_id '<' <openscope-ast> template_argument_list_opt '>'
*/
public void consumeTemplateId() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
List<Object> templateArguments = astStack.closeScope();
IASTName name = (IASTName) astStack.pop();
@@ -459,8 +419,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(templateId);
astStack.push(templateId);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -468,8 +426,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* Disambiguates template arguments.
*/
public void consumeTemplateArgumentTypeId() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
// TODO is this necessary? It should be able to tell if it looks like an id expression
IParser secondaryParser = getExpressionParser();
IASTNode result = runSecondaryParser(secondaryParser);
@@ -486,8 +442,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
//setOffsetAndLength(ambiguityNode);
astStack.push(ambiguityNode);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -497,8 +451,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* typeId and create an ambiguity node.
*/
public void consumeTemplateArgumentExpression() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expr = (IASTExpression) astStack.peek();
if(expr instanceof IASTIdExpression) {
@@ -518,8 +470,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
astStack.pop();
astStack.push(ambiguityNode);
}
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -528,21 +478,16 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= 'operator' overloadable_operator
*/
public void consumeOperatorName() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
List<IToken> tokens = parser.getRuleTokens();
tokens = tokens.subList(1, tokens.size());
OverloadableOperator operator = getOverloadableOperator(tokens);
ICPPASTOperatorName name = nodeFactory.newOperatorName(operator.toCharArray());
setOffsetAndLength(name);
- astStack.push(name);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
+ astStack.push(name);
}
-
private OverloadableOperator getOverloadableOperator(List<IToken> tokens) {
if(tokens.size() == 1) {
// TODO this is a hack that I did to save time
@@ -571,8 +516,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= 'operator' conversion_type_id
*/
public void consumeConversionName() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
// Representation is computed by the conversion name itself, see bug 258054
// String rep = createStringRepresentation(parser.getRuleTokens());
// char[] chars = rep.toCharArray();
@@ -581,8 +524,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
ICPPASTConversionName name = nodeFactory.newConversionName(typeId);
setOffsetAndLength(name);
astStack.push(name);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -593,15 +534,11 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= '~' identifier_token
*/
public void consumeDestructorName() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
char[] chars = ("~" + parser.getRightIToken()).toCharArray(); //$NON-NLS-1$
IASTName name = nodeFactory.newName(chars);
setOffsetAndLength(name);
astStack.push(name);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -610,8 +547,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= '~' template_id_name
*/
public void consumeDestructorNameTemplateId() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
ICPPASTTemplateId templateId = (ICPPASTTemplateId) astStack.peek();
IASTName oldName = templateId.getTemplateName();
@@ -624,8 +559,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(newName, offset, length);
templateId.setTemplateName(newName);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -638,8 +571,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
*/
public void consumeGlobalQualifiedId() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = (IASTName) astStack.pop();
ICPPASTQualifiedName qualifiedName = nodeFactory.newQualifiedName();
@@ -647,8 +578,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
qualifiedName.setFullyQualified(true);
setOffsetAndLength(qualifiedName);
astStack.push(qualifiedName);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -656,8 +585,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* selection_statement ::= switch '(' condition ')' statement
*/
public void consumeStatementSwitch() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTStatement body = (IASTStatement) astStack.pop();
Object condition = astStack.pop();
@@ -670,14 +597,10 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(stat);
astStack.push(stat);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
public void consumeStatementIf(boolean hasElse) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTStatement elseClause = hasElse ? (IASTStatement)astStack.pop() : null;
IASTStatement thenClause = (IASTStatement) astStack.pop();
@@ -691,8 +614,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(ifStatement);
astStack.push(ifStatement);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -700,8 +621,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* iteration_statement ::= 'while' '(' condition ')' statement
*/
public void consumeStatementWhileLoop() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTStatement body = (IASTStatement) astStack.pop();
Object condition = astStack.pop();
@@ -714,16 +633,12 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(whileStatement);
astStack.push(whileStatement);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
/**
*/
public void consumeStatementForLoop() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTStatement body = (IASTStatement) astStack.pop();
IASTExpression expr = (IASTExpression) astStack.pop();
Object condition = astStack.pop(); // can be an expression or a declaration
@@ -750,8 +665,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(forStat);
astStack.push(forStat);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -760,8 +673,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= 'try' compound_statement <openscope-ast> handler_seq
*/
public void consumeStatementTryBlock() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
List<Object> handlerSeq = astStack.closeScope();
IASTStatement body = (IASTStatement) astStack.pop();
@@ -772,8 +683,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(tryStatement);
astStack.push(tryStatement);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -783,8 +692,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* | 'catch' '(' '...' ')' compound_statement
*/
public void consumeStatementCatchHandler(boolean hasEllipsis) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTStatement body = (IASTStatement) astStack.pop();
IASTDeclaration decl = hasEllipsis ? null : (IASTDeclaration) astStack.pop();
@@ -793,8 +700,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(catchHandler);
astStack.push(catchHandler);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -814,8 +719,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
*/
@SuppressWarnings("unchecked")
public void consumeNestedNameSpecifier(final boolean hasNested) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
LinkedList<IASTName> names;
if(hasNested)
names = (LinkedList<IASTName>) astStack.pop();
@@ -826,18 +729,12 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
names.add(name);
astStack.push(names);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
public void consumeNestedNameSpecifierEmpty() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
// can't use Collections.EMPTY_LIST because we need a list thats mutable
astStack.push(new LinkedList<IASTName>());
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -849,32 +746,20 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* This just throws away the template keyword.
*/
public void consumeNameWithTemplateKeyword() {
- if(TRACE_ACTIONS)
- DebugUtil.printMethodTrace();
-
IASTName name = (IASTName) astStack.pop();
-
astStack.pop(); // pop the template keyword
-
astStack.push(name);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
-
/**
* qualified_id
* ::= dcolon_opt nested_name_specifier any_name
*/
public void consumeQualifiedId(boolean hasTemplateKeyword) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName qualifiedName = subRuleQualifiedName(hasTemplateKeyword);
astStack.push(qualifiedName);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -987,8 +872,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
*/
@SuppressWarnings("unchecked")
public void consumePsudoDestructorName(boolean hasExtraTypeName) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName destructorTypeName = (IASTName) astStack.pop();
IASTName extraName = hasExtraTypeName ? (IASTName) astStack.pop() : null;
LinkedList<IASTName> nestedNames = (LinkedList<IASTName>) astStack.pop();
@@ -1005,8 +888,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(qualifiedName);
astStack.push(qualifiedName);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1015,15 +896,11 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= 'asm' '(' 'stringlit' ')' ';'
*/
public void consumeDeclarationASM() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
String s = parser.getRuleTokens().get(2).toString();
IASTASMDeclaration asm = nodeFactory.newASMDeclaration(s);
setOffsetAndLength(asm);
astStack.push(asm);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
/**
@@ -1031,8 +908,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= 'namespace' 'identifier' '=' dcolon_opt nested_name_specifier_opt namespace_name ';'
*/
public void consumeNamespaceAliasDefinition() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName qualifiedName = subRuleQualifiedName(false);
IASTName alias = createName(parser.getRuleTokens().get(1));
@@ -1040,8 +915,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(namespaceAlias);
astStack.push(namespaceAlias);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1050,8 +923,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= 'using' typename_opt dcolon_opt nested_name_specifier_opt unqualified_id ';'
*/
public void consumeUsingDeclaration() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName qualifiedName = subRuleQualifiedName(false);
boolean hasTypenameKeyword = astStack.pop() == PLACE_HOLDER;
@@ -1060,8 +931,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(usingDeclaration);
astStack.push(usingDeclaration);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1070,15 +939,11 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= 'using' 'namespace' dcolon_opt nested_name_specifier_opt namespace_name ';'
*/
public void consumeUsingDirective() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName qualifiedName = subRuleQualifiedName(false);
ICPPASTUsingDirective usingDirective = nodeFactory.newUsingDirective(qualifiedName);
setOffsetAndLength(usingDirective);
astStack.push(usingDirective);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1088,8 +953,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* | 'extern' 'stringlit' <openscope-ast> declaration
*/
public void consumeLinkageSpecification() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
String name = parser.getRuleTokens().get(1).toString();
ICPPASTLinkageSpecification linkageSpec = nodeFactory.newLinkageSpecification(name);
@@ -1098,8 +961,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(linkageSpec);
astStack.push(linkageSpec);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1115,8 +976,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= 'namespace' '{' <openscope-ast> declaration_seq_opt '}'
*/
public void consumeNamespaceDefinition(boolean hasName) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
List<Object> declarations = astStack.closeScope();
IASTName namespaceName = hasName ? (IASTName)astStack.pop() : nodeFactory.newName();
@@ -1127,8 +986,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(definition);
astStack.push(definition);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1137,8 +994,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= export_opt 'template' '<' <openscope-ast> template_parameter_list '>' declaration
*/
public void consumeTemplateDeclaration() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTDeclaration declaration = (IASTDeclaration) astStack.pop();
// For some reason ambiguous declarators cause bugs when they are a part of a template declaration.
@@ -1155,8 +1010,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(templateDeclaration);
astStack.push(templateDeclaration);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1182,15 +1035,11 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= 'template' declaration
*/
public void consumeTemplateExplicitInstantiation() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTDeclaration declaration = (IASTDeclaration) astStack.pop();
ICPPASTExplicitTemplateInstantiation instantiation = nodeFactory.newExplicitTemplateInstantiation(declaration);
setOffsetAndLength(instantiation);
astStack.push(instantiation);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1199,15 +1048,11 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= 'template' '<' '>' declaration
*/
public void consumeTemplateExplicitSpecialization() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTDeclaration declaration = (IASTDeclaration) astStack.pop();
ICPPASTTemplateSpecialization specialization = nodeFactory.newTemplateSpecialization(declaration);
setOffsetAndLength(specialization);
astStack.push(specialization);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1257,8 +1102,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
public void consumeDeclarationSpecifiersSimple() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
ICPPASTDeclSpecifier declSpec = nodeFactory.newSimpleDeclSpecifier();
for(Object token : astStack.closeScope())
@@ -1266,8 +1109,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(declSpec);
astStack.push(declSpec);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1275,8 +1116,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* TODO: maybe move this into the superclass
*/
public void consumeDeclarationSpecifiersComposite() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
List<Object> topScope = astStack.closeScope();
// There's already a composite or elaborated or enum type specifier somewhere on the stack, find it.
@@ -1288,8 +1127,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(declSpec);
astStack.push(declSpec);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1299,8 +1136,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
// * declaration_specifiers ::= <openscope> type_name_declaration_specifiers
// */
public void consumeDeclarationSpecifiersTypeName() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
List<Object> topScope = astStack.closeScope();
// There's a name somewhere on the stack, find it
IASTName typeName = findFirstAndRemove(topScope, IASTName.class);
@@ -1323,8 +1158,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(declSpec);
astStack.push(declSpec);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1335,8 +1168,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* | 'enum' dcolon_opt nested_name_specifier_opt identifier_name
*/
public void consumeTypeSpecifierElaborated(boolean hasOptionalTemplateKeyword) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = subRuleQualifiedName(hasOptionalTemplateKeyword);
int kind = getElaboratedTypeSpecifier(parser.getLeftIToken());
@@ -1344,8 +1175,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(typeSpecifier);
astStack.push(typeSpecifier);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1367,8 +1196,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ';'
*/
public void consumeDeclarationSimple(boolean hasDeclaratorList) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
List<Object> declarators = hasDeclaratorList ? astStack.closeScope() : Collections.emptyList();
ICPPASTDeclSpecifier declSpec = (ICPPASTDeclSpecifier) astStack.pop(); // may be null
@@ -1440,20 +1267,10 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
// }
astStack.push(declaration);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
- /**
- * org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleDeclaration (58,9)
- org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNamedTypeSpecifier (58,1)
- org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName (58,1) A
- org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTDeclarator (60,6)
- org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTDeclarator (61,4)
- org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName (61,4)
- * @return
- */
+
private boolean disambiguateToConstructor(IASTDeclSpecifier declSpec, IASTDeclarator declarator) {
if(!(declSpec instanceof IASTNamedTypeSpecifier))
return false;
@@ -1512,13 +1329,9 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
return false;
}
-
-
-
+
public void consumeInitDeclaratorComplete() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
// Don't do disambiguation when parsing for content assist,
// trust me this makes things work out a lot better.
if(completionNode != null)
@@ -1540,8 +1353,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(ambiguityNode);
astStack.push(ambiguityNode);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1551,15 +1362,11 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= access_specifier_keyword ':'
*/
public void consumeVisibilityLabel() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IToken specifier = (IToken)astStack.pop();
int visibility = getAccessSpecifier(specifier);
ICPPASTVisibilityLabel visibilityLabel = nodeFactory.newVisibilityLabel(visibility);
setOffsetAndLength(visibilityLabel);
astStack.push(visibilityLabel);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1582,8 +1389,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* | access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
*/
public void consumeBaseSpecifier(boolean hasAccessSpecifier, boolean isVirtual) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = subRuleQualifiedName(false);
int visibility = 0; // this is the default value that the DOM parser uses
@@ -1596,30 +1401,14 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
ICPPASTBaseSpecifier baseSpecifier = nodeFactory.newBaseSpecifier(name, visibility, isVirtual);
setOffsetAndLength(baseSpecifier);
astStack.push(baseSpecifier);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
/**
- * Gets the current token and places it on the stack for later consumption.
- */
- public void consumeAccessKeywordToken() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
- astStack.push(parser.getRightIToken());
-
- if(TRACE_AST_STACK) System.out.println(astStack);
- }
-
-
- /**
* class_specifier
* ::= class_head '{' <openscope-ast> member_declaration_list_opt '}'
*/
public void consumeClassSpecifier() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
List<Object> declarations = astStack.closeScope();
// the class specifier is created by the rule for class_head
@@ -1631,10 +1420,9 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(classSpecifier);
classNames.removeLast(); // pop the stack of class names
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
+
/**
* class_head
* ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
@@ -1644,8 +1432,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
*/
@SuppressWarnings("unchecked")
public void consumeClassHead(boolean hasNestedNameSpecifier) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
int key = getCompositeTypeSpecifier(parser.getLeftIToken());
List<Object> baseSpecifiers = astStack.closeScope();
// may be null, but if it is then hasNestedNameSpecifier == false
@@ -1670,8 +1456,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
// the offset and length are set in consumeClassSpecifier()
astStack.push(classSpecifier);
classNames.add(className); // push
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1691,15 +1475,11 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= '*' <openscope-ast> cv_qualifier_seq_opt
*/
public void consumePointer() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTPointer pointer = nodeFactory.newPointer();
List<Object> tokens = astStack.closeScope();
addCVQualifiersToPointer(pointer, tokens);
setOffsetAndLength(pointer);
astStack.push(pointer);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1720,13 +1500,9 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= '&'
*/
public void consumeReferenceOperator() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
ICPPASTReferenceOperator referenceOperator = nodeFactory.newReferenceOperator();
setOffsetAndLength(referenceOperator);
astStack.push(referenceOperator);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1736,8 +1512,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
*/
@SuppressWarnings("unchecked")
public void consumePointerToMember() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
List<Object> qualifiers = astStack.closeScope();
LinkedList<IASTName> nestedNames = (LinkedList<IASTName>) astStack.pop();
IToken dColon = (IToken) astStack.pop();
@@ -1759,8 +1533,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
addCVQualifiersToPointer(pointer, qualifiers);
setOffsetAndLength(pointer);
astStack.push(pointer);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1770,14 +1542,10 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= '(' expression_list ')'
*/
public void consumeInitializerConstructor() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expression = (IASTExpression) astStack.pop();
ICPPASTConstructorInitializer initializer = nodeFactory.newConstructorInitializer(expression);
setOffsetAndLength(initializer);
astStack.push(initializer);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1787,8 +1555,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
*/
public void consumeDirectDeclaratorFunctionDeclarator(boolean hasDeclarator) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = nodeFactory.newName();
ICPPASTFunctionDeclarator declarator = nodeFactory.newFunctionDeclarator(name);
@@ -1833,15 +1599,11 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* Consume an empty bracketed abstract declarator.
*/
public void consumeAbstractDeclaratorEmpty() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName name = nodeFactory.newName();
setOffsetAndLength(name, offset(parser.getLeftIToken())+1, 0);
IASTDeclarator declarator = nodeFactory.newDeclarator(name);
setOffsetAndLength(declarator);
astStack.push(declarator);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1850,15 +1612,11 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= mem_initializer_id '(' expression_list_opt ')'
*/
public void consumeConstructorChainInitializer() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression expr = (IASTExpression) astStack.pop();
IASTName name = (IASTName) astStack.pop();
ICPPASTConstructorChainInitializer initializer = nodeFactory.newConstructorChainInitializer(name, expr);
setOffsetAndLength(initializer);
astStack.push(initializer);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1873,8 +1631,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
*
*/
public void consumeFunctionDefinition(boolean isTryBlockDeclarator) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
List<Object> handlers = isTryBlockDeclarator ? astStack.closeScope() : Collections.emptyList();
IASTCompoundStatement body = (IASTCompoundStatement) astStack.pop();
List<Object> initializers = astStack.closeScope();
@@ -1908,8 +1664,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(definition);
astStack.push(definition);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1918,8 +1672,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ';'
*/
public void consumeMemberDeclarationQualifiedId() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTName qualifiedId = subRuleQualifiedName(true);
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=92793
@@ -1927,19 +1679,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(declaration);
astStack.push(declaration);
-
-
-// IASTDeclarator declarator = nodeFactory.newDeclarator(qualifiedId);
-// setOffsetAndLength(declarator);
-// IASTDeclSpecifier emptySpecifier = nodeFactory.newSimpleDeclSpecifier();
-// setOffsetAndLength(emptySpecifier, parser.getLeftIToken().getStartOffset(), 0);
-// IASTSimpleDeclaration declaration = nodeFactory.newSimpleDeclaration(emptySpecifier);
-// setOffsetAndLength(declaration);
-// declaration.addDeclarator(declarator);
-//
-// astStack.push(declaration);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1949,8 +1688,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
*/
public void consumeMemberDeclaratorWithInitializer() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTInitializerExpression initializer = (IASTInitializerExpression) astStack.pop();
IASTDeclarator declarator = (IASTDeclarator) astStack.peek();
setOffsetAndLength(declarator);
@@ -1964,8 +1701,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
}
declarator.setInitializer(initializer);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -1977,8 +1712,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* | 'typename' identifier_name_opt '=' type_id
*/
public void consumeSimpleTypeTemplateParameter(boolean hasTypeId) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTTypeId typeId = hasTypeId ? (IASTTypeId)astStack.pop() : null;
IASTName name = (IASTName)astStack.pop();
@@ -1991,10 +1724,9 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(templateParameter);
astStack.push(templateParameter);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
+
private int getTemplateParameterType(IToken token) {
int kind = baseKind(token);
switch(kind) {
@@ -2020,8 +1752,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* Yes its a hack.
*/
public void consumeTemplateParamterDeclaration() {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IParser typeParameterParser = getTemplateTypeParameterParser();
IASTNode alternate = runSecondaryParser(typeParameterParser);
@@ -2030,8 +1760,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
astStack.pop(); // throw away the incorrect AST
astStack.push(alternate); // replace it with the correct AST
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -2043,8 +1771,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* @param hasIdExpr
*/
public void consumeTemplatedTypeTemplateParameter(boolean hasIdExpr) {
- if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
-
IASTExpression idExpression = hasIdExpr ? (IASTExpression)astStack.pop() : null;
IASTName name = (IASTName) astStack.pop();
@@ -2055,8 +1781,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
setOffsetAndLength(templateParameter);
astStack.push(templateParameter);
-
- if(TRACE_AST_STACK) System.out.println(astStack);
}
@@ -2071,32 +1795,4 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
return new CPPASTAmbiguousStatement(statements);
}
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+} \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java
index 06e9548e715..b97b380ca49 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java
@@ -212,8 +212,9 @@ public String[] getOrderedTerminalSymbols() {
return C99ExpressionParsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "C99ExpressionParser"; //$NON-NLS-1$
+ return "C99ExpressionParser";
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java
index c083ab16472..54e0886cc2b 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java
@@ -212,8 +212,9 @@ public String[] getOrderedTerminalSymbols() {
return C99NoCastExpressionParsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "C99NoCastExpressionParser"; //$NON-NLS-1$
+ return "C99NoCastExpressionParser";
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java
index 6fb0b737099..480c234eef0 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java
@@ -212,8 +212,9 @@ public String[] getOrderedTerminalSymbols() {
return C99Parsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "C99Parser"; //$NON-NLS-1$
+ return "C99Parser";
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java
index 4e5a6b49743..0bacf4c04e2 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java
@@ -212,8 +212,9 @@ public String[] getOrderedTerminalSymbols() {
return C99SizeofExpressionParsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "C99SizeofExpressionParser"; //$NON-NLS-1$
+ return "C99SizeofExpressionParser";
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java
index 4ba71ee4b7c..712e8a39022 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
@@ -16,11 +16,7 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
import lpg.lpgjavaruntime.*;
import java.util.*;
-
import org.eclipse.cdt.core.dom.ast.*;
-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.IParser;
import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
@@ -28,7 +24,11 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
-public class CPPExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+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;
+
+public class CPPExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
private static ParseTable prs = new CPPExpressionParserprs();
private FixedBacktrackingParser btParser;
@@ -165,28 +165,19 @@ public class CPPExpressionParser extends PrsStream implements RuleAction , IPars
}
-private CPPParserAction action;
+private CPPBuildASTParserAction action;
-// uncomment to use with backtracking parser
public CPPExpressionParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- // binding resolution actions need access to IASTName nodes, temporary
- action = new CPPParserAction ();
- //action.resolver = new C99TypedefTrackerParserAction (this);
- action.builder = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu);
- //action.builder.setTokenMap(CPPParsersym.orderedTerminalSymbols);
-
- action.builder.setParserOptions(options);
-
- // comment this line to use with backtracking parser
- //setParserAction(action);
+ action = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu);
+ action.setParserOptions(options);
}
public void addToken(IToken token) {
- token.setKind(mapKind(token.getKind()));
+ token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called?
super.addToken(token);
}
@@ -196,37 +187,35 @@ public IASTCompletionNode parse(IASTTranslationUnit tu, Set<IParser.Options> opt
setStreamLength(getSize());
initActions(tu, options);
- final int errorRepairCount = -1; // _1 means full error handling
+ final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
super.resetTokenStream(); // allow tokens to be garbage collected
// the completion node may be null
- IASTCompletionNode compNode = action.builder.getASTCompletionNode();
+ IASTCompletionNode compNode = action.getASTCompletionNode();
- //action = null; // causes getSecondaryParseResult() to fail
-
- // Comment this line to use with backtracking parser
+ //action = null;
//parserAction = null;
-
return compNode;
}
-
// uncomment this method to use with backtracking parser
public List getRuleTokens() {
return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
}
+
public IASTNode getSecondaryParseResult() {
- return action.builder.getSecondaryParseResult();
+ return action.getSecondaryParseResult();
}
public String[] getOrderedTerminalSymbols() {
return CPPExpressionParsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "CPPExpressionParser"; //$NON-NLS-1$
+ return "CPPExpressionParser";
}
@@ -257,2024 +246,1735 @@ public CPPExpressionParser(String[] mapFrom) { // constructor
//
// Rule 1: <openscope-ast> ::= $Empty
//
- case 1: { action.builder.
- openASTScope(); break;
- }
+ case 1: { action. openASTScope(); break;
+ }
//
// Rule 2: <empty> ::= $Empty
//
- case 2: { action.builder.
- consumeEmpty(); break;
- }
-
+ case 2: { action. consumeEmpty(); break;
+ }
+
//
// Rule 13: translation_unit ::= declaration_seq_opt
//
- case 13: { action.builder.
- consumeTranslationUnit(); break;
+ case 13: { action. consumeTranslationUnit(); break;
}
-
+
//
// Rule 16: literal ::= integer
//
- case 16: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 16: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
}
-
+
//
// Rule 17: literal ::= 0
//
- case 17: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
}
-
+
//
// Rule 18: literal ::= floating
//
- case 18: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
}
-
+
//
// Rule 19: literal ::= charconst
//
- case 19: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
}
-
+
//
// Rule 20: literal ::= stringlit
//
- case 20: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
}
-
+
//
// Rule 21: literal ::= true
//
- case 21: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
}
-
+
//
// Rule 22: literal ::= false
//
- case 22: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
}
-
+
//
// Rule 23: literal ::= this
//
- case 23: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ case 23: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
}
-
+
//
// Rule 25: primary_expression ::= ( expression )
//
- case 25: { action.builder.
- consumeExpressionBracketed(); break;
+ case 25: { action. consumeExpressionBracketed(); break;
}
-
+
//
// Rule 27: id_expression ::= qualified_or_unqualified_name
//
- case 27: { action.builder.
- consumeExpressionName(); break;
+ case 27: { action. consumeExpressionName(); break;
}
-
+
//
// Rule 34: unqualified_id_name ::= ~ identifier_token
//
- case 34: { action.builder.
- consumeDestructorName(); break;
+ case 34: { action. consumeDestructorName(); break;
}
-
+
//
// Rule 35: unqualified_id_name ::= ~ template_id_name
//
- case 35: { action.builder.
- consumeDestructorNameTemplateId(); break;
+ case 35: { action. consumeDestructorNameTemplateId(); break;
}
-
+
//
// Rule 36: identifier_name ::= identifier_token
//
- case 36: { action.builder.
- consumeIdentifierName(); break;
+ case 36: { action. consumeIdentifierName(); break;
}
-
+
//
// Rule 37: template_opt ::= template
//
- case 37: { action.builder.
- consumePlaceHolder(); break;
+ case 37: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 38: template_opt ::= $Empty
//
- case 38: { action.builder.
- consumeEmpty(); break;
+ case 38: { action. consumeEmpty(); break;
}
-
+
//
// Rule 39: dcolon_opt ::= ::
//
- case 39: { action.builder.
- consumeToken(); break;
+ case 39: { action. consumeToken(); break;
}
-
+
//
// Rule 40: dcolon_opt ::= $Empty
//
- case 40: { action.builder.
- consumeEmpty(); break;
+ case 40: { action. consumeEmpty(); break;
}
-
+
//
// Rule 41: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
- case 41: { action.builder.
- consumeQualifiedId(true); break;
+ case 41: { action. consumeQualifiedId(true); break;
}
-
+
//
// Rule 42: qualified_id_name ::= :: unqualified_id_name
//
- case 42: { action.builder.
- consumeGlobalQualifiedId(); break;
+ case 42: { action. consumeGlobalQualifiedId(); break;
}
-
+
//
// Rule 43: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
- case 43: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ case 43: { action. consumeNestedNameSpecifier(true); break;
}
-
+
//
// Rule 44: nested_name_specifier ::= class_or_namespace_name ::
//
- case 44: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ case 44: { action. consumeNestedNameSpecifier(false); break;
}
-
+
//
// Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
- case 45: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ case 45: { action. consumeNestedNameSpecifier(true); break;
}
-
+
//
// Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
- case 46: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ case 46: { action. consumeNestedNameSpecifier(false); break;
}
-
+
//
// Rule 47: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 47: { action.builder.
- consumeNameWithTemplateKeyword(); break;
+ case 47: { action. consumeNameWithTemplateKeyword(); break;
}
-
+
//
// Rule 49: nested_name_specifier_opt ::= $Empty
//
- case 49: { action.builder.
- consumeNestedNameSpecifierEmpty(); break;
+ case 49: { action. consumeNestedNameSpecifierEmpty(); break;
}
-
+
//
// Rule 52: postfix_expression ::= postfix_expression [ expression ]
//
- case 52: { action.builder.
- consumeExpressionArraySubscript(); break;
+ case 52: { action. consumeExpressionArraySubscript(); break;
}
-
+
//
// Rule 53: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 53: { action.builder.
- consumeExpressionFunctionCall(); break;
+ case 53: { action. consumeExpressionFunctionCall(); break;
}
-
+
//
// Rule 54: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
- case 54: { action.builder.
- consumeExpressionSimpleTypeConstructor(); break;
+ case 54: { action. consumeExpressionSimpleTypeConstructor(); break;
}
-
+
//
// Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
- case 55: { action.builder.
- consumeExpressionTypeName(); break;
+ case 55: { action. consumeExpressionTypeName(); break;
}
-
+
//
// Rule 56: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
- case 56: { action.builder.
- consumeExpressionTypeName(); break;
+ case 56: { action. consumeExpressionTypeName(); break;
}
-
+
//
// Rule 57: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
- case 57: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ case 57: { action. consumeExpressionFieldReference(false, false); break;
}
-
+
//
// Rule 58: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
- case 58: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ case 58: { action. consumeExpressionFieldReference(true, false); break;
}
-
+
//
// Rule 59: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
- case 59: { action.builder.
- consumeExpressionFieldReference(false, true); break;
+ case 59: { action. consumeExpressionFieldReference(false, true); break;
}
-
+
//
// Rule 60: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
- case 60: { action.builder.
- consumeExpressionFieldReference(true, true); break;
+ case 60: { action. consumeExpressionFieldReference(true, true); break;
}
-
+
//
// Rule 61: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
- case 61: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ case 61: { action. consumeExpressionFieldReference(false, false); break;
}
-
+
//
// Rule 62: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
- case 62: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ case 62: { action. consumeExpressionFieldReference(true, false); break;
}
-
+
//
// Rule 63: postfix_expression ::= postfix_expression ++
//
- case 63: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
-
+
//
// Rule 64: postfix_expression ::= postfix_expression --
//
- case 64: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 64: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
-
+
//
// Rule 65: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
- case 65: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
-
+
//
// Rule 66: postfix_expression ::= static_cast < type_id > ( expression )
//
- case 66: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
-
+
//
// Rule 67: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
- case 67: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
-
+
//
// Rule 68: postfix_expression ::= const_cast < type_id > ( expression )
//
- case 68: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ case 68: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
-
+
//
// Rule 69: postfix_expression ::= typeid ( expression )
//
- case 69: { action.builder.
- consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ case 69: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
-
+
//
// Rule 70: postfix_expression ::= typeid ( type_id )
//
- case 70: { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ case 70: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
-
+
//
// Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
- case 71: { action.builder.
- consumePsudoDestructorName(true); break;
+ case 71: { action. consumePsudoDestructorName(true); break;
}
-
+
//
// Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
- case 72: { action.builder.
- consumePsudoDestructorName(true); break;
+ case 72: { action. consumePsudoDestructorName(true); break;
}
-
+
//
// Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
- case 73: { action.builder.
- consumePsudoDestructorName(false); break;
+ case 73: { action. consumePsudoDestructorName(false); break;
}
-
+
//
// Rule 74: destructor_type_name ::= ~ identifier_token
//
- case 74: { action.builder.
- consumeDestructorName(); break;
+ case 74: { action. consumeDestructorName(); break;
}
-
+
//
// Rule 75: destructor_type_name ::= ~ template_id_name
//
- case 75: { action.builder.
- consumeDestructorNameTemplateId(); break;
+ case 75: { action. consumeDestructorNameTemplateId(); break;
}
-
+
//
// Rule 79: unary_expression ::= ++ cast_expression
//
- case 79: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
-
+
//
// Rule 80: unary_expression ::= -- cast_expression
//
- case 80: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
-
+
//
// Rule 81: unary_expression ::= & cast_expression
//
- case 81: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
-
+
//
// Rule 82: unary_expression ::= * cast_expression
//
- case 82: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
-
+
//
// Rule 83: unary_expression ::= + cast_expression
//
- case 83: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
-
+
//
// Rule 84: unary_expression ::= - cast_expression
//
- case 84: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
-
+
//
// Rule 85: unary_expression ::= ~ cast_expression
//
- case 85: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
-
+
//
// Rule 86: unary_expression ::= ! cast_expression
//
- case 86: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
-
+
//
// Rule 87: unary_expression ::= sizeof unary_expression
//
- case 87: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 87: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
-
+
//
// Rule 88: unary_expression ::= sizeof ( type_id )
//
- case 88: { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
+ case 88: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
-
+
//
// Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 89: { action.builder.
- consumeExpressionNew(true); break;
+ case 89: { action. consumeExpressionNew(true); break;
}
-
+
//
// Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 90: { action.builder.
- consumeExpressionNew(false); break;
+ case 90: { action. consumeExpressionNew(false); break;
}
-
+
//
// Rule 92: new_placement_opt ::= $Empty
//
- case 92: { action.builder.
- consumeEmpty(); break;
+ case 92: { action. consumeEmpty(); break;
}
-
+
//
// Rule 93: new_type_id ::= type_specifier_seq
//
- case 93: { action.builder.
- consumeTypeId(false); break;
+ case 93: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 94: new_type_id ::= type_specifier_seq new_declarator
//
- case 94: { action.builder.
- consumeTypeId(true); break;
+ case 94: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 95: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 95: { action.builder.
- consumeNewDeclarator(); break;
+ case 95: { action. consumeNewDeclarator(); break;
}
-
+
//
// Rule 102: new_initializer ::= ( expression_list_opt )
//
- case 102: { action.builder.
- consumeNewInitializer(); break;
+ case 102: { action. consumeNewInitializer(); break;
}
-
+
//
// Rule 104: new_initializer_opt ::= $Empty
//
- case 104: { action.builder.
- consumeEmpty(); break;
+ case 104: { action. consumeEmpty(); break;
}
-
+
//
// Rule 105: delete_expression ::= dcolon_opt delete cast_expression
//
- case 105: { action.builder.
- consumeExpressionDelete(false); break;
+ case 105: { action. consumeExpressionDelete(false); break;
}
-
+
//
// Rule 106: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 106: { action.builder.
- consumeExpressionDelete(true); break;
+ case 106: { action. consumeExpressionDelete(true); break;
}
-
+
//
// Rule 108: cast_expression ::= ( type_id ) cast_expression
//
- case 108: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
+ case 108: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
}
-
+
//
// Rule 110: pm_expression ::= pm_expression .* cast_expression
//
- case 110: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
-
+
//
// Rule 111: pm_expression ::= pm_expression ->* cast_expression
//
- case 111: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
-
+
//
// Rule 113: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 113: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
-
+
//
// Rule 114: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 114: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
-
+
//
// Rule 115: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 115: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
-
+
//
// Rule 117: additive_expression ::= additive_expression + multiplicative_expression
//
- case 117: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
-
+
//
// Rule 118: additive_expression ::= additive_expression - multiplicative_expression
//
- case 118: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
-
+
//
// Rule 120: shift_expression ::= shift_expression << additive_expression
//
- case 120: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
-
+
//
// Rule 121: shift_expression ::= shift_expression >> additive_expression
//
- case 121: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
-
+
//
// Rule 123: relational_expression ::= relational_expression < shift_expression
//
- case 123: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
-
+
//
// Rule 124: relational_expression ::= relational_expression > shift_expression
//
- case 124: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
-
+
//
// Rule 125: relational_expression ::= relational_expression <= shift_expression
//
- case 125: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
-
+
//
// Rule 126: relational_expression ::= relational_expression >= shift_expression
//
- case 126: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
-
+
//
// Rule 128: equality_expression ::= equality_expression == relational_expression
//
- case 128: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
-
+
//
// Rule 129: equality_expression ::= equality_expression != relational_expression
//
- case 129: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ case 129: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
-
+
//
// Rule 131: and_expression ::= and_expression & equality_expression
//
- case 131: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ case 131: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
-
+
//
// Rule 133: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 133: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ case 133: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
-
+
//
// Rule 135: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 135: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ case 135: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
-
+
//
// Rule 137: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 137: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ case 137: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
-
+
//
// Rule 139: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 139: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ case 139: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
-
+
//
// Rule 141: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 141: { action.builder.
- consumeExpressionConditional(); break;
+ case 141: { action. consumeExpressionConditional(); break;
}
-
+
//
// Rule 142: throw_expression ::= throw
//
- case 142: { action.builder.
- consumeExpressionThrow(false); break;
+ case 142: { action. consumeExpressionThrow(false); break;
}
-
+
//
// Rule 143: throw_expression ::= throw assignment_expression
//
- case 143: { action.builder.
- consumeExpressionThrow(true); break;
+ case 143: { action. consumeExpressionThrow(true); break;
}
-
+
//
// Rule 146: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 146: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
-
+
//
// Rule 147: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 147: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
-
+
//
// Rule 148: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 148: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
-
+
//
// Rule 149: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 149: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
-
+
//
// Rule 150: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 150: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
-
+
//
// Rule 151: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 151: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
-
+
//
// Rule 152: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 152: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
-
+
//
// Rule 153: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 153: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
-
+
//
// Rule 154: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 154: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
-
+
//
// Rule 155: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 155: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
-
+
//
// Rule 156: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 156: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ case 156: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
-
+
//
// Rule 158: expression_list ::= <openscope-ast> expression_list_actual
//
- case 158: { action.builder.
- consumeExpressionList(); break;
+ case 158: { action. consumeExpressionList(); break;
}
-
+
//
// Rule 162: expression_list_opt ::= $Empty
//
- case 162: { action.builder.
- consumeEmpty(); break;
+ case 162: { action. consumeEmpty(); break;
}
-
+
//
// Rule 164: expression_opt ::= $Empty
//
- case 164: { action.builder.
- consumeEmpty(); break;
+ case 164: { action. consumeEmpty(); break;
}
-
+
//
// Rule 167: constant_expression_opt ::= $Empty
//
- case 167: { action.builder.
- consumeEmpty(); break;
+ case 167: { action. consumeEmpty(); break;
}
-
+
//
// Rule 176: statement ::= ERROR_TOKEN
//
- case 176: { action.builder.
- consumeStatementProblem(); break;
+ case 176: { action. consumeStatementProblem(); break;
}
-
+
//
// Rule 177: labeled_statement ::= identifier : statement
//
- case 177: { action.builder.
- consumeStatementLabeled(); break;
+ case 177: { action. consumeStatementLabeled(); break;
}
-
+
//
// Rule 178: labeled_statement ::= case constant_expression : statement
//
- case 178: { action.builder.
- consumeStatementCase(); break;
+ case 178: { action. consumeStatementCase(); break;
}
-
+
//
// Rule 179: labeled_statement ::= default : statement
//
- case 179: { action.builder.
- consumeStatementDefault(); break;
+ case 179: { action. consumeStatementDefault(); break;
}
-
+
//
// Rule 180: expression_statement ::= expression ;
//
- case 180: { action.builder.
- consumeStatementExpression(); break;
+ case 180: { action. consumeStatementExpression(); break;
}
-
+
//
// Rule 181: expression_statement ::= ;
//
- case 181: { action.builder.
- consumeStatementNull(); break;
+ case 181: { action. consumeStatementNull(); break;
}
-
+
//
// Rule 182: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 182: { action.builder.
- consumeStatementCompoundStatement(true); break;
+ case 182: { action. consumeStatementCompoundStatement(true); break;
}
-
+
//
// Rule 183: compound_statement ::= { }
//
- case 183: { action.builder.
- consumeStatementCompoundStatement(false); break;
+ case 183: { action. consumeStatementCompoundStatement(false); break;
}
-
+
//
// Rule 186: selection_statement ::= if ( condition ) statement
//
- case 186: { action.builder.
- consumeStatementIf(false); break;
+ case 186: { action. consumeStatementIf(false); break;
}
-
+
//
// Rule 187: selection_statement ::= if ( condition ) statement else statement
//
- case 187: { action.builder.
- consumeStatementIf(true); break;
+ case 187: { action. consumeStatementIf(true); break;
}
-
+
//
// Rule 188: selection_statement ::= switch ( condition ) statement
//
- case 188: { action.builder.
- consumeStatementSwitch(); break;
+ case 188: { action. consumeStatementSwitch(); break;
}
-
+
//
// Rule 190: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 190: { action.builder.
- consumeConditionDeclaration(); break;
+ case 190: { action. consumeConditionDeclaration(); break;
}
-
+
//
// Rule 192: condition_opt ::= $Empty
//
- case 192: { action.builder.
- consumeEmpty(); break;
+ case 192: { action. consumeEmpty(); break;
}
-
+
//
// Rule 193: iteration_statement ::= while ( condition ) statement
//
- case 193: { action.builder.
- consumeStatementWhileLoop(); break;
+ case 193: { action. consumeStatementWhileLoop(); break;
}
-
+
//
// Rule 194: iteration_statement ::= do statement while ( expression ) ;
//
- case 194: { action.builder.
- consumeStatementDoLoop(); break;
+ case 194: { action. consumeStatementDoLoop(); break;
}
-
+
//
// Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 195: { action.builder.
- consumeStatementForLoop(); break;
+ case 195: { action. consumeStatementForLoop(); break;
}
-
+
//
// Rule 197: for_init_statement ::= simple_declaration_with_declspec
//
- case 197: { action.builder.
- consumeStatementDeclaration(); break;
+ case 197: { action. consumeStatementDeclaration(); break;
}
-
+
//
// Rule 198: jump_statement ::= break ;
//
- case 198: { action.builder.
- consumeStatementBreak(); break;
+ case 198: { action. consumeStatementBreak(); break;
}
-
+
//
// Rule 199: jump_statement ::= continue ;
//
- case 199: { action.builder.
- consumeStatementContinue(); break;
+ case 199: { action. consumeStatementContinue(); break;
}
-
+
//
// Rule 200: jump_statement ::= return expression ;
//
- case 200: { action.builder.
- consumeStatementReturn(true); break;
+ case 200: { action. consumeStatementReturn(true); break;
}
-
+
//
// Rule 201: jump_statement ::= return ;
//
- case 201: { action.builder.
- consumeStatementReturn(false); break;
+ case 201: { action. consumeStatementReturn(false); break;
}
-
+
//
// Rule 202: jump_statement ::= goto identifier_token ;
//
- case 202: { action.builder.
- consumeStatementGoto(); break;
+ case 202: { action. consumeStatementGoto(); break;
}
-
+
//
// Rule 203: declaration_statement ::= block_declaration
//
- case 203: { action.builder.
- consumeStatementDeclarationWithDisambiguation(); break;
+ case 203: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
-
+
//
// Rule 204: declaration_statement ::= function_definition
//
- case 204: { action.builder.
- consumeStatementDeclaration(); break;
+ case 204: { action. consumeStatementDeclaration(); break;
}
-
+
//
// Rule 212: declaration ::= ERROR_TOKEN
//
- case 212: { action.builder.
- consumeDeclarationProblem(); break;
+ case 212: { action. consumeDeclarationProblem(); break;
}
-
+
//
// Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 222: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 222: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
- case 223: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 223: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 224: { action.builder.
- consumeDeclarationSpecifiersSimple(); break;
+ case 224: { action. consumeDeclarationSpecifiersSimple(); break;
}
-
+
//
// Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 225: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
- case 226: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 226: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 227: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 227: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 228: { action.builder.
- consumeDeclarationSpecifiersTypeName(); break;
+ case 228: { action. consumeDeclarationSpecifiersTypeName(); break;
}
-
+
//
// Rule 230: declaration_specifiers_opt ::= $Empty
//
- case 230: { action.builder.
- consumeEmpty(); break;
+ case 230: { action. consumeEmpty(); break;
}
-
+
//
// Rule 234: no_type_declaration_specifier ::= friend
//
- case 234: { action.builder.
- consumeDeclSpecToken(); break;
+ case 234: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 235: no_type_declaration_specifier ::= typedef
//
- case 235: { action.builder.
- consumeDeclSpecToken(); break;
+ case 235: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 255: storage_class_specifier ::= auto
//
- case 255: { action.builder.
- consumeDeclSpecToken(); break;
+ case 255: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 256: storage_class_specifier ::= register
//
- case 256: { action.builder.
- consumeDeclSpecToken(); break;
+ case 256: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 257: storage_class_specifier ::= static
//
- case 257: { action.builder.
- consumeDeclSpecToken(); break;
+ case 257: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 258: storage_class_specifier ::= extern
//
- case 258: { action.builder.
- consumeDeclSpecToken(); break;
+ case 258: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 259: storage_class_specifier ::= mutable
//
- case 259: { action.builder.
- consumeDeclSpecToken(); break;
+ case 259: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 260: function_specifier ::= inline
//
- case 260: { action.builder.
- consumeDeclSpecToken(); break;
+ case 260: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 261: function_specifier ::= virtual
//
- case 261: { action.builder.
- consumeDeclSpecToken(); break;
+ case 261: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 262: function_specifier ::= explicit
//
- case 262: { action.builder.
- consumeDeclSpecToken(); break;
+ case 262: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 263: simple_type_specifier ::= char
//
- case 263: { action.builder.
- consumeDeclSpecToken(); break;
+ case 263: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 264: simple_type_specifier ::= wchar_t
//
- case 264: { action.builder.
- consumeDeclSpecToken(); break;
+ case 264: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 265: simple_type_specifier ::= bool
//
- case 265: { action.builder.
- consumeDeclSpecToken(); break;
+ case 265: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 266: simple_type_specifier ::= short
//
- case 266: { action.builder.
- consumeDeclSpecToken(); break;
+ case 266: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 267: simple_type_specifier ::= int
//
- case 267: { action.builder.
- consumeDeclSpecToken(); break;
+ case 267: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 268: simple_type_specifier ::= long
//
- case 268: { action.builder.
- consumeDeclSpecToken(); break;
+ case 268: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 269: simple_type_specifier ::= signed
//
- case 269: { action.builder.
- consumeDeclSpecToken(); break;
+ case 269: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 270: simple_type_specifier ::= unsigned
//
- case 270: { action.builder.
- consumeDeclSpecToken(); break;
+ case 270: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 271: simple_type_specifier ::= float
//
- case 271: { action.builder.
- consumeDeclSpecToken(); break;
+ case 271: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 272: simple_type_specifier ::= double
//
- case 272: { action.builder.
- consumeDeclSpecToken(); break;
+ case 272: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 273: simple_type_specifier ::= void
//
- case 273: { action.builder.
- consumeDeclSpecToken(); break;
+ case 273: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 276: { action.builder.
- consumeQualifiedId(false); break;
+ case 276: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
- case 277: { action.builder.
- consumeQualifiedId(false); break;
+ case 277: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
- case 278: { action.builder.
- consumeQualifiedId(false); break;
+ case 278: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 279: { action.builder.
- consumeQualifiedId(true); break;
+ case 279: { action. consumeQualifiedId(true); break;
}
-
+
//
// Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
//
- case 281: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ case 281: { action. consumeTypeSpecifierElaborated(false); break;
}
-
+
//
// Rule 282: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 282: { action.builder.
- consumeTypeSpecifierElaborated(true); break;
+ case 282: { action. consumeTypeSpecifierElaborated(true); break;
}
-
+
//
// Rule 283: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
//
- case 283: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ case 283: { action. consumeTypeSpecifierElaborated(false); break;
}
-
+
//
// Rule 284: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
//
- case 284: { action.builder.
- consumeTypeSpecifierEnumeration(false); break;
+ case 284: { action. consumeTypeSpecifierEnumeration(false); break;
}
-
+
//
// Rule 285: enum_specifier ::= enum identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 285: { action.builder.
- consumeTypeSpecifierEnumeration(true); break;
+ case 285: { action. consumeTypeSpecifierEnumeration(true); break;
}
-
+
//
// Rule 290: enumerator_definition ::= identifier_token
//
- case 290: { action.builder.
- consumeEnumerator(false); break;
+ case 290: { action. consumeEnumerator(false); break;
}
-
+
//
// Rule 291: enumerator_definition ::= identifier_token = constant_expression
//
- case 291: { action.builder.
- consumeEnumerator(true); break;
+ case 291: { action. consumeEnumerator(true); break;
}
-
+
//
// Rule 295: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 295: { action.builder.
- consumeNamespaceDefinition(true); break;
+ case 295: { action. consumeNamespaceDefinition(true); break;
}
-
+
//
// Rule 296: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 296: { action.builder.
- consumeNamespaceDefinition(false); break;
+ case 296: { action. consumeNamespaceDefinition(false); break;
}
-
+
//
// Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 297: { action.builder.
- consumeNamespaceAliasDefinition(); break;
+ case 297: { action. consumeNamespaceAliasDefinition(); break;
}
-
+
//
// Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 298: { action.builder.
- consumeUsingDeclaration(); break;
+ case 298: { action. consumeUsingDeclaration(); break;
}
-
+
//
// Rule 299: typename_opt ::= typename
//
- case 299: { action.builder.
- consumePlaceHolder(); break;
+ case 299: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 300: typename_opt ::= $Empty
//
- case 300: { action.builder.
- consumeEmpty(); break;
+ case 300: { action. consumeEmpty(); break;
}
-
+
//
// Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 301: { action.builder.
- consumeUsingDirective(); break;
+ case 301: { action. consumeUsingDirective(); break;
}
-
+
//
// Rule 302: asm_definition ::= asm ( stringlit ) ;
//
- case 302: { action.builder.
- consumeDeclarationASM(); break;
+ case 302: { action. consumeDeclarationASM(); break;
}
-
+
//
// Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 303: { action.builder.
- consumeLinkageSpecification(); break;
+ case 303: { action. consumeLinkageSpecification(); break;
}
-
+
//
// Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
- case 304: { action.builder.
- consumeLinkageSpecification(); break;
+ case 304: { action. consumeLinkageSpecification(); break;
}
-
+
//
// Rule 309: init_declarator_complete ::= init_declarator
//
- case 309: { action.builder.
- consumeInitDeclaratorComplete(); break;
+ case 309: { action. consumeInitDeclaratorComplete(); break;
}
-
+
//
// Rule 311: init_declarator ::= declarator initializer
//
- case 311: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 311: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 313: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 313: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 313: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 315: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 315: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 315: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 319: basic_direct_declarator ::= declarator_id_name
//
- case 319: { action.builder.
- consumeDirectDeclaratorIdentifier(); break;
+ case 319: { action. consumeDirectDeclaratorIdentifier(); break;
}
-
+
//
// Rule 320: basic_direct_declarator ::= ( declarator )
//
- case 320: { action.builder.
- consumeDirectDeclaratorBracketed(); break;
+ case 320: { action. consumeDirectDeclaratorBracketed(); break;
}
-
+
//
// Rule 321: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 321: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 321: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
-
+
//
// Rule 322: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 322: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 323: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 323: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 324: array_modifier ::= [ constant_expression ]
//
- case 324: { action.builder.
- consumeDirectDeclaratorArrayModifier(true); break;
+ case 324: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
-
+
//
// Rule 325: array_modifier ::= [ ]
//
- case 325: { action.builder.
- consumeDirectDeclaratorArrayModifier(false); break;
+ case 325: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
-
+
//
// Rule 326: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
//
- case 326: { action.builder.
- consumePointer(); break;
+ case 326: { action. consumePointer(); break;
}
-
+
//
// Rule 327: ptr_operator ::= &
//
- case 327: { action.builder.
- consumeReferenceOperator(); break;
+ case 327: { action. consumeReferenceOperator(); break;
}
-
+
//
// Rule 328: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
//
- case 328: { action.builder.
- consumePointerToMember(); break;
+ case 328: { action. consumePointerToMember(); break;
}
-
+
//
// Rule 334: cv_qualifier ::= const
//
- case 334: { action.builder.
- consumeDeclSpecToken(); break;
+ case 334: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 335: cv_qualifier ::= volatile
//
- case 335: { action.builder.
- consumeDeclSpecToken(); break;
+ case 335: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 337: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 337: { action.builder.
- consumeQualifiedId(false); break;
+ case 337: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 338: type_id ::= type_specifier_seq
//
- case 338: { action.builder.
- consumeTypeId(false); break;
+ case 338: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 339: type_id ::= type_specifier_seq abstract_declarator
//
- case 339: { action.builder.
- consumeTypeId(true); break;
+ case 339: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 342: { action.builder.
- consumeDeclaratorWithPointer(false); break;
+ case 342: { action. consumeDeclaratorWithPointer(false); break;
}
-
+
//
// Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 343: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 343: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 347: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 347: { action.builder.
- consumeDirectDeclaratorBracketed(); break;
+ case 347: { action. consumeDirectDeclaratorBracketed(); break;
}
-
+
//
// Rule 348: basic_direct_abstract_declarator ::= ( )
//
- case 348: { action.builder.
- consumeAbstractDeclaratorEmpty(); break;
+ case 348: { action. consumeAbstractDeclaratorEmpty(); break;
}
-
+
//
// Rule 349: array_direct_abstract_declarator ::= array_modifier
//
- case 349: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 349: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
-
+
//
// Rule 350: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 350: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 350: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 351: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 351: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 352: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 352: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 352: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
-
+
//
// Rule 353: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 353: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 353: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
-
+
//
// Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 354: { action.builder.
- consumePlaceHolder(); break;
+ case 354: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 355: { action.builder.
- consumeEmpty(); break;
+ case 355: { action. consumeEmpty(); break;
}
-
+
//
// Rule 356: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 356: { action.builder.
- consumePlaceHolder(); break;
+ case 356: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 362: abstract_declarator_opt ::= $Empty
//
- case 362: { action.builder.
- consumeEmpty(); break;
+ case 362: { action. consumeEmpty(); break;
}
-
+
//
// Rule 363: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 363: { action.builder.
- consumeParameterDeclaration(); break;
+ case 363: { action. consumeParameterDeclaration(); break;
}
-
+
//
// Rule 364: parameter_declaration ::= declaration_specifiers
//
- case 364: { action.builder.
- consumeParameterDeclarationWithoutDeclarator(); break;
+ case 364: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
-
+
//
// Rule 366: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 366: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 366: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 368: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 368: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 368: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 369: parameter_init_declarator ::= = parameter_initializer
//
- case 369: { action.builder.
- consumeDeclaratorWithInitializer(false); break;
+ case 369: { action. consumeDeclaratorWithInitializer(false); break;
}
-
+
//
// Rule 370: parameter_initializer ::= assignment_expression
//
- case 370: { action.builder.
- consumeInitializer(); break;
+ case 370: { action. consumeInitializer(); break;
}
-
+
//
// Rule 371: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 371: { action.builder.
- consumeFunctionDefinition(false); break;
+ case 371: { action. consumeFunctionDefinition(false); break;
}
-
+
//
// Rule 372: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 372: { action.builder.
- consumeFunctionDefinition(true); break;
+ case 372: { action. consumeFunctionDefinition(true); break;
}
-
+
//
// Rule 375: initializer ::= ( expression_list )
//
- case 375: { action.builder.
- consumeInitializerConstructor(); break;
+ case 375: { action. consumeInitializerConstructor(); break;
}
-
+
//
// Rule 376: initializer_clause ::= assignment_expression
//
- case 376: { action.builder.
- consumeInitializer(); break;
+ case 376: { action. consumeInitializer(); break;
}
-
+
//
// Rule 377: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 377: { action.builder.
- consumeInitializerList(); break;
+ case 377: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 378: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
- case 378: { action.builder.
- consumeInitializerList(); break;
+ case 378: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 379: initializer_clause ::= { <openscope-ast> }
//
- case 379: { action.builder.
- consumeInitializerList(); break;
+ case 379: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 380: start_initializer_list ::= $Empty
//
- case 380: { action.builder.
- initializerListStart(); break;
+ case 380: { action. initializerListStart(); break;
}
-
+
//
// Rule 381: end_initializer_list ::= $Empty
//
- case 381: { action.builder.
- initializerListEnd(); break;
+ case 381: { action. initializerListEnd(); break;
}
-
+
//
// Rule 386: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 386: { action.builder.
- consumeClassSpecifier(); break;
+ case 386: { action. consumeClassSpecifier(); break;
}
-
+
//
// Rule 387: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
//
- case 387: { action.builder.
- consumeClassHead(false); break;
+ case 387: { action. consumeClassHead(false); break;
}
-
+
//
// Rule 388: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt
//
- case 388: { action.builder.
- consumeClassHead(false); break;
+ case 388: { action. consumeClassHead(false); break;
}
-
+
//
// Rule 389: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
//
- case 389: { action.builder.
- consumeClassHead(true); break;
+ case 389: { action. consumeClassHead(true); break;
}
-
+
//
// Rule 390: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
//
- case 390: { action.builder.
- consumeClassHead(true); break;
+ case 390: { action. consumeClassHead(true); break;
}
-
+
//
// Rule 392: identifier_name_opt ::= $Empty
//
- case 392: { action.builder.
- consumeEmpty(); break;
+ case 392: { action. consumeEmpty(); break;
}
-
+
//
// Rule 396: visibility_label ::= access_specifier_keyword :
//
- case 396: { action.builder.
- consumeVisibilityLabel(); break;
+ case 396: { action. consumeVisibilityLabel(); break;
}
-
+
//
// Rule 397: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 397: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 397: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 398: member_declaration ::= declaration_specifiers_opt ;
//
- case 398: { action.builder.
- consumeDeclarationSimple(false); break;
+ case 398: { action. consumeDeclarationSimple(false); break;
}
-
+
//
// Rule 401: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 401: { action.builder.
- consumeMemberDeclarationQualifiedId(); break;
+ case 401: { action. consumeMemberDeclarationQualifiedId(); break;
}
-
+
//
// Rule 407: member_declaration ::= ERROR_TOKEN
//
- case 407: { action.builder.
- consumeDeclarationProblem(); break;
+ case 407: { action. consumeDeclarationProblem(); break;
}
-
+
//
// Rule 415: member_declarator ::= declarator constant_initializer
//
- case 415: { action.builder.
- consumeMemberDeclaratorWithInitializer(); break;
+ case 415: { action. consumeMemberDeclaratorWithInitializer(); break;
}
-
+
//
// Rule 416: member_declarator ::= bit_field_declarator : constant_expression
//
- case 416: { action.builder.
- consumeBitField(true); break;
+ case 416: { action. consumeBitField(true); break;
}
-
+
//
// Rule 417: member_declarator ::= : constant_expression
//
- case 417: { action.builder.
- consumeBitField(false); break;
+ case 417: { action. consumeBitField(false); break;
}
-
+
//
// Rule 418: bit_field_declarator ::= identifier_name
//
- case 418: { action.builder.
- consumeDirectDeclaratorIdentifier(); break;
+ case 418: { action. consumeDirectDeclaratorIdentifier(); break;
}
-
+
//
// Rule 419: constant_initializer ::= = constant_expression
//
- case 419: { action.builder.
- consumeInitializer(); break;
+ case 419: { action. consumeInitializer(); break;
}
-
+
//
// Rule 425: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 425: { action.builder.
- consumeBaseSpecifier(false, false); break;
+ case 425: { action. consumeBaseSpecifier(false, false); break;
}
-
+
//
// Rule 426: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 426: { action.builder.
- consumeBaseSpecifier(true, true); break;
+ case 426: { action. consumeBaseSpecifier(true, true); break;
}
-
+
//
// Rule 427: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
- case 427: { action.builder.
- consumeBaseSpecifier(true, true); break;
+ case 427: { action. consumeBaseSpecifier(true, true); break;
}
-
+
//
// Rule 428: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 428: { action.builder.
- consumeBaseSpecifier(true, false); break;
+ case 428: { action. consumeBaseSpecifier(true, false); break;
}
-
+
//
// Rule 429: access_specifier_keyword ::= private
//
- case 429: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 429: { action. consumeToken(); break;
}
-
+
//
// Rule 430: access_specifier_keyword ::= protected
//
- case 430: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 430: { action. consumeToken(); break;
}
-
+
//
// Rule 431: access_specifier_keyword ::= public
//
- case 431: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 431: { action. consumeToken(); break;
}
-
+
//
// Rule 433: access_specifier_keyword_opt ::= $Empty
//
- case 433: { action.builder.
- consumeEmpty(); break;
+ case 433: { action. consumeEmpty(); break;
}
-
+
//
// Rule 435: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 435: { action.builder.
- consumeTemplateId(); break;
+ case 435: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 436: conversion_function_id ::= operator conversion_type_id
//
- case 436: { action.builder.
- consumeConversionName(); break;
+ case 436: { action. consumeConversionName(); break;
}
-
+
//
// Rule 437: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 437: { action.builder.
- consumeTypeId(true); break;
+ case 437: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 438: conversion_type_id ::= type_specifier_seq
//
- case 438: { action.builder.
- consumeTypeId(false); break;
+ case 438: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 439: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 439: { action.builder.
- consumeDeclaratorWithPointer(false); break;
+ case 439: { action. consumeDeclaratorWithPointer(false); break;
}
-
+
//
// Rule 445: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 445: { action.builder.
- consumeConstructorChainInitializer(); break;
+ case 445: { action. consumeConstructorChainInitializer(); break;
}
-
+
//
// Rule 446: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 446: { action.builder.
- consumeQualifiedId(false); break;
+ case 446: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 449: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 449: { action.builder.
- consumeTemplateId(); break;
+ case 449: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 450: operator_id_name ::= operator overloadable_operator
//
- case 450: { action.builder.
- consumeOperatorName(); break;
+ case 450: { action. consumeOperatorName(); break;
}
-
+
//
// Rule 493: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 493: { action.builder.
- consumeTemplateDeclaration(); break;
+ case 493: { action. consumeTemplateDeclaration(); break;
}
-
+
//
// Rule 494: export_opt ::= export
//
- case 494: { action.builder.
- consumePlaceHolder(); break;
+ case 494: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 495: export_opt ::= $Empty
//
- case 495: { action.builder.
- consumeEmpty(); break;
+ case 495: { action. consumeEmpty(); break;
}
-
+
//
// Rule 499: template_parameter ::= parameter_declaration
//
- case 499: { action.builder.
- consumeTemplateParamterDeclaration(); break;
+ case 499: { action. consumeTemplateParamterDeclaration(); break;
}
-
+
//
// Rule 500: type_parameter ::= class identifier_name_opt
//
- case 500: { action.builder.
- consumeSimpleTypeTemplateParameter(false); break;
+ case 500: { action. consumeSimpleTypeTemplateParameter(false); break;
}
-
+
//
// Rule 501: type_parameter ::= class identifier_name_opt = type_id
//
- case 501: { action.builder.
- consumeSimpleTypeTemplateParameter(true); break;
+ case 501: { action. consumeSimpleTypeTemplateParameter(true); break;
}
-
+
//
// Rule 502: type_parameter ::= typename identifier_name_opt
//
- case 502: { action.builder.
- consumeSimpleTypeTemplateParameter(false); break;
+ case 502: { action. consumeSimpleTypeTemplateParameter(false); break;
}
-
+
//
// Rule 503: type_parameter ::= typename identifier_name_opt = type_id
//
- case 503: { action.builder.
- consumeSimpleTypeTemplateParameter(true); break;
+ case 503: { action. consumeSimpleTypeTemplateParameter(true); break;
}
-
+
//
// Rule 504: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 504: { action.builder.
- consumeTemplatedTypeTemplateParameter(false); break;
+ case 504: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
-
+
//
// Rule 505: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 505: { action.builder.
- consumeTemplatedTypeTemplateParameter(true); break;
+ case 505: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
-
+
//
// Rule 506: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 506: { action.builder.
- consumeTemplateId(); break;
+ case 506: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 511: template_argument ::= assignment_expression
//
- case 511: { action.builder.
- consumeTemplateArgumentExpression(); break;
+ case 511: { action. consumeTemplateArgumentExpression(); break;
}
-
+
//
// Rule 512: template_argument ::= type_id
//
- case 512: { action.builder.
- consumeTemplateArgumentTypeId(); break;
+ case 512: { action. consumeTemplateArgumentTypeId(); break;
}
-
+
//
// Rule 513: explicit_instantiation ::= template declaration
//
- case 513: { action.builder.
- consumeTemplateExplicitInstantiation(); break;
+ case 513: { action. consumeTemplateExplicitInstantiation(); break;
}
-
+
//
// Rule 514: explicit_specialization ::= template < > declaration
//
- case 514: { action.builder.
- consumeTemplateExplicitSpecialization(); break;
+ case 514: { action. consumeTemplateExplicitSpecialization(); break;
}
-
+
//
// Rule 515: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 515: { action.builder.
- consumeStatementTryBlock(); break;
+ case 515: { action. consumeStatementTryBlock(); break;
}
-
+
//
// Rule 518: handler ::= catch ( exception_declaration ) compound_statement
//
- case 518: { action.builder.
- consumeStatementCatchHandler(false); break;
+ case 518: { action. consumeStatementCatchHandler(false); break;
}
-
+
//
// Rule 519: handler ::= catch ( ... ) compound_statement
//
- case 519: { action.builder.
- consumeStatementCatchHandler(true); break;
+ case 519: { action. consumeStatementCatchHandler(true); break;
}
-
+
//
// Rule 520: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 520: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 520: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 521: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
- case 521: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 521: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 522: exception_declaration ::= type_specifier_seq
//
- case 522: { action.builder.
- consumeDeclarationSimple(false); break;
+ case 522: { action. consumeDeclarationSimple(false); break;
}
-
+
//
// Rule 524: exception_specification ::= throw ( )
//
- case 524: { action.builder.
- consumePlaceHolder(); break;
+ case 524: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 530: expression_parser_start ::= ERROR_TOKEN
//
- case 530: { action.builder.
- consumeExpressionProblem(); break;
+ case 530: { action. consumeExpressionProblem(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java
index 4cf6de3321a..a0fd98e4ed6 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java
index edd61e663d4..f90c399a6d3 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
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 ac1680c5f90..a4ec23c8b5e 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
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
@@ -16,11 +16,7 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
import lpg.lpgjavaruntime.*;
import java.util.*;
-
import org.eclipse.cdt.core.dom.ast.*;
-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.IParser;
import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
@@ -28,7 +24,11 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
-public class CPPNoCastExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+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;
+
+public class CPPNoCastExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
private static ParseTable prs = new CPPNoCastExpressionParserprs();
private FixedBacktrackingParser btParser;
@@ -165,28 +165,19 @@ public class CPPNoCastExpressionParser extends PrsStream implements RuleAction ,
}
-private CPPParserAction action;
+private CPPBuildASTParserAction action;
-// uncomment to use with backtracking parser
public CPPNoCastExpressionParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- // binding resolution actions need access to IASTName nodes, temporary
- action = new CPPParserAction ();
- //action.resolver = new C99TypedefTrackerParserAction (this);
- action.builder = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu);
- //action.builder.setTokenMap(CPPParsersym.orderedTerminalSymbols);
-
- action.builder.setParserOptions(options);
-
- // comment this line to use with backtracking parser
- //setParserAction(action);
+ action = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu);
+ action.setParserOptions(options);
}
public void addToken(IToken token) {
- token.setKind(mapKind(token.getKind()));
+ token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called?
super.addToken(token);
}
@@ -196,37 +187,35 @@ public IASTCompletionNode parse(IASTTranslationUnit tu, Set<IParser.Options> opt
setStreamLength(getSize());
initActions(tu, options);
- final int errorRepairCount = -1; // _1 means full error handling
+ final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
super.resetTokenStream(); // allow tokens to be garbage collected
// the completion node may be null
- IASTCompletionNode compNode = action.builder.getASTCompletionNode();
+ IASTCompletionNode compNode = action.getASTCompletionNode();
- //action = null; // causes getSecondaryParseResult() to fail
-
- // Comment this line to use with backtracking parser
+ //action = null;
//parserAction = null;
-
return compNode;
}
-
// uncomment this method to use with backtracking parser
public List getRuleTokens() {
return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
}
+
public IASTNode getSecondaryParseResult() {
- return action.builder.getSecondaryParseResult();
+ return action.getSecondaryParseResult();
}
public String[] getOrderedTerminalSymbols() {
return CPPNoCastExpressionParsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "CPPNoCastExpressionParser"; //$NON-NLS-1$
+ return "CPPNoCastExpressionParser";
}
@@ -257,2017 +246,1729 @@ public CPPNoCastExpressionParser(String[] mapFrom) { // constructor
//
// Rule 1: <openscope-ast> ::= $Empty
//
- case 1: { action.builder.
- openASTScope(); break;
- }
+ case 1: { action. openASTScope(); break;
+ }
//
// Rule 2: <empty> ::= $Empty
//
- case 2: { action.builder.
- consumeEmpty(); break;
- }
-
+ case 2: { action. consumeEmpty(); break;
+ }
+
//
// Rule 13: translation_unit ::= declaration_seq_opt
//
- case 13: { action.builder.
- consumeTranslationUnit(); break;
+ case 13: { action. consumeTranslationUnit(); break;
}
-
+
//
// Rule 16: literal ::= integer
//
- case 16: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 16: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
}
-
+
//
// Rule 17: literal ::= 0
//
- case 17: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
}
-
+
//
// Rule 18: literal ::= floating
//
- case 18: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
}
-
+
//
// Rule 19: literal ::= charconst
//
- case 19: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
}
-
+
//
// Rule 20: literal ::= stringlit
//
- case 20: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
}
-
+
//
// Rule 21: literal ::= true
//
- case 21: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
}
-
+
//
// Rule 22: literal ::= false
//
- case 22: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
}
-
+
//
// Rule 23: literal ::= this
//
- case 23: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ case 23: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
}
-
+
//
// Rule 25: primary_expression ::= ( expression )
//
- case 25: { action.builder.
- consumeExpressionBracketed(); break;
+ case 25: { action. consumeExpressionBracketed(); break;
}
-
+
//
// Rule 27: id_expression ::= qualified_or_unqualified_name
//
- case 27: { action.builder.
- consumeExpressionName(); break;
+ case 27: { action. consumeExpressionName(); break;
}
-
+
//
// Rule 34: unqualified_id_name ::= ~ identifier_token
//
- case 34: { action.builder.
- consumeDestructorName(); break;
+ case 34: { action. consumeDestructorName(); break;
}
-
+
//
// Rule 35: unqualified_id_name ::= ~ template_id_name
//
- case 35: { action.builder.
- consumeDestructorNameTemplateId(); break;
+ case 35: { action. consumeDestructorNameTemplateId(); break;
}
-
+
//
// Rule 36: identifier_name ::= identifier_token
//
- case 36: { action.builder.
- consumeIdentifierName(); break;
+ case 36: { action. consumeIdentifierName(); break;
}
-
+
//
// Rule 37: template_opt ::= template
//
- case 37: { action.builder.
- consumePlaceHolder(); break;
+ case 37: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 38: template_opt ::= $Empty
//
- case 38: { action.builder.
- consumeEmpty(); break;
+ case 38: { action. consumeEmpty(); break;
}
-
+
//
// Rule 39: dcolon_opt ::= ::
//
- case 39: { action.builder.
- consumeToken(); break;
+ case 39: { action. consumeToken(); break;
}
-
+
//
// Rule 40: dcolon_opt ::= $Empty
//
- case 40: { action.builder.
- consumeEmpty(); break;
+ case 40: { action. consumeEmpty(); break;
}
-
+
//
// Rule 41: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
- case 41: { action.builder.
- consumeQualifiedId(true); break;
+ case 41: { action. consumeQualifiedId(true); break;
}
-
+
//
// Rule 42: qualified_id_name ::= :: unqualified_id_name
//
- case 42: { action.builder.
- consumeGlobalQualifiedId(); break;
+ case 42: { action. consumeGlobalQualifiedId(); break;
}
-
+
//
// Rule 43: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
- case 43: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ case 43: { action. consumeNestedNameSpecifier(true); break;
}
-
+
//
// Rule 44: nested_name_specifier ::= class_or_namespace_name ::
//
- case 44: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ case 44: { action. consumeNestedNameSpecifier(false); break;
}
-
+
//
// Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
- case 45: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ case 45: { action. consumeNestedNameSpecifier(true); break;
}
-
+
//
// Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
- case 46: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ case 46: { action. consumeNestedNameSpecifier(false); break;
}
-
+
//
// Rule 47: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 47: { action.builder.
- consumeNameWithTemplateKeyword(); break;
+ case 47: { action. consumeNameWithTemplateKeyword(); break;
}
-
+
//
// Rule 49: nested_name_specifier_opt ::= $Empty
//
- case 49: { action.builder.
- consumeNestedNameSpecifierEmpty(); break;
+ case 49: { action. consumeNestedNameSpecifierEmpty(); break;
}
-
+
//
// Rule 52: postfix_expression ::= postfix_expression [ expression ]
//
- case 52: { action.builder.
- consumeExpressionArraySubscript(); break;
+ case 52: { action. consumeExpressionArraySubscript(); break;
}
-
+
//
// Rule 53: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 53: { action.builder.
- consumeExpressionFunctionCall(); break;
+ case 53: { action. consumeExpressionFunctionCall(); break;
}
-
+
//
// Rule 54: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
- case 54: { action.builder.
- consumeExpressionSimpleTypeConstructor(); break;
+ case 54: { action. consumeExpressionSimpleTypeConstructor(); break;
}
-
+
//
// Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
- case 55: { action.builder.
- consumeExpressionTypeName(); break;
+ case 55: { action. consumeExpressionTypeName(); break;
}
-
+
//
// Rule 56: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
- case 56: { action.builder.
- consumeExpressionTypeName(); break;
+ case 56: { action. consumeExpressionTypeName(); break;
}
-
+
//
// Rule 57: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
- case 57: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ case 57: { action. consumeExpressionFieldReference(false, false); break;
}
-
+
//
// Rule 58: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
- case 58: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ case 58: { action. consumeExpressionFieldReference(true, false); break;
}
-
+
//
// Rule 59: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
- case 59: { action.builder.
- consumeExpressionFieldReference(false, true); break;
+ case 59: { action. consumeExpressionFieldReference(false, true); break;
}
-
+
//
// Rule 60: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
- case 60: { action.builder.
- consumeExpressionFieldReference(true, true); break;
+ case 60: { action. consumeExpressionFieldReference(true, true); break;
}
-
+
//
// Rule 61: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
- case 61: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ case 61: { action. consumeExpressionFieldReference(false, false); break;
}
-
+
//
// Rule 62: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
- case 62: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ case 62: { action. consumeExpressionFieldReference(true, false); break;
}
-
+
//
// Rule 63: postfix_expression ::= postfix_expression ++
//
- case 63: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
-
+
//
// Rule 64: postfix_expression ::= postfix_expression --
//
- case 64: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 64: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
-
+
//
// Rule 65: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
- case 65: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
-
+
//
// Rule 66: postfix_expression ::= static_cast < type_id > ( expression )
//
- case 66: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
-
+
//
// Rule 67: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
- case 67: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
-
+
//
// Rule 68: postfix_expression ::= const_cast < type_id > ( expression )
//
- case 68: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ case 68: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
-
+
//
// Rule 69: postfix_expression ::= typeid ( expression )
//
- case 69: { action.builder.
- consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ case 69: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
-
+
//
// Rule 70: postfix_expression ::= typeid ( type_id )
//
- case 70: { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ case 70: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
-
+
//
// Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
- case 71: { action.builder.
- consumePsudoDestructorName(true); break;
+ case 71: { action. consumePsudoDestructorName(true); break;
}
-
+
//
// Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
- case 72: { action.builder.
- consumePsudoDestructorName(true); break;
+ case 72: { action. consumePsudoDestructorName(true); break;
}
-
+
//
// Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
- case 73: { action.builder.
- consumePsudoDestructorName(false); break;
+ case 73: { action. consumePsudoDestructorName(false); break;
}
-
+
//
// Rule 74: destructor_type_name ::= ~ identifier_token
//
- case 74: { action.builder.
- consumeDestructorName(); break;
+ case 74: { action. consumeDestructorName(); break;
}
-
+
//
// Rule 75: destructor_type_name ::= ~ template_id_name
//
- case 75: { action.builder.
- consumeDestructorNameTemplateId(); break;
+ case 75: { action. consumeDestructorNameTemplateId(); break;
}
-
+
//
// Rule 79: unary_expression ::= ++ cast_expression
//
- case 79: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
-
+
//
// Rule 80: unary_expression ::= -- cast_expression
//
- case 80: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
-
+
//
// Rule 81: unary_expression ::= & cast_expression
//
- case 81: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
-
+
//
// Rule 82: unary_expression ::= * cast_expression
//
- case 82: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
-
+
//
// Rule 83: unary_expression ::= + cast_expression
//
- case 83: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
-
+
//
// Rule 84: unary_expression ::= - cast_expression
//
- case 84: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
-
+
//
// Rule 85: unary_expression ::= ~ cast_expression
//
- case 85: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
-
+
//
// Rule 86: unary_expression ::= ! cast_expression
//
- case 86: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
-
+
//
// Rule 87: unary_expression ::= sizeof unary_expression
//
- case 87: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 87: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
-
+
//
// Rule 88: unary_expression ::= sizeof ( type_id )
//
- case 88: { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
+ case 88: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
-
+
//
// Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 89: { action.builder.
- consumeExpressionNew(true); break;
+ case 89: { action. consumeExpressionNew(true); break;
}
-
+
//
// Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 90: { action.builder.
- consumeExpressionNew(false); break;
+ case 90: { action. consumeExpressionNew(false); break;
}
-
+
//
// Rule 92: new_placement_opt ::= $Empty
//
- case 92: { action.builder.
- consumeEmpty(); break;
+ case 92: { action. consumeEmpty(); break;
}
-
+
//
// Rule 93: new_type_id ::= type_specifier_seq
//
- case 93: { action.builder.
- consumeTypeId(false); break;
+ case 93: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 94: new_type_id ::= type_specifier_seq new_declarator
//
- case 94: { action.builder.
- consumeTypeId(true); break;
+ case 94: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 95: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 95: { action.builder.
- consumeNewDeclarator(); break;
+ case 95: { action. consumeNewDeclarator(); break;
}
-
+
//
// Rule 102: new_initializer ::= ( expression_list_opt )
//
- case 102: { action.builder.
- consumeNewInitializer(); break;
+ case 102: { action. consumeNewInitializer(); break;
}
-
+
//
// Rule 104: new_initializer_opt ::= $Empty
//
- case 104: { action.builder.
- consumeEmpty(); break;
+ case 104: { action. consumeEmpty(); break;
}
-
+
//
// Rule 105: delete_expression ::= dcolon_opt delete cast_expression
//
- case 105: { action.builder.
- consumeExpressionDelete(false); break;
+ case 105: { action. consumeExpressionDelete(false); break;
}
-
+
//
// Rule 106: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 106: { action.builder.
- consumeExpressionDelete(true); break;
+ case 106: { action. consumeExpressionDelete(true); break;
}
-
+
//
// Rule 109: pm_expression ::= pm_expression .* cast_expression
//
- case 109: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ case 109: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
-
+
//
// Rule 110: pm_expression ::= pm_expression ->* cast_expression
//
- case 110: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
-
+
//
// Rule 112: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 112: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ case 112: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
-
+
//
// Rule 113: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 113: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
-
+
//
// Rule 114: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 114: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
-
+
//
// Rule 116: additive_expression ::= additive_expression + multiplicative_expression
//
- case 116: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ case 116: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
-
+
//
// Rule 117: additive_expression ::= additive_expression - multiplicative_expression
//
- case 117: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
-
+
//
// Rule 119: shift_expression ::= shift_expression << additive_expression
//
- case 119: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ case 119: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
-
+
//
// Rule 120: shift_expression ::= shift_expression >> additive_expression
//
- case 120: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
-
+
//
// Rule 122: relational_expression ::= relational_expression < shift_expression
//
- case 122: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ case 122: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
-
+
//
// Rule 123: relational_expression ::= relational_expression > shift_expression
//
- case 123: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
-
+
//
// Rule 124: relational_expression ::= relational_expression <= shift_expression
//
- case 124: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
-
+
//
// Rule 125: relational_expression ::= relational_expression >= shift_expression
//
- case 125: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
-
+
//
// Rule 127: equality_expression ::= equality_expression == relational_expression
//
- case 127: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ case 127: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
-
+
//
// Rule 128: equality_expression ::= equality_expression != relational_expression
//
- case 128: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
-
+
//
// Rule 130: and_expression ::= and_expression & equality_expression
//
- case 130: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ case 130: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
-
+
//
// Rule 132: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 132: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ case 132: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
-
+
//
// Rule 134: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 134: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ case 134: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
-
+
//
// Rule 136: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 136: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ case 136: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
-
+
//
// Rule 138: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 138: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ case 138: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
-
+
//
// Rule 140: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 140: { action.builder.
- consumeExpressionConditional(); break;
+ case 140: { action. consumeExpressionConditional(); break;
}
-
+
//
// Rule 141: throw_expression ::= throw
//
- case 141: { action.builder.
- consumeExpressionThrow(false); break;
+ case 141: { action. consumeExpressionThrow(false); break;
}
-
+
//
// Rule 142: throw_expression ::= throw assignment_expression
//
- case 142: { action.builder.
- consumeExpressionThrow(true); break;
+ case 142: { action. consumeExpressionThrow(true); break;
}
-
+
//
// Rule 145: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 145: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ case 145: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
-
+
//
// Rule 146: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 146: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
-
+
//
// Rule 147: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 147: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
-
+
//
// Rule 148: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 148: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
-
+
//
// Rule 149: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 149: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
-
+
//
// Rule 150: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 150: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
-
+
//
// Rule 151: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 151: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
-
+
//
// Rule 152: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 152: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
-
+
//
// Rule 153: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 153: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
-
+
//
// Rule 154: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 154: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
-
+
//
// Rule 155: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 155: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
-
+
//
// Rule 157: expression_list ::= <openscope-ast> expression_list_actual
//
- case 157: { action.builder.
- consumeExpressionList(); break;
+ case 157: { action. consumeExpressionList(); break;
}
-
+
//
// Rule 161: expression_list_opt ::= $Empty
//
- case 161: { action.builder.
- consumeEmpty(); break;
+ case 161: { action. consumeEmpty(); break;
}
-
+
//
// Rule 163: expression_opt ::= $Empty
//
- case 163: { action.builder.
- consumeEmpty(); break;
+ case 163: { action. consumeEmpty(); break;
}
-
+
//
// Rule 166: constant_expression_opt ::= $Empty
//
- case 166: { action.builder.
- consumeEmpty(); break;
+ case 166: { action. consumeEmpty(); break;
}
-
+
//
// Rule 175: statement ::= ERROR_TOKEN
//
- case 175: { action.builder.
- consumeStatementProblem(); break;
+ case 175: { action. consumeStatementProblem(); break;
}
-
+
//
// Rule 176: labeled_statement ::= identifier : statement
//
- case 176: { action.builder.
- consumeStatementLabeled(); break;
+ case 176: { action. consumeStatementLabeled(); break;
}
-
+
//
// Rule 177: labeled_statement ::= case constant_expression : statement
//
- case 177: { action.builder.
- consumeStatementCase(); break;
+ case 177: { action. consumeStatementCase(); break;
}
-
+
//
// Rule 178: labeled_statement ::= default : statement
//
- case 178: { action.builder.
- consumeStatementDefault(); break;
+ case 178: { action. consumeStatementDefault(); break;
}
-
+
//
// Rule 179: expression_statement ::= expression ;
//
- case 179: { action.builder.
- consumeStatementExpression(); break;
+ case 179: { action. consumeStatementExpression(); break;
}
-
+
//
// Rule 180: expression_statement ::= ;
//
- case 180: { action.builder.
- consumeStatementNull(); break;
+ case 180: { action. consumeStatementNull(); break;
}
-
+
//
// Rule 181: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 181: { action.builder.
- consumeStatementCompoundStatement(true); break;
+ case 181: { action. consumeStatementCompoundStatement(true); break;
}
-
+
//
// Rule 182: compound_statement ::= { }
//
- case 182: { action.builder.
- consumeStatementCompoundStatement(false); break;
+ case 182: { action. consumeStatementCompoundStatement(false); break;
}
-
+
//
// Rule 185: selection_statement ::= if ( condition ) statement
//
- case 185: { action.builder.
- consumeStatementIf(false); break;
+ case 185: { action. consumeStatementIf(false); break;
}
-
+
//
// Rule 186: selection_statement ::= if ( condition ) statement else statement
//
- case 186: { action.builder.
- consumeStatementIf(true); break;
+ case 186: { action. consumeStatementIf(true); break;
}
-
+
//
// Rule 187: selection_statement ::= switch ( condition ) statement
//
- case 187: { action.builder.
- consumeStatementSwitch(); break;
+ case 187: { action. consumeStatementSwitch(); break;
}
-
+
//
// Rule 189: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 189: { action.builder.
- consumeConditionDeclaration(); break;
+ case 189: { action. consumeConditionDeclaration(); break;
}
-
+
//
// Rule 191: condition_opt ::= $Empty
//
- case 191: { action.builder.
- consumeEmpty(); break;
+ case 191: { action. consumeEmpty(); break;
}
-
+
//
// Rule 192: iteration_statement ::= while ( condition ) statement
//
- case 192: { action.builder.
- consumeStatementWhileLoop(); break;
+ case 192: { action. consumeStatementWhileLoop(); break;
}
-
+
//
// Rule 193: iteration_statement ::= do statement while ( expression ) ;
//
- case 193: { action.builder.
- consumeStatementDoLoop(); break;
+ case 193: { action. consumeStatementDoLoop(); break;
}
-
+
//
// Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 194: { action.builder.
- consumeStatementForLoop(); break;
+ case 194: { action. consumeStatementForLoop(); break;
}
-
+
//
// Rule 196: for_init_statement ::= simple_declaration_with_declspec
//
- case 196: { action.builder.
- consumeStatementDeclaration(); break;
+ case 196: { action. consumeStatementDeclaration(); break;
}
-
+
//
// Rule 197: jump_statement ::= break ;
//
- case 197: { action.builder.
- consumeStatementBreak(); break;
+ case 197: { action. consumeStatementBreak(); break;
}
-
+
//
// Rule 198: jump_statement ::= continue ;
//
- case 198: { action.builder.
- consumeStatementContinue(); break;
+ case 198: { action. consumeStatementContinue(); break;
}
-
+
//
// Rule 199: jump_statement ::= return expression ;
//
- case 199: { action.builder.
- consumeStatementReturn(true); break;
+ case 199: { action. consumeStatementReturn(true); break;
}
-
+
//
// Rule 200: jump_statement ::= return ;
//
- case 200: { action.builder.
- consumeStatementReturn(false); break;
+ case 200: { action. consumeStatementReturn(false); break;
}
-
+
//
// Rule 201: jump_statement ::= goto identifier_token ;
//
- case 201: { action.builder.
- consumeStatementGoto(); break;
+ case 201: { action. consumeStatementGoto(); break;
}
-
+
//
// Rule 202: declaration_statement ::= block_declaration
//
- case 202: { action.builder.
- consumeStatementDeclarationWithDisambiguation(); break;
+ case 202: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
-
+
//
// Rule 203: declaration_statement ::= function_definition
//
- case 203: { action.builder.
- consumeStatementDeclaration(); break;
+ case 203: { action. consumeStatementDeclaration(); break;
}
-
+
//
// Rule 211: declaration ::= ERROR_TOKEN
//
- case 211: { action.builder.
- consumeDeclarationProblem(); break;
+ case 211: { action. consumeDeclarationProblem(); break;
}
-
+
//
// Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 221: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 221: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
- case 222: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 222: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 223: { action.builder.
- consumeDeclarationSpecifiersSimple(); break;
+ case 223: { action. consumeDeclarationSpecifiersSimple(); break;
}
-
+
//
// Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 224: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 224: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
- case 225: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 226: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 226: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 227: { action.builder.
- consumeDeclarationSpecifiersTypeName(); break;
+ case 227: { action. consumeDeclarationSpecifiersTypeName(); break;
}
-
+
//
// Rule 229: declaration_specifiers_opt ::= $Empty
//
- case 229: { action.builder.
- consumeEmpty(); break;
+ case 229: { action. consumeEmpty(); break;
}
-
+
//
// Rule 233: no_type_declaration_specifier ::= friend
//
- case 233: { action.builder.
- consumeDeclSpecToken(); break;
+ case 233: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 234: no_type_declaration_specifier ::= typedef
//
- case 234: { action.builder.
- consumeDeclSpecToken(); break;
+ case 234: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 254: storage_class_specifier ::= auto
//
- case 254: { action.builder.
- consumeDeclSpecToken(); break;
+ case 254: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 255: storage_class_specifier ::= register
//
- case 255: { action.builder.
- consumeDeclSpecToken(); break;
+ case 255: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 256: storage_class_specifier ::= static
//
- case 256: { action.builder.
- consumeDeclSpecToken(); break;
+ case 256: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 257: storage_class_specifier ::= extern
//
- case 257: { action.builder.
- consumeDeclSpecToken(); break;
+ case 257: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 258: storage_class_specifier ::= mutable
//
- case 258: { action.builder.
- consumeDeclSpecToken(); break;
+ case 258: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 259: function_specifier ::= inline
//
- case 259: { action.builder.
- consumeDeclSpecToken(); break;
+ case 259: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 260: function_specifier ::= virtual
//
- case 260: { action.builder.
- consumeDeclSpecToken(); break;
+ case 260: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 261: function_specifier ::= explicit
//
- case 261: { action.builder.
- consumeDeclSpecToken(); break;
+ case 261: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 262: simple_type_specifier ::= char
//
- case 262: { action.builder.
- consumeDeclSpecToken(); break;
+ case 262: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 263: simple_type_specifier ::= wchar_t
//
- case 263: { action.builder.
- consumeDeclSpecToken(); break;
+ case 263: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 264: simple_type_specifier ::= bool
//
- case 264: { action.builder.
- consumeDeclSpecToken(); break;
+ case 264: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 265: simple_type_specifier ::= short
//
- case 265: { action.builder.
- consumeDeclSpecToken(); break;
+ case 265: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 266: simple_type_specifier ::= int
//
- case 266: { action.builder.
- consumeDeclSpecToken(); break;
+ case 266: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 267: simple_type_specifier ::= long
//
- case 267: { action.builder.
- consumeDeclSpecToken(); break;
+ case 267: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 268: simple_type_specifier ::= signed
//
- case 268: { action.builder.
- consumeDeclSpecToken(); break;
+ case 268: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 269: simple_type_specifier ::= unsigned
//
- case 269: { action.builder.
- consumeDeclSpecToken(); break;
+ case 269: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 270: simple_type_specifier ::= float
//
- case 270: { action.builder.
- consumeDeclSpecToken(); break;
+ case 270: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 271: simple_type_specifier ::= double
//
- case 271: { action.builder.
- consumeDeclSpecToken(); break;
+ case 271: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 272: simple_type_specifier ::= void
//
- case 272: { action.builder.
- consumeDeclSpecToken(); break;
+ case 272: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 275: { action.builder.
- consumeQualifiedId(false); break;
+ case 275: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
- case 276: { action.builder.
- consumeQualifiedId(false); break;
+ case 276: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
- case 277: { action.builder.
- consumeQualifiedId(false); break;
+ case 277: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 278: { action.builder.
- consumeQualifiedId(true); break;
+ case 278: { action. consumeQualifiedId(true); break;
}
-
+
//
// Rule 280: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
//
- case 280: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ case 280: { action. consumeTypeSpecifierElaborated(false); break;
}
-
+
//
// Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 281: { action.builder.
- consumeTypeSpecifierElaborated(true); break;
+ case 281: { action. consumeTypeSpecifierElaborated(true); break;
}
-
+
//
// Rule 282: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
//
- case 282: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ case 282: { action. consumeTypeSpecifierElaborated(false); break;
}
-
+
//
// Rule 283: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
//
- case 283: { action.builder.
- consumeTypeSpecifierEnumeration(false); break;
+ case 283: { action. consumeTypeSpecifierEnumeration(false); break;
}
-
+
//
// Rule 284: enum_specifier ::= enum identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 284: { action.builder.
- consumeTypeSpecifierEnumeration(true); break;
+ case 284: { action. consumeTypeSpecifierEnumeration(true); break;
}
-
+
//
// Rule 289: enumerator_definition ::= identifier_token
//
- case 289: { action.builder.
- consumeEnumerator(false); break;
+ case 289: { action. consumeEnumerator(false); break;
}
-
+
//
// Rule 290: enumerator_definition ::= identifier_token = constant_expression
//
- case 290: { action.builder.
- consumeEnumerator(true); break;
+ case 290: { action. consumeEnumerator(true); break;
}
-
+
//
// Rule 294: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 294: { action.builder.
- consumeNamespaceDefinition(true); break;
+ case 294: { action. consumeNamespaceDefinition(true); break;
}
-
+
//
// Rule 295: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 295: { action.builder.
- consumeNamespaceDefinition(false); break;
+ case 295: { action. consumeNamespaceDefinition(false); break;
}
-
+
//
// Rule 296: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 296: { action.builder.
- consumeNamespaceAliasDefinition(); break;
+ case 296: { action. consumeNamespaceAliasDefinition(); break;
}
-
+
//
// Rule 297: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 297: { action.builder.
- consumeUsingDeclaration(); break;
+ case 297: { action. consumeUsingDeclaration(); break;
}
-
+
//
// Rule 298: typename_opt ::= typename
//
- case 298: { action.builder.
- consumePlaceHolder(); break;
+ case 298: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 299: typename_opt ::= $Empty
//
- case 299: { action.builder.
- consumeEmpty(); break;
+ case 299: { action. consumeEmpty(); break;
}
-
+
//
// Rule 300: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 300: { action.builder.
- consumeUsingDirective(); break;
+ case 300: { action. consumeUsingDirective(); break;
}
-
+
//
// Rule 301: asm_definition ::= asm ( stringlit ) ;
//
- case 301: { action.builder.
- consumeDeclarationASM(); break;
+ case 301: { action. consumeDeclarationASM(); break;
}
-
+
//
// Rule 302: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 302: { action.builder.
- consumeLinkageSpecification(); break;
+ case 302: { action. consumeLinkageSpecification(); break;
}
-
+
//
// Rule 303: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
- case 303: { action.builder.
- consumeLinkageSpecification(); break;
+ case 303: { action. consumeLinkageSpecification(); break;
}
-
+
//
// Rule 308: init_declarator_complete ::= init_declarator
//
- case 308: { action.builder.
- consumeInitDeclaratorComplete(); break;
+ case 308: { action. consumeInitDeclaratorComplete(); break;
}
-
+
//
// Rule 310: init_declarator ::= declarator initializer
//
- case 310: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 310: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 312: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 312: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 312: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 314: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 314: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 314: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 318: basic_direct_declarator ::= declarator_id_name
//
- case 318: { action.builder.
- consumeDirectDeclaratorIdentifier(); break;
+ case 318: { action. consumeDirectDeclaratorIdentifier(); break;
}
-
+
//
// Rule 319: basic_direct_declarator ::= ( declarator )
//
- case 319: { action.builder.
- consumeDirectDeclaratorBracketed(); break;
+ case 319: { action. consumeDirectDeclaratorBracketed(); break;
}
-
+
//
// Rule 320: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 320: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 320: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
-
+
//
// Rule 321: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 321: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 321: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 322: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 322: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 323: array_modifier ::= [ constant_expression ]
//
- case 323: { action.builder.
- consumeDirectDeclaratorArrayModifier(true); break;
+ case 323: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
-
+
//
// Rule 324: array_modifier ::= [ ]
//
- case 324: { action.builder.
- consumeDirectDeclaratorArrayModifier(false); break;
+ case 324: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
-
+
//
// Rule 325: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
//
- case 325: { action.builder.
- consumePointer(); break;
+ case 325: { action. consumePointer(); break;
}
-
+
//
// Rule 326: ptr_operator ::= &
//
- case 326: { action.builder.
- consumeReferenceOperator(); break;
+ case 326: { action. consumeReferenceOperator(); break;
}
-
+
//
// Rule 327: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
//
- case 327: { action.builder.
- consumePointerToMember(); break;
+ case 327: { action. consumePointerToMember(); break;
}
-
+
//
// Rule 333: cv_qualifier ::= const
//
- case 333: { action.builder.
- consumeDeclSpecToken(); break;
+ case 333: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 334: cv_qualifier ::= volatile
//
- case 334: { action.builder.
- consumeDeclSpecToken(); break;
+ case 334: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 336: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 336: { action.builder.
- consumeQualifiedId(false); break;
+ case 336: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 337: type_id ::= type_specifier_seq
//
- case 337: { action.builder.
- consumeTypeId(false); break;
+ case 337: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 338: type_id ::= type_specifier_seq abstract_declarator
//
- case 338: { action.builder.
- consumeTypeId(true); break;
+ case 338: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 341: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 341: { action.builder.
- consumeDeclaratorWithPointer(false); break;
+ case 341: { action. consumeDeclaratorWithPointer(false); break;
}
-
+
//
// Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 342: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 342: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 346: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 346: { action.builder.
- consumeDirectDeclaratorBracketed(); break;
+ case 346: { action. consumeDirectDeclaratorBracketed(); break;
}
-
+
//
// Rule 347: basic_direct_abstract_declarator ::= ( )
//
- case 347: { action.builder.
- consumeAbstractDeclaratorEmpty(); break;
+ case 347: { action. consumeAbstractDeclaratorEmpty(); break;
}
-
+
//
// Rule 348: array_direct_abstract_declarator ::= array_modifier
//
- case 348: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 348: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
-
+
//
// Rule 349: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 349: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 349: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 350: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 350: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 350: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 351: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 351: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 351: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
-
+
//
// Rule 352: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 352: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 352: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
-
+
//
// Rule 353: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 353: { action.builder.
- consumePlaceHolder(); break;
+ case 353: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 354: { action.builder.
- consumeEmpty(); break;
+ case 354: { action. consumeEmpty(); break;
}
-
+
//
// Rule 355: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 355: { action.builder.
- consumePlaceHolder(); break;
+ case 355: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 361: abstract_declarator_opt ::= $Empty
//
- case 361: { action.builder.
- consumeEmpty(); break;
+ case 361: { action. consumeEmpty(); break;
}
-
+
//
// Rule 362: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 362: { action.builder.
- consumeParameterDeclaration(); break;
+ case 362: { action. consumeParameterDeclaration(); break;
}
-
+
//
// Rule 363: parameter_declaration ::= declaration_specifiers
//
- case 363: { action.builder.
- consumeParameterDeclarationWithoutDeclarator(); break;
+ case 363: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
-
+
//
// Rule 365: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 365: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 365: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 367: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 367: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 367: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 368: parameter_init_declarator ::= = parameter_initializer
//
- case 368: { action.builder.
- consumeDeclaratorWithInitializer(false); break;
+ case 368: { action. consumeDeclaratorWithInitializer(false); break;
}
-
+
//
// Rule 369: parameter_initializer ::= assignment_expression
//
- case 369: { action.builder.
- consumeInitializer(); break;
+ case 369: { action. consumeInitializer(); break;
}
-
+
//
// Rule 370: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 370: { action.builder.
- consumeFunctionDefinition(false); break;
+ case 370: { action. consumeFunctionDefinition(false); break;
}
-
+
//
// Rule 371: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 371: { action.builder.
- consumeFunctionDefinition(true); break;
+ case 371: { action. consumeFunctionDefinition(true); break;
}
-
+
//
// Rule 374: initializer ::= ( expression_list )
//
- case 374: { action.builder.
- consumeInitializerConstructor(); break;
+ case 374: { action. consumeInitializerConstructor(); break;
}
-
+
//
// Rule 375: initializer_clause ::= assignment_expression
//
- case 375: { action.builder.
- consumeInitializer(); break;
+ case 375: { action. consumeInitializer(); break;
}
-
+
//
// Rule 376: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 376: { action.builder.
- consumeInitializerList(); break;
+ case 376: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 377: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
- case 377: { action.builder.
- consumeInitializerList(); break;
+ case 377: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 378: initializer_clause ::= { <openscope-ast> }
//
- case 378: { action.builder.
- consumeInitializerList(); break;
+ case 378: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 379: start_initializer_list ::= $Empty
//
- case 379: { action.builder.
- initializerListStart(); break;
+ case 379: { action. initializerListStart(); break;
}
-
+
//
// Rule 380: end_initializer_list ::= $Empty
//
- case 380: { action.builder.
- initializerListEnd(); break;
+ case 380: { action. initializerListEnd(); break;
}
-
+
//
// Rule 385: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 385: { action.builder.
- consumeClassSpecifier(); break;
+ case 385: { action. consumeClassSpecifier(); break;
}
-
+
//
// Rule 386: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
//
- case 386: { action.builder.
- consumeClassHead(false); break;
+ case 386: { action. consumeClassHead(false); break;
}
-
+
//
// Rule 387: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt
//
- case 387: { action.builder.
- consumeClassHead(false); break;
+ case 387: { action. consumeClassHead(false); break;
}
-
+
//
// Rule 388: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
//
- case 388: { action.builder.
- consumeClassHead(true); break;
+ case 388: { action. consumeClassHead(true); break;
}
-
+
//
// Rule 389: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
//
- case 389: { action.builder.
- consumeClassHead(true); break;
+ case 389: { action. consumeClassHead(true); break;
}
-
+
//
// Rule 391: identifier_name_opt ::= $Empty
//
- case 391: { action.builder.
- consumeEmpty(); break;
+ case 391: { action. consumeEmpty(); break;
}
-
+
//
// Rule 395: visibility_label ::= access_specifier_keyword :
//
- case 395: { action.builder.
- consumeVisibilityLabel(); break;
+ case 395: { action. consumeVisibilityLabel(); break;
}
-
+
//
// Rule 396: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 396: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 396: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 397: member_declaration ::= declaration_specifiers_opt ;
//
- case 397: { action.builder.
- consumeDeclarationSimple(false); break;
+ case 397: { action. consumeDeclarationSimple(false); break;
}
-
+
//
// Rule 400: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 400: { action.builder.
- consumeMemberDeclarationQualifiedId(); break;
+ case 400: { action. consumeMemberDeclarationQualifiedId(); break;
}
-
+
//
// Rule 406: member_declaration ::= ERROR_TOKEN
//
- case 406: { action.builder.
- consumeDeclarationProblem(); break;
+ case 406: { action. consumeDeclarationProblem(); break;
}
-
+
//
// Rule 414: member_declarator ::= declarator constant_initializer
//
- case 414: { action.builder.
- consumeMemberDeclaratorWithInitializer(); break;
+ case 414: { action. consumeMemberDeclaratorWithInitializer(); break;
}
-
+
//
// Rule 415: member_declarator ::= bit_field_declarator : constant_expression
//
- case 415: { action.builder.
- consumeBitField(true); break;
+ case 415: { action. consumeBitField(true); break;
}
-
+
//
// Rule 416: member_declarator ::= : constant_expression
//
- case 416: { action.builder.
- consumeBitField(false); break;
+ case 416: { action. consumeBitField(false); break;
}
-
+
//
// Rule 417: bit_field_declarator ::= identifier_name
//
- case 417: { action.builder.
- consumeDirectDeclaratorIdentifier(); break;
+ case 417: { action. consumeDirectDeclaratorIdentifier(); break;
}
-
+
//
// Rule 418: constant_initializer ::= = constant_expression
//
- case 418: { action.builder.
- consumeInitializer(); break;
+ case 418: { action. consumeInitializer(); break;
}
-
+
//
// Rule 424: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 424: { action.builder.
- consumeBaseSpecifier(false, false); break;
+ case 424: { action. consumeBaseSpecifier(false, false); break;
}
-
+
//
// Rule 425: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 425: { action.builder.
- consumeBaseSpecifier(true, true); break;
+ case 425: { action. consumeBaseSpecifier(true, true); break;
}
-
+
//
// Rule 426: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
- case 426: { action.builder.
- consumeBaseSpecifier(true, true); break;
+ case 426: { action. consumeBaseSpecifier(true, true); break;
}
-
+
//
// Rule 427: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 427: { action.builder.
- consumeBaseSpecifier(true, false); break;
+ case 427: { action. consumeBaseSpecifier(true, false); break;
}
-
+
//
// Rule 428: access_specifier_keyword ::= private
//
- case 428: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 428: { action. consumeToken(); break;
}
-
+
//
// Rule 429: access_specifier_keyword ::= protected
//
- case 429: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 429: { action. consumeToken(); break;
}
-
+
//
// Rule 430: access_specifier_keyword ::= public
//
- case 430: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 430: { action. consumeToken(); break;
}
-
+
//
// Rule 432: access_specifier_keyword_opt ::= $Empty
//
- case 432: { action.builder.
- consumeEmpty(); break;
+ case 432: { action. consumeEmpty(); break;
}
-
+
//
// Rule 434: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 434: { action.builder.
- consumeTemplateId(); break;
+ case 434: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 435: conversion_function_id ::= operator conversion_type_id
//
- case 435: { action.builder.
- consumeConversionName(); break;
+ case 435: { action. consumeConversionName(); break;
}
-
+
//
// Rule 436: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 436: { action.builder.
- consumeTypeId(true); break;
+ case 436: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 437: conversion_type_id ::= type_specifier_seq
//
- case 437: { action.builder.
- consumeTypeId(false); break;
+ case 437: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 438: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 438: { action.builder.
- consumeDeclaratorWithPointer(false); break;
+ case 438: { action. consumeDeclaratorWithPointer(false); break;
}
-
+
//
// Rule 444: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 444: { action.builder.
- consumeConstructorChainInitializer(); break;
+ case 444: { action. consumeConstructorChainInitializer(); break;
}
-
+
//
// Rule 445: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 445: { action.builder.
- consumeQualifiedId(false); break;
+ case 445: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 448: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 448: { action.builder.
- consumeTemplateId(); break;
+ case 448: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 449: operator_id_name ::= operator overloadable_operator
//
- case 449: { action.builder.
- consumeOperatorName(); break;
+ case 449: { action. consumeOperatorName(); break;
}
-
+
//
// Rule 492: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 492: { action.builder.
- consumeTemplateDeclaration(); break;
+ case 492: { action. consumeTemplateDeclaration(); break;
}
-
+
//
// Rule 493: export_opt ::= export
//
- case 493: { action.builder.
- consumePlaceHolder(); break;
+ case 493: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 494: export_opt ::= $Empty
//
- case 494: { action.builder.
- consumeEmpty(); break;
+ case 494: { action. consumeEmpty(); break;
}
-
+
//
// Rule 498: template_parameter ::= parameter_declaration
//
- case 498: { action.builder.
- consumeTemplateParamterDeclaration(); break;
+ case 498: { action. consumeTemplateParamterDeclaration(); break;
}
-
+
//
// Rule 499: type_parameter ::= class identifier_name_opt
//
- case 499: { action.builder.
- consumeSimpleTypeTemplateParameter(false); break;
+ case 499: { action. consumeSimpleTypeTemplateParameter(false); break;
}
-
+
//
// Rule 500: type_parameter ::= class identifier_name_opt = type_id
//
- case 500: { action.builder.
- consumeSimpleTypeTemplateParameter(true); break;
+ case 500: { action. consumeSimpleTypeTemplateParameter(true); break;
}
-
+
//
// Rule 501: type_parameter ::= typename identifier_name_opt
//
- case 501: { action.builder.
- consumeSimpleTypeTemplateParameter(false); break;
+ case 501: { action. consumeSimpleTypeTemplateParameter(false); break;
}
-
+
//
// Rule 502: type_parameter ::= typename identifier_name_opt = type_id
//
- case 502: { action.builder.
- consumeSimpleTypeTemplateParameter(true); break;
+ case 502: { action. consumeSimpleTypeTemplateParameter(true); break;
}
-
+
//
// Rule 503: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 503: { action.builder.
- consumeTemplatedTypeTemplateParameter(false); break;
+ case 503: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
-
+
//
// Rule 504: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 504: { action.builder.
- consumeTemplatedTypeTemplateParameter(true); break;
+ case 504: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
-
+
//
// Rule 505: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 505: { action.builder.
- consumeTemplateId(); break;
+ case 505: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 510: template_argument ::= assignment_expression
//
- case 510: { action.builder.
- consumeTemplateArgumentExpression(); break;
+ case 510: { action. consumeTemplateArgumentExpression(); break;
}
-
+
//
// Rule 511: template_argument ::= type_id
//
- case 511: { action.builder.
- consumeTemplateArgumentTypeId(); break;
+ case 511: { action. consumeTemplateArgumentTypeId(); break;
}
-
+
//
// Rule 512: explicit_instantiation ::= template declaration
//
- case 512: { action.builder.
- consumeTemplateExplicitInstantiation(); break;
+ case 512: { action. consumeTemplateExplicitInstantiation(); break;
}
-
+
//
// Rule 513: explicit_specialization ::= template < > declaration
//
- case 513: { action.builder.
- consumeTemplateExplicitSpecialization(); break;
+ case 513: { action. consumeTemplateExplicitSpecialization(); break;
}
-
+
//
// Rule 514: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 514: { action.builder.
- consumeStatementTryBlock(); break;
+ case 514: { action. consumeStatementTryBlock(); break;
}
-
+
//
// Rule 517: handler ::= catch ( exception_declaration ) compound_statement
//
- case 517: { action.builder.
- consumeStatementCatchHandler(false); break;
+ case 517: { action. consumeStatementCatchHandler(false); break;
}
-
+
//
// Rule 518: handler ::= catch ( ... ) compound_statement
//
- case 518: { action.builder.
- consumeStatementCatchHandler(true); break;
+ case 518: { action. consumeStatementCatchHandler(true); break;
}
-
+
//
// Rule 519: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 519: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 519: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 520: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
- case 520: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 520: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 521: exception_declaration ::= type_specifier_seq
//
- case 521: { action.builder.
- consumeDeclarationSimple(false); break;
+ case 521: { action. consumeDeclarationSimple(false); break;
}
-
+
//
// Rule 523: exception_specification ::= throw ( )
//
- case 523: { action.builder.
- consumePlaceHolder(); break;
+ case 523: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 529: no_cast_start ::= ERROR_TOKEN
//
- case 529: { action.builder.
- consumeExpressionProblem(); break;
+ case 529: { action. consumeExpressionProblem(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java
index 1860e7eb537..249c80badd6 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java
index 49403283abc..377a3cd62e9 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java
index c7b9cf4edf7..2d90ef398ec 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
@@ -16,11 +16,7 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
import lpg.lpgjavaruntime.*;
import java.util.*;
-
import org.eclipse.cdt.core.dom.ast.*;
-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.IParser;
import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
@@ -28,7 +24,11 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
-public class CPPNoFunctionDeclaratorParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+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;
+
+public class CPPNoFunctionDeclaratorParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
private static ParseTable prs = new CPPNoFunctionDeclaratorParserprs();
private FixedBacktrackingParser btParser;
@@ -165,28 +165,19 @@ public class CPPNoFunctionDeclaratorParser extends PrsStream implements RuleActi
}
-private CPPParserAction action;
+private CPPBuildASTParserAction action;
-// uncomment to use with backtracking parser
public CPPNoFunctionDeclaratorParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- // binding resolution actions need access to IASTName nodes, temporary
- action = new CPPParserAction ();
- //action.resolver = new C99TypedefTrackerParserAction (this);
- action.builder = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu);
- //action.builder.setTokenMap(CPPParsersym.orderedTerminalSymbols);
-
- action.builder.setParserOptions(options);
-
- // comment this line to use with backtracking parser
- //setParserAction(action);
+ action = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu);
+ action.setParserOptions(options);
}
public void addToken(IToken token) {
- token.setKind(mapKind(token.getKind()));
+ token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called?
super.addToken(token);
}
@@ -196,37 +187,35 @@ public IASTCompletionNode parse(IASTTranslationUnit tu, Set<IParser.Options> opt
setStreamLength(getSize());
initActions(tu, options);
- final int errorRepairCount = -1; // _1 means full error handling
+ final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
super.resetTokenStream(); // allow tokens to be garbage collected
// the completion node may be null
- IASTCompletionNode compNode = action.builder.getASTCompletionNode();
+ IASTCompletionNode compNode = action.getASTCompletionNode();
- //action = null; // causes getSecondaryParseResult() to fail
-
- // Comment this line to use with backtracking parser
+ //action = null;
//parserAction = null;
-
return compNode;
}
-
// uncomment this method to use with backtracking parser
public List getRuleTokens() {
return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
}
+
public IASTNode getSecondaryParseResult() {
- return action.builder.getSecondaryParseResult();
+ return action.getSecondaryParseResult();
}
public String[] getOrderedTerminalSymbols() {
return CPPNoFunctionDeclaratorParsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "CPPNoFunctionDeclaratorParser"; //$NON-NLS-1$
+ return "CPPNoFunctionDeclaratorParser";
}
@@ -257,2017 +246,1729 @@ public CPPNoFunctionDeclaratorParser(String[] mapFrom) { // constructor
//
// Rule 1: <openscope-ast> ::= $Empty
//
- case 1: { action.builder.
- openASTScope(); break;
- }
+ case 1: { action. openASTScope(); break;
+ }
//
// Rule 2: <empty> ::= $Empty
//
- case 2: { action.builder.
- consumeEmpty(); break;
- }
-
+ case 2: { action. consumeEmpty(); break;
+ }
+
//
// Rule 13: translation_unit ::= declaration_seq_opt
//
- case 13: { action.builder.
- consumeTranslationUnit(); break;
+ case 13: { action. consumeTranslationUnit(); break;
}
-
+
//
// Rule 16: literal ::= integer
//
- case 16: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 16: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
}
-
+
//
// Rule 17: literal ::= 0
//
- case 17: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
}
-
+
//
// Rule 18: literal ::= floating
//
- case 18: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
}
-
+
//
// Rule 19: literal ::= charconst
//
- case 19: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
}
-
+
//
// Rule 20: literal ::= stringlit
//
- case 20: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
}
-
+
//
// Rule 21: literal ::= true
//
- case 21: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
}
-
+
//
// Rule 22: literal ::= false
//
- case 22: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
}
-
+
//
// Rule 23: literal ::= this
//
- case 23: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ case 23: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
}
-
+
//
// Rule 25: primary_expression ::= ( expression )
//
- case 25: { action.builder.
- consumeExpressionBracketed(); break;
+ case 25: { action. consumeExpressionBracketed(); break;
}
-
+
//
// Rule 27: id_expression ::= qualified_or_unqualified_name
//
- case 27: { action.builder.
- consumeExpressionName(); break;
+ case 27: { action. consumeExpressionName(); break;
}
-
+
//
// Rule 34: unqualified_id_name ::= ~ identifier_token
//
- case 34: { action.builder.
- consumeDestructorName(); break;
+ case 34: { action. consumeDestructorName(); break;
}
-
+
//
// Rule 35: unqualified_id_name ::= ~ template_id_name
//
- case 35: { action.builder.
- consumeDestructorNameTemplateId(); break;
+ case 35: { action. consumeDestructorNameTemplateId(); break;
}
-
+
//
// Rule 36: identifier_name ::= identifier_token
//
- case 36: { action.builder.
- consumeIdentifierName(); break;
+ case 36: { action. consumeIdentifierName(); break;
}
-
+
//
// Rule 37: template_opt ::= template
//
- case 37: { action.builder.
- consumePlaceHolder(); break;
+ case 37: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 38: template_opt ::= $Empty
//
- case 38: { action.builder.
- consumeEmpty(); break;
+ case 38: { action. consumeEmpty(); break;
}
-
+
//
// Rule 39: dcolon_opt ::= ::
//
- case 39: { action.builder.
- consumeToken(); break;
+ case 39: { action. consumeToken(); break;
}
-
+
//
// Rule 40: dcolon_opt ::= $Empty
//
- case 40: { action.builder.
- consumeEmpty(); break;
+ case 40: { action. consumeEmpty(); break;
}
-
+
//
// Rule 41: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
- case 41: { action.builder.
- consumeQualifiedId(true); break;
+ case 41: { action. consumeQualifiedId(true); break;
}
-
+
//
// Rule 42: qualified_id_name ::= :: unqualified_id_name
//
- case 42: { action.builder.
- consumeGlobalQualifiedId(); break;
+ case 42: { action. consumeGlobalQualifiedId(); break;
}
-
+
//
// Rule 43: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
- case 43: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ case 43: { action. consumeNestedNameSpecifier(true); break;
}
-
+
//
// Rule 44: nested_name_specifier ::= class_or_namespace_name ::
//
- case 44: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ case 44: { action. consumeNestedNameSpecifier(false); break;
}
-
+
//
// Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
- case 45: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ case 45: { action. consumeNestedNameSpecifier(true); break;
}
-
+
//
// Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
- case 46: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ case 46: { action. consumeNestedNameSpecifier(false); break;
}
-
+
//
// Rule 47: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 47: { action.builder.
- consumeNameWithTemplateKeyword(); break;
+ case 47: { action. consumeNameWithTemplateKeyword(); break;
}
-
+
//
// Rule 49: nested_name_specifier_opt ::= $Empty
//
- case 49: { action.builder.
- consumeNestedNameSpecifierEmpty(); break;
+ case 49: { action. consumeNestedNameSpecifierEmpty(); break;
}
-
+
//
// Rule 52: postfix_expression ::= postfix_expression [ expression ]
//
- case 52: { action.builder.
- consumeExpressionArraySubscript(); break;
+ case 52: { action. consumeExpressionArraySubscript(); break;
}
-
+
//
// Rule 53: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 53: { action.builder.
- consumeExpressionFunctionCall(); break;
+ case 53: { action. consumeExpressionFunctionCall(); break;
}
-
+
//
// Rule 54: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
- case 54: { action.builder.
- consumeExpressionSimpleTypeConstructor(); break;
+ case 54: { action. consumeExpressionSimpleTypeConstructor(); break;
}
-
+
//
// Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
- case 55: { action.builder.
- consumeExpressionTypeName(); break;
+ case 55: { action. consumeExpressionTypeName(); break;
}
-
+
//
// Rule 56: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
- case 56: { action.builder.
- consumeExpressionTypeName(); break;
+ case 56: { action. consumeExpressionTypeName(); break;
}
-
+
//
// Rule 57: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
- case 57: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ case 57: { action. consumeExpressionFieldReference(false, false); break;
}
-
+
//
// Rule 58: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
- case 58: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ case 58: { action. consumeExpressionFieldReference(true, false); break;
}
-
+
//
// Rule 59: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
- case 59: { action.builder.
- consumeExpressionFieldReference(false, true); break;
+ case 59: { action. consumeExpressionFieldReference(false, true); break;
}
-
+
//
// Rule 60: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
- case 60: { action.builder.
- consumeExpressionFieldReference(true, true); break;
+ case 60: { action. consumeExpressionFieldReference(true, true); break;
}
-
+
//
// Rule 61: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
- case 61: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ case 61: { action. consumeExpressionFieldReference(false, false); break;
}
-
+
//
// Rule 62: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
- case 62: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ case 62: { action. consumeExpressionFieldReference(true, false); break;
}
-
+
//
// Rule 63: postfix_expression ::= postfix_expression ++
//
- case 63: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
-
+
//
// Rule 64: postfix_expression ::= postfix_expression --
//
- case 64: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 64: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
-
+
//
// Rule 65: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
- case 65: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
-
+
//
// Rule 66: postfix_expression ::= static_cast < type_id > ( expression )
//
- case 66: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
-
+
//
// Rule 67: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
- case 67: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
-
+
//
// Rule 68: postfix_expression ::= const_cast < type_id > ( expression )
//
- case 68: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ case 68: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
-
+
//
// Rule 69: postfix_expression ::= typeid ( expression )
//
- case 69: { action.builder.
- consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ case 69: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
-
+
//
// Rule 70: postfix_expression ::= typeid ( type_id )
//
- case 70: { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ case 70: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
-
+
//
// Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
- case 71: { action.builder.
- consumePsudoDestructorName(true); break;
+ case 71: { action. consumePsudoDestructorName(true); break;
}
-
+
//
// Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
- case 72: { action.builder.
- consumePsudoDestructorName(true); break;
+ case 72: { action. consumePsudoDestructorName(true); break;
}
-
+
//
// Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
- case 73: { action.builder.
- consumePsudoDestructorName(false); break;
+ case 73: { action. consumePsudoDestructorName(false); break;
}
-
+
//
// Rule 74: destructor_type_name ::= ~ identifier_token
//
- case 74: { action.builder.
- consumeDestructorName(); break;
+ case 74: { action. consumeDestructorName(); break;
}
-
+
//
// Rule 75: destructor_type_name ::= ~ template_id_name
//
- case 75: { action.builder.
- consumeDestructorNameTemplateId(); break;
+ case 75: { action. consumeDestructorNameTemplateId(); break;
}
-
+
//
// Rule 79: unary_expression ::= ++ cast_expression
//
- case 79: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
-
+
//
// Rule 80: unary_expression ::= -- cast_expression
//
- case 80: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
-
+
//
// Rule 81: unary_expression ::= & cast_expression
//
- case 81: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
-
+
//
// Rule 82: unary_expression ::= * cast_expression
//
- case 82: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
-
+
//
// Rule 83: unary_expression ::= + cast_expression
//
- case 83: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
-
+
//
// Rule 84: unary_expression ::= - cast_expression
//
- case 84: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
-
+
//
// Rule 85: unary_expression ::= ~ cast_expression
//
- case 85: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
-
+
//
// Rule 86: unary_expression ::= ! cast_expression
//
- case 86: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
-
+
//
// Rule 87: unary_expression ::= sizeof unary_expression
//
- case 87: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 87: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
-
+
//
// Rule 88: unary_expression ::= sizeof ( type_id )
//
- case 88: { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
+ case 88: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
-
+
//
// Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 89: { action.builder.
- consumeExpressionNew(true); break;
+ case 89: { action. consumeExpressionNew(true); break;
}
-
+
//
// Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 90: { action.builder.
- consumeExpressionNew(false); break;
+ case 90: { action. consumeExpressionNew(false); break;
}
-
+
//
// Rule 92: new_placement_opt ::= $Empty
//
- case 92: { action.builder.
- consumeEmpty(); break;
+ case 92: { action. consumeEmpty(); break;
}
-
+
//
// Rule 93: new_type_id ::= type_specifier_seq
//
- case 93: { action.builder.
- consumeTypeId(false); break;
+ case 93: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 94: new_type_id ::= type_specifier_seq new_declarator
//
- case 94: { action.builder.
- consumeTypeId(true); break;
+ case 94: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 95: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 95: { action.builder.
- consumeNewDeclarator(); break;
+ case 95: { action. consumeNewDeclarator(); break;
}
-
+
//
// Rule 102: new_initializer ::= ( expression_list_opt )
//
- case 102: { action.builder.
- consumeNewInitializer(); break;
+ case 102: { action. consumeNewInitializer(); break;
}
-
+
//
// Rule 104: new_initializer_opt ::= $Empty
//
- case 104: { action.builder.
- consumeEmpty(); break;
+ case 104: { action. consumeEmpty(); break;
}
-
+
//
// Rule 105: delete_expression ::= dcolon_opt delete cast_expression
//
- case 105: { action.builder.
- consumeExpressionDelete(false); break;
+ case 105: { action. consumeExpressionDelete(false); break;
}
-
+
//
// Rule 106: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 106: { action.builder.
- consumeExpressionDelete(true); break;
+ case 106: { action. consumeExpressionDelete(true); break;
}
-
+
//
// Rule 108: cast_expression ::= ( type_id ) cast_expression
//
- case 108: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
+ case 108: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
}
-
+
//
// Rule 110: pm_expression ::= pm_expression .* cast_expression
//
- case 110: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
-
+
//
// Rule 111: pm_expression ::= pm_expression ->* cast_expression
//
- case 111: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
-
+
//
// Rule 113: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 113: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
-
+
//
// Rule 114: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 114: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
-
+
//
// Rule 115: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 115: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
-
+
//
// Rule 117: additive_expression ::= additive_expression + multiplicative_expression
//
- case 117: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
-
+
//
// Rule 118: additive_expression ::= additive_expression - multiplicative_expression
//
- case 118: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
-
+
//
// Rule 120: shift_expression ::= shift_expression << additive_expression
//
- case 120: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
-
+
//
// Rule 121: shift_expression ::= shift_expression >> additive_expression
//
- case 121: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
-
+
//
// Rule 123: relational_expression ::= relational_expression < shift_expression
//
- case 123: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
-
+
//
// Rule 124: relational_expression ::= relational_expression > shift_expression
//
- case 124: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
-
+
//
// Rule 125: relational_expression ::= relational_expression <= shift_expression
//
- case 125: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
-
+
//
// Rule 126: relational_expression ::= relational_expression >= shift_expression
//
- case 126: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
-
+
//
// Rule 128: equality_expression ::= equality_expression == relational_expression
//
- case 128: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
-
+
//
// Rule 129: equality_expression ::= equality_expression != relational_expression
//
- case 129: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ case 129: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
-
+
//
// Rule 131: and_expression ::= and_expression & equality_expression
//
- case 131: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ case 131: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
-
+
//
// Rule 133: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 133: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ case 133: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
-
+
//
// Rule 135: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 135: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ case 135: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
-
+
//
// Rule 137: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 137: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ case 137: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
-
+
//
// Rule 139: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 139: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ case 139: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
-
+
//
// Rule 141: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 141: { action.builder.
- consumeExpressionConditional(); break;
+ case 141: { action. consumeExpressionConditional(); break;
}
-
+
//
// Rule 142: throw_expression ::= throw
//
- case 142: { action.builder.
- consumeExpressionThrow(false); break;
+ case 142: { action. consumeExpressionThrow(false); break;
}
-
+
//
// Rule 143: throw_expression ::= throw assignment_expression
//
- case 143: { action.builder.
- consumeExpressionThrow(true); break;
+ case 143: { action. consumeExpressionThrow(true); break;
}
-
+
//
// Rule 146: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 146: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
-
+
//
// Rule 147: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 147: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
-
+
//
// Rule 148: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 148: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
-
+
//
// Rule 149: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 149: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
-
+
//
// Rule 150: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 150: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
-
+
//
// Rule 151: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 151: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
-
+
//
// Rule 152: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 152: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
-
+
//
// Rule 153: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 153: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
-
+
//
// Rule 154: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 154: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
-
+
//
// Rule 155: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 155: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
-
+
//
// Rule 156: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 156: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ case 156: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
-
+
//
// Rule 158: expression_list ::= <openscope-ast> expression_list_actual
//
- case 158: { action.builder.
- consumeExpressionList(); break;
+ case 158: { action. consumeExpressionList(); break;
}
-
+
//
// Rule 162: expression_list_opt ::= $Empty
//
- case 162: { action.builder.
- consumeEmpty(); break;
+ case 162: { action. consumeEmpty(); break;
}
-
+
//
// Rule 164: expression_opt ::= $Empty
//
- case 164: { action.builder.
- consumeEmpty(); break;
+ case 164: { action. consumeEmpty(); break;
}
-
+
//
// Rule 167: constant_expression_opt ::= $Empty
//
- case 167: { action.builder.
- consumeEmpty(); break;
+ case 167: { action. consumeEmpty(); break;
}
-
+
//
// Rule 176: statement ::= ERROR_TOKEN
//
- case 176: { action.builder.
- consumeStatementProblem(); break;
+ case 176: { action. consumeStatementProblem(); break;
}
-
+
//
// Rule 177: labeled_statement ::= identifier : statement
//
- case 177: { action.builder.
- consumeStatementLabeled(); break;
+ case 177: { action. consumeStatementLabeled(); break;
}
-
+
//
// Rule 178: labeled_statement ::= case constant_expression : statement
//
- case 178: { action.builder.
- consumeStatementCase(); break;
+ case 178: { action. consumeStatementCase(); break;
}
-
+
//
// Rule 179: labeled_statement ::= default : statement
//
- case 179: { action.builder.
- consumeStatementDefault(); break;
+ case 179: { action. consumeStatementDefault(); break;
}
-
+
//
// Rule 180: expression_statement ::= expression ;
//
- case 180: { action.builder.
- consumeStatementExpression(); break;
+ case 180: { action. consumeStatementExpression(); break;
}
-
+
//
// Rule 181: expression_statement ::= ;
//
- case 181: { action.builder.
- consumeStatementNull(); break;
+ case 181: { action. consumeStatementNull(); break;
}
-
+
//
// Rule 182: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 182: { action.builder.
- consumeStatementCompoundStatement(true); break;
+ case 182: { action. consumeStatementCompoundStatement(true); break;
}
-
+
//
// Rule 183: compound_statement ::= { }
//
- case 183: { action.builder.
- consumeStatementCompoundStatement(false); break;
+ case 183: { action. consumeStatementCompoundStatement(false); break;
}
-
+
//
// Rule 186: selection_statement ::= if ( condition ) statement
//
- case 186: { action.builder.
- consumeStatementIf(false); break;
+ case 186: { action. consumeStatementIf(false); break;
}
-
+
//
// Rule 187: selection_statement ::= if ( condition ) statement else statement
//
- case 187: { action.builder.
- consumeStatementIf(true); break;
+ case 187: { action. consumeStatementIf(true); break;
}
-
+
//
// Rule 188: selection_statement ::= switch ( condition ) statement
//
- case 188: { action.builder.
- consumeStatementSwitch(); break;
+ case 188: { action. consumeStatementSwitch(); break;
}
-
+
//
// Rule 190: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 190: { action.builder.
- consumeConditionDeclaration(); break;
+ case 190: { action. consumeConditionDeclaration(); break;
}
-
+
//
// Rule 192: condition_opt ::= $Empty
//
- case 192: { action.builder.
- consumeEmpty(); break;
+ case 192: { action. consumeEmpty(); break;
}
-
+
//
// Rule 193: iteration_statement ::= while ( condition ) statement
//
- case 193: { action.builder.
- consumeStatementWhileLoop(); break;
+ case 193: { action. consumeStatementWhileLoop(); break;
}
-
+
//
// Rule 194: iteration_statement ::= do statement while ( expression ) ;
//
- case 194: { action.builder.
- consumeStatementDoLoop(); break;
+ case 194: { action. consumeStatementDoLoop(); break;
}
-
+
//
// Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 195: { action.builder.
- consumeStatementForLoop(); break;
+ case 195: { action. consumeStatementForLoop(); break;
}
-
+
//
// Rule 197: for_init_statement ::= simple_declaration_with_declspec
//
- case 197: { action.builder.
- consumeStatementDeclaration(); break;
+ case 197: { action. consumeStatementDeclaration(); break;
}
-
+
//
// Rule 198: jump_statement ::= break ;
//
- case 198: { action.builder.
- consumeStatementBreak(); break;
+ case 198: { action. consumeStatementBreak(); break;
}
-
+
//
// Rule 199: jump_statement ::= continue ;
//
- case 199: { action.builder.
- consumeStatementContinue(); break;
+ case 199: { action. consumeStatementContinue(); break;
}
-
+
//
// Rule 200: jump_statement ::= return expression ;
//
- case 200: { action.builder.
- consumeStatementReturn(true); break;
+ case 200: { action. consumeStatementReturn(true); break;
}
-
+
//
// Rule 201: jump_statement ::= return ;
//
- case 201: { action.builder.
- consumeStatementReturn(false); break;
+ case 201: { action. consumeStatementReturn(false); break;
}
-
+
//
// Rule 202: jump_statement ::= goto identifier_token ;
//
- case 202: { action.builder.
- consumeStatementGoto(); break;
+ case 202: { action. consumeStatementGoto(); break;
}
-
+
//
// Rule 203: declaration_statement ::= block_declaration
//
- case 203: { action.builder.
- consumeStatementDeclarationWithDisambiguation(); break;
+ case 203: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
-
+
//
// Rule 204: declaration_statement ::= function_definition
//
- case 204: { action.builder.
- consumeStatementDeclaration(); break;
+ case 204: { action. consumeStatementDeclaration(); break;
}
-
+
//
// Rule 212: declaration ::= ERROR_TOKEN
//
- case 212: { action.builder.
- consumeDeclarationProblem(); break;
+ case 212: { action. consumeDeclarationProblem(); break;
}
-
+
//
// Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 222: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 222: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
- case 223: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 223: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 224: { action.builder.
- consumeDeclarationSpecifiersSimple(); break;
+ case 224: { action. consumeDeclarationSpecifiersSimple(); break;
}
-
+
//
// Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 225: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
- case 226: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 226: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 227: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 227: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 228: { action.builder.
- consumeDeclarationSpecifiersTypeName(); break;
+ case 228: { action. consumeDeclarationSpecifiersTypeName(); break;
}
-
+
//
// Rule 230: declaration_specifiers_opt ::= $Empty
//
- case 230: { action.builder.
- consumeEmpty(); break;
+ case 230: { action. consumeEmpty(); break;
}
-
+
//
// Rule 234: no_type_declaration_specifier ::= friend
//
- case 234: { action.builder.
- consumeDeclSpecToken(); break;
+ case 234: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 235: no_type_declaration_specifier ::= typedef
//
- case 235: { action.builder.
- consumeDeclSpecToken(); break;
+ case 235: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 255: storage_class_specifier ::= auto
//
- case 255: { action.builder.
- consumeDeclSpecToken(); break;
+ case 255: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 256: storage_class_specifier ::= register
//
- case 256: { action.builder.
- consumeDeclSpecToken(); break;
+ case 256: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 257: storage_class_specifier ::= static
//
- case 257: { action.builder.
- consumeDeclSpecToken(); break;
+ case 257: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 258: storage_class_specifier ::= extern
//
- case 258: { action.builder.
- consumeDeclSpecToken(); break;
+ case 258: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 259: storage_class_specifier ::= mutable
//
- case 259: { action.builder.
- consumeDeclSpecToken(); break;
+ case 259: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 260: function_specifier ::= inline
//
- case 260: { action.builder.
- consumeDeclSpecToken(); break;
+ case 260: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 261: function_specifier ::= virtual
//
- case 261: { action.builder.
- consumeDeclSpecToken(); break;
+ case 261: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 262: function_specifier ::= explicit
//
- case 262: { action.builder.
- consumeDeclSpecToken(); break;
+ case 262: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 263: simple_type_specifier ::= char
//
- case 263: { action.builder.
- consumeDeclSpecToken(); break;
+ case 263: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 264: simple_type_specifier ::= wchar_t
//
- case 264: { action.builder.
- consumeDeclSpecToken(); break;
+ case 264: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 265: simple_type_specifier ::= bool
//
- case 265: { action.builder.
- consumeDeclSpecToken(); break;
+ case 265: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 266: simple_type_specifier ::= short
//
- case 266: { action.builder.
- consumeDeclSpecToken(); break;
+ case 266: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 267: simple_type_specifier ::= int
//
- case 267: { action.builder.
- consumeDeclSpecToken(); break;
+ case 267: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 268: simple_type_specifier ::= long
//
- case 268: { action.builder.
- consumeDeclSpecToken(); break;
+ case 268: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 269: simple_type_specifier ::= signed
//
- case 269: { action.builder.
- consumeDeclSpecToken(); break;
+ case 269: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 270: simple_type_specifier ::= unsigned
//
- case 270: { action.builder.
- consumeDeclSpecToken(); break;
+ case 270: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 271: simple_type_specifier ::= float
//
- case 271: { action.builder.
- consumeDeclSpecToken(); break;
+ case 271: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 272: simple_type_specifier ::= double
//
- case 272: { action.builder.
- consumeDeclSpecToken(); break;
+ case 272: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 273: simple_type_specifier ::= void
//
- case 273: { action.builder.
- consumeDeclSpecToken(); break;
+ case 273: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 276: { action.builder.
- consumeQualifiedId(false); break;
+ case 276: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
- case 277: { action.builder.
- consumeQualifiedId(false); break;
+ case 277: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
- case 278: { action.builder.
- consumeQualifiedId(false); break;
+ case 278: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 279: { action.builder.
- consumeQualifiedId(true); break;
+ case 279: { action. consumeQualifiedId(true); break;
}
-
+
//
// Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
//
- case 281: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ case 281: { action. consumeTypeSpecifierElaborated(false); break;
}
-
+
//
// Rule 282: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 282: { action.builder.
- consumeTypeSpecifierElaborated(true); break;
+ case 282: { action. consumeTypeSpecifierElaborated(true); break;
}
-
+
//
// Rule 283: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
//
- case 283: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ case 283: { action. consumeTypeSpecifierElaborated(false); break;
}
-
+
//
// Rule 284: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
//
- case 284: { action.builder.
- consumeTypeSpecifierEnumeration(false); break;
+ case 284: { action. consumeTypeSpecifierEnumeration(false); break;
}
-
+
//
// Rule 285: enum_specifier ::= enum identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 285: { action.builder.
- consumeTypeSpecifierEnumeration(true); break;
+ case 285: { action. consumeTypeSpecifierEnumeration(true); break;
}
-
+
//
// Rule 290: enumerator_definition ::= identifier_token
//
- case 290: { action.builder.
- consumeEnumerator(false); break;
+ case 290: { action. consumeEnumerator(false); break;
}
-
+
//
// Rule 291: enumerator_definition ::= identifier_token = constant_expression
//
- case 291: { action.builder.
- consumeEnumerator(true); break;
+ case 291: { action. consumeEnumerator(true); break;
}
-
+
//
// Rule 295: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 295: { action.builder.
- consumeNamespaceDefinition(true); break;
+ case 295: { action. consumeNamespaceDefinition(true); break;
}
-
+
//
// Rule 296: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 296: { action.builder.
- consumeNamespaceDefinition(false); break;
+ case 296: { action. consumeNamespaceDefinition(false); break;
}
-
+
//
// Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 297: { action.builder.
- consumeNamespaceAliasDefinition(); break;
+ case 297: { action. consumeNamespaceAliasDefinition(); break;
}
-
+
//
// Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 298: { action.builder.
- consumeUsingDeclaration(); break;
+ case 298: { action. consumeUsingDeclaration(); break;
}
-
+
//
// Rule 299: typename_opt ::= typename
//
- case 299: { action.builder.
- consumePlaceHolder(); break;
+ case 299: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 300: typename_opt ::= $Empty
//
- case 300: { action.builder.
- consumeEmpty(); break;
+ case 300: { action. consumeEmpty(); break;
}
-
+
//
// Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 301: { action.builder.
- consumeUsingDirective(); break;
+ case 301: { action. consumeUsingDirective(); break;
}
-
+
//
// Rule 302: asm_definition ::= asm ( stringlit ) ;
//
- case 302: { action.builder.
- consumeDeclarationASM(); break;
+ case 302: { action. consumeDeclarationASM(); break;
}
-
+
//
// Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 303: { action.builder.
- consumeLinkageSpecification(); break;
+ case 303: { action. consumeLinkageSpecification(); break;
}
-
+
//
// Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
- case 304: { action.builder.
- consumeLinkageSpecification(); break;
+ case 304: { action. consumeLinkageSpecification(); break;
}
-
+
//
// Rule 310: init_declarator ::= declarator initializer
//
- case 310: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 310: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 312: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 312: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 312: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 314: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 314: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 314: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 317: basic_direct_declarator ::= declarator_id_name
//
- case 317: { action.builder.
- consumeDirectDeclaratorIdentifier(); break;
+ case 317: { action. consumeDirectDeclaratorIdentifier(); break;
}
-
+
//
// Rule 318: basic_direct_declarator ::= ( declarator )
//
- case 318: { action.builder.
- consumeDirectDeclaratorBracketed(); break;
+ case 318: { action. consumeDirectDeclaratorBracketed(); break;
}
-
+
//
// Rule 319: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 319: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 319: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
-
+
//
// Rule 320: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 320: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 320: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 321: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 321: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 321: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 322: array_modifier ::= [ constant_expression ]
//
- case 322: { action.builder.
- consumeDirectDeclaratorArrayModifier(true); break;
+ case 322: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
-
+
//
// Rule 323: array_modifier ::= [ ]
//
- case 323: { action.builder.
- consumeDirectDeclaratorArrayModifier(false); break;
+ case 323: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
-
+
//
// Rule 324: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
//
- case 324: { action.builder.
- consumePointer(); break;
+ case 324: { action. consumePointer(); break;
}
-
+
//
// Rule 325: ptr_operator ::= &
//
- case 325: { action.builder.
- consumeReferenceOperator(); break;
+ case 325: { action. consumeReferenceOperator(); break;
}
-
+
//
// Rule 326: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
//
- case 326: { action.builder.
- consumePointerToMember(); break;
+ case 326: { action. consumePointerToMember(); break;
}
-
+
//
// Rule 332: cv_qualifier ::= const
//
- case 332: { action.builder.
- consumeDeclSpecToken(); break;
+ case 332: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 333: cv_qualifier ::= volatile
//
- case 333: { action.builder.
- consumeDeclSpecToken(); break;
+ case 333: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 335: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 335: { action.builder.
- consumeQualifiedId(false); break;
+ case 335: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 336: type_id ::= type_specifier_seq
//
- case 336: { action.builder.
- consumeTypeId(false); break;
+ case 336: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 337: type_id ::= type_specifier_seq abstract_declarator
//
- case 337: { action.builder.
- consumeTypeId(true); break;
+ case 337: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 340: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 340: { action.builder.
- consumeDeclaratorWithPointer(false); break;
+ case 340: { action. consumeDeclaratorWithPointer(false); break;
}
-
+
//
// Rule 341: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 341: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 341: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 345: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 345: { action.builder.
- consumeDirectDeclaratorBracketed(); break;
+ case 345: { action. consumeDirectDeclaratorBracketed(); break;
}
-
+
//
// Rule 346: basic_direct_abstract_declarator ::= ( )
//
- case 346: { action.builder.
- consumeAbstractDeclaratorEmpty(); break;
+ case 346: { action. consumeAbstractDeclaratorEmpty(); break;
}
-
+
//
// Rule 347: array_direct_abstract_declarator ::= array_modifier
//
- case 347: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 347: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
-
+
//
// Rule 348: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 348: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 348: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 349: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 349: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 349: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 350: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 350: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 350: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
-
+
//
// Rule 351: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 351: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 351: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
-
+
//
// Rule 352: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 352: { action.builder.
- consumePlaceHolder(); break;
+ case 352: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 353: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 353: { action.builder.
- consumeEmpty(); break;
+ case 353: { action. consumeEmpty(); break;
}
-
+
//
// Rule 354: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 354: { action.builder.
- consumePlaceHolder(); break;
+ case 354: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 360: abstract_declarator_opt ::= $Empty
//
- case 360: { action.builder.
- consumeEmpty(); break;
+ case 360: { action. consumeEmpty(); break;
}
-
+
//
// Rule 361: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 361: { action.builder.
- consumeParameterDeclaration(); break;
+ case 361: { action. consumeParameterDeclaration(); break;
}
-
+
//
// Rule 362: parameter_declaration ::= declaration_specifiers
//
- case 362: { action.builder.
- consumeParameterDeclarationWithoutDeclarator(); break;
+ case 362: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
-
+
//
// Rule 364: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 364: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 364: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 366: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 366: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 366: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 367: parameter_init_declarator ::= = parameter_initializer
//
- case 367: { action.builder.
- consumeDeclaratorWithInitializer(false); break;
+ case 367: { action. consumeDeclaratorWithInitializer(false); break;
}
-
+
//
// Rule 368: parameter_initializer ::= assignment_expression
//
- case 368: { action.builder.
- consumeInitializer(); break;
+ case 368: { action. consumeInitializer(); break;
}
-
+
//
// Rule 369: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 369: { action.builder.
- consumeFunctionDefinition(false); break;
+ case 369: { action. consumeFunctionDefinition(false); break;
}
-
+
//
// Rule 370: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 370: { action.builder.
- consumeFunctionDefinition(true); break;
+ case 370: { action. consumeFunctionDefinition(true); break;
}
-
+
//
// Rule 373: initializer ::= ( expression_list )
//
- case 373: { action.builder.
- consumeInitializerConstructor(); break;
+ case 373: { action. consumeInitializerConstructor(); break;
}
-
+
//
// Rule 374: initializer_clause ::= assignment_expression
//
- case 374: { action.builder.
- consumeInitializer(); break;
+ case 374: { action. consumeInitializer(); break;
}
-
+
//
// Rule 375: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 375: { action.builder.
- consumeInitializerList(); break;
+ case 375: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 376: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
- case 376: { action.builder.
- consumeInitializerList(); break;
+ case 376: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 377: initializer_clause ::= { <openscope-ast> }
//
- case 377: { action.builder.
- consumeInitializerList(); break;
+ case 377: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 378: start_initializer_list ::= $Empty
//
- case 378: { action.builder.
- initializerListStart(); break;
+ case 378: { action. initializerListStart(); break;
}
-
+
//
// Rule 379: end_initializer_list ::= $Empty
//
- case 379: { action.builder.
- initializerListEnd(); break;
+ case 379: { action. initializerListEnd(); break;
}
-
+
//
// Rule 384: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 384: { action.builder.
- consumeClassSpecifier(); break;
+ case 384: { action. consumeClassSpecifier(); break;
}
-
+
//
// Rule 385: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
//
- case 385: { action.builder.
- consumeClassHead(false); break;
+ case 385: { action. consumeClassHead(false); break;
}
-
+
//
// Rule 386: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt
//
- case 386: { action.builder.
- consumeClassHead(false); break;
+ case 386: { action. consumeClassHead(false); break;
}
-
+
//
// Rule 387: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
//
- case 387: { action.builder.
- consumeClassHead(true); break;
+ case 387: { action. consumeClassHead(true); break;
}
-
+
//
// Rule 388: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
//
- case 388: { action.builder.
- consumeClassHead(true); break;
+ case 388: { action. consumeClassHead(true); break;
}
-
+
//
// Rule 390: identifier_name_opt ::= $Empty
//
- case 390: { action.builder.
- consumeEmpty(); break;
+ case 390: { action. consumeEmpty(); break;
}
-
+
//
// Rule 394: visibility_label ::= access_specifier_keyword :
//
- case 394: { action.builder.
- consumeVisibilityLabel(); break;
+ case 394: { action. consumeVisibilityLabel(); break;
}
-
+
//
// Rule 395: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 395: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 395: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 396: member_declaration ::= declaration_specifiers_opt ;
//
- case 396: { action.builder.
- consumeDeclarationSimple(false); break;
+ case 396: { action. consumeDeclarationSimple(false); break;
}
-
+
//
// Rule 399: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 399: { action.builder.
- consumeMemberDeclarationQualifiedId(); break;
+ case 399: { action. consumeMemberDeclarationQualifiedId(); break;
}
-
+
//
// Rule 405: member_declaration ::= ERROR_TOKEN
//
- case 405: { action.builder.
- consumeDeclarationProblem(); break;
+ case 405: { action. consumeDeclarationProblem(); break;
}
-
+
//
// Rule 413: member_declarator ::= declarator constant_initializer
//
- case 413: { action.builder.
- consumeMemberDeclaratorWithInitializer(); break;
+ case 413: { action. consumeMemberDeclaratorWithInitializer(); break;
}
-
+
//
// Rule 414: member_declarator ::= bit_field_declarator : constant_expression
//
- case 414: { action.builder.
- consumeBitField(true); break;
+ case 414: { action. consumeBitField(true); break;
}
-
+
//
// Rule 415: member_declarator ::= : constant_expression
//
- case 415: { action.builder.
- consumeBitField(false); break;
+ case 415: { action. consumeBitField(false); break;
}
-
+
//
// Rule 416: bit_field_declarator ::= identifier_name
//
- case 416: { action.builder.
- consumeDirectDeclaratorIdentifier(); break;
+ case 416: { action. consumeDirectDeclaratorIdentifier(); break;
}
-
+
//
// Rule 417: constant_initializer ::= = constant_expression
//
- case 417: { action.builder.
- consumeInitializer(); break;
+ case 417: { action. consumeInitializer(); break;
}
-
+
//
// Rule 423: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 423: { action.builder.
- consumeBaseSpecifier(false, false); break;
+ case 423: { action. consumeBaseSpecifier(false, false); break;
}
-
+
//
// Rule 424: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 424: { action.builder.
- consumeBaseSpecifier(true, true); break;
+ case 424: { action. consumeBaseSpecifier(true, true); break;
}
-
+
//
// Rule 425: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
- case 425: { action.builder.
- consumeBaseSpecifier(true, true); break;
+ case 425: { action. consumeBaseSpecifier(true, true); break;
}
-
+
//
// Rule 426: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 426: { action.builder.
- consumeBaseSpecifier(true, false); break;
+ case 426: { action. consumeBaseSpecifier(true, false); break;
}
-
+
//
// Rule 427: access_specifier_keyword ::= private
//
- case 427: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 427: { action. consumeToken(); break;
}
-
+
//
// Rule 428: access_specifier_keyword ::= protected
//
- case 428: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 428: { action. consumeToken(); break;
}
-
+
//
// Rule 429: access_specifier_keyword ::= public
//
- case 429: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 429: { action. consumeToken(); break;
}
-
+
//
// Rule 431: access_specifier_keyword_opt ::= $Empty
//
- case 431: { action.builder.
- consumeEmpty(); break;
+ case 431: { action. consumeEmpty(); break;
}
-
+
//
// Rule 433: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 433: { action.builder.
- consumeTemplateId(); break;
+ case 433: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 434: conversion_function_id ::= operator conversion_type_id
//
- case 434: { action.builder.
- consumeConversionName(); break;
+ case 434: { action. consumeConversionName(); break;
}
-
+
//
// Rule 435: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 435: { action.builder.
- consumeTypeId(true); break;
+ case 435: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 436: conversion_type_id ::= type_specifier_seq
//
- case 436: { action.builder.
- consumeTypeId(false); break;
+ case 436: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 437: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 437: { action.builder.
- consumeDeclaratorWithPointer(false); break;
+ case 437: { action. consumeDeclaratorWithPointer(false); break;
}
-
+
//
// Rule 443: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 443: { action.builder.
- consumeConstructorChainInitializer(); break;
+ case 443: { action. consumeConstructorChainInitializer(); break;
}
-
+
//
// Rule 444: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 444: { action.builder.
- consumeQualifiedId(false); break;
+ case 444: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 447: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 447: { action.builder.
- consumeTemplateId(); break;
+ case 447: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 448: operator_id_name ::= operator overloadable_operator
//
- case 448: { action.builder.
- consumeOperatorName(); break;
+ case 448: { action. consumeOperatorName(); break;
}
-
+
//
// Rule 491: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 491: { action.builder.
- consumeTemplateDeclaration(); break;
+ case 491: { action. consumeTemplateDeclaration(); break;
}
-
+
//
// Rule 492: export_opt ::= export
//
- case 492: { action.builder.
- consumePlaceHolder(); break;
+ case 492: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 493: export_opt ::= $Empty
//
- case 493: { action.builder.
- consumeEmpty(); break;
+ case 493: { action. consumeEmpty(); break;
}
-
+
//
// Rule 497: template_parameter ::= parameter_declaration
//
- case 497: { action.builder.
- consumeTemplateParamterDeclaration(); break;
+ case 497: { action. consumeTemplateParamterDeclaration(); break;
}
-
+
//
// Rule 498: type_parameter ::= class identifier_name_opt
//
- case 498: { action.builder.
- consumeSimpleTypeTemplateParameter(false); break;
+ case 498: { action. consumeSimpleTypeTemplateParameter(false); break;
}
-
+
//
// Rule 499: type_parameter ::= class identifier_name_opt = type_id
//
- case 499: { action.builder.
- consumeSimpleTypeTemplateParameter(true); break;
+ case 499: { action. consumeSimpleTypeTemplateParameter(true); break;
}
-
+
//
// Rule 500: type_parameter ::= typename identifier_name_opt
//
- case 500: { action.builder.
- consumeSimpleTypeTemplateParameter(false); break;
+ case 500: { action. consumeSimpleTypeTemplateParameter(false); break;
}
-
+
//
// Rule 501: type_parameter ::= typename identifier_name_opt = type_id
//
- case 501: { action.builder.
- consumeSimpleTypeTemplateParameter(true); break;
+ case 501: { action. consumeSimpleTypeTemplateParameter(true); break;
}
-
+
//
// Rule 502: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 502: { action.builder.
- consumeTemplatedTypeTemplateParameter(false); break;
+ case 502: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
-
+
//
// Rule 503: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 503: { action.builder.
- consumeTemplatedTypeTemplateParameter(true); break;
+ case 503: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
-
+
//
// Rule 504: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 504: { action.builder.
- consumeTemplateId(); break;
+ case 504: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 509: template_argument ::= assignment_expression
//
- case 509: { action.builder.
- consumeTemplateArgumentExpression(); break;
+ case 509: { action. consumeTemplateArgumentExpression(); break;
}
-
+
//
// Rule 510: template_argument ::= type_id
//
- case 510: { action.builder.
- consumeTemplateArgumentTypeId(); break;
+ case 510: { action. consumeTemplateArgumentTypeId(); break;
}
-
+
//
// Rule 511: explicit_instantiation ::= template declaration
//
- case 511: { action.builder.
- consumeTemplateExplicitInstantiation(); break;
+ case 511: { action. consumeTemplateExplicitInstantiation(); break;
}
-
+
//
// Rule 512: explicit_specialization ::= template < > declaration
//
- case 512: { action.builder.
- consumeTemplateExplicitSpecialization(); break;
+ case 512: { action. consumeTemplateExplicitSpecialization(); break;
}
-
+
//
// Rule 513: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 513: { action.builder.
- consumeStatementTryBlock(); break;
+ case 513: { action. consumeStatementTryBlock(); break;
}
-
+
//
// Rule 516: handler ::= catch ( exception_declaration ) compound_statement
//
- case 516: { action.builder.
- consumeStatementCatchHandler(false); break;
+ case 516: { action. consumeStatementCatchHandler(false); break;
}
-
+
//
// Rule 517: handler ::= catch ( ... ) compound_statement
//
- case 517: { action.builder.
- consumeStatementCatchHandler(true); break;
+ case 517: { action. consumeStatementCatchHandler(true); break;
}
-
+
//
// Rule 518: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 518: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 518: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 519: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
- case 519: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 519: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 520: exception_declaration ::= type_specifier_seq
//
- case 520: { action.builder.
- consumeDeclarationSimple(false); break;
+ case 520: { action. consumeDeclarationSimple(false); break;
}
-
+
//
// Rule 522: exception_specification ::= throw ( )
//
- case 522: { action.builder.
- consumePlaceHolder(); break;
+ case 522: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 528: no_function_declarator_start ::= ERROR_TOKEN
//
- case 528: { action.builder.
- consumeDeclarationProblem(); break;
+ case 528: { action. consumeDeclarationProblem(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java
index 81c979d2755..fa01ed96b41 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java
index 1ca1cdabe3e..b90bfd4c0d6 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java
index 3a8f3ed34db..e22bcd9cdde 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
@@ -16,11 +16,7 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
import lpg.lpgjavaruntime.*;
import java.util.*;
-
import org.eclipse.cdt.core.dom.ast.*;
-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.IParser;
import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
@@ -28,7 +24,11 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
-public class CPPParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+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;
+
+public class CPPParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
private static ParseTable prs = new CPPParserprs();
private FixedBacktrackingParser btParser;
@@ -165,28 +165,19 @@ public class CPPParser extends PrsStream implements RuleAction , IParserActionTo
}
-private CPPParserAction action;
+private CPPBuildASTParserAction action;
-// uncomment to use with backtracking parser
public CPPParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- // binding resolution actions need access to IASTName nodes, temporary
- action = new CPPParserAction ();
- //action.resolver = new C99TypedefTrackerParserAction (this);
- action.builder = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu);
- //action.builder.setTokenMap(CPPParsersym.orderedTerminalSymbols);
-
- action.builder.setParserOptions(options);
-
- // comment this line to use with backtracking parser
- //setParserAction(action);
+ action = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu);
+ action.setParserOptions(options);
}
public void addToken(IToken token) {
- token.setKind(mapKind(token.getKind()));
+ token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called?
super.addToken(token);
}
@@ -196,37 +187,35 @@ public IASTCompletionNode parse(IASTTranslationUnit tu, Set<IParser.Options> opt
setStreamLength(getSize());
initActions(tu, options);
- final int errorRepairCount = -1; // _1 means full error handling
+ final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
super.resetTokenStream(); // allow tokens to be garbage collected
// the completion node may be null
- IASTCompletionNode compNode = action.builder.getASTCompletionNode();
+ IASTCompletionNode compNode = action.getASTCompletionNode();
- //action = null; // causes getSecondaryParseResult() to fail
-
- // Comment this line to use with backtracking parser
+ //action = null;
//parserAction = null;
-
return compNode;
}
-
// uncomment this method to use with backtracking parser
public List getRuleTokens() {
return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
}
+
public IASTNode getSecondaryParseResult() {
- return action.builder.getSecondaryParseResult();
+ return action.getSecondaryParseResult();
}
public String[] getOrderedTerminalSymbols() {
return CPPParsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "CPPParser"; //$NON-NLS-1$
+ return "CPPParser";
}
@@ -257,2017 +246,1729 @@ public CPPParser(String[] mapFrom) { // constructor
//
// Rule 1: <openscope-ast> ::= $Empty
//
- case 1: { action.builder.
- openASTScope(); break;
- }
+ case 1: { action. openASTScope(); break;
+ }
//
// Rule 2: <empty> ::= $Empty
//
- case 2: { action.builder.
- consumeEmpty(); break;
- }
-
+ case 2: { action. consumeEmpty(); break;
+ }
+
//
// Rule 13: translation_unit ::= declaration_seq_opt
//
- case 13: { action.builder.
- consumeTranslationUnit(); break;
+ case 13: { action. consumeTranslationUnit(); break;
}
-
+
//
// Rule 16: literal ::= integer
//
- case 16: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 16: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
}
-
+
//
// Rule 17: literal ::= 0
//
- case 17: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
}
-
+
//
// Rule 18: literal ::= floating
//
- case 18: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
}
-
+
//
// Rule 19: literal ::= charconst
//
- case 19: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
}
-
+
//
// Rule 20: literal ::= stringlit
//
- case 20: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
}
-
+
//
// Rule 21: literal ::= true
//
- case 21: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
}
-
+
//
// Rule 22: literal ::= false
//
- case 22: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
}
-
+
//
// Rule 23: literal ::= this
//
- case 23: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ case 23: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
}
-
+
//
// Rule 25: primary_expression ::= ( expression )
//
- case 25: { action.builder.
- consumeExpressionBracketed(); break;
+ case 25: { action. consumeExpressionBracketed(); break;
}
-
+
//
// Rule 27: id_expression ::= qualified_or_unqualified_name
//
- case 27: { action.builder.
- consumeExpressionName(); break;
+ case 27: { action. consumeExpressionName(); break;
}
-
+
//
// Rule 34: unqualified_id_name ::= ~ identifier_token
//
- case 34: { action.builder.
- consumeDestructorName(); break;
+ case 34: { action. consumeDestructorName(); break;
}
-
+
//
// Rule 35: unqualified_id_name ::= ~ template_id_name
//
- case 35: { action.builder.
- consumeDestructorNameTemplateId(); break;
+ case 35: { action. consumeDestructorNameTemplateId(); break;
}
-
+
//
// Rule 36: identifier_name ::= identifier_token
//
- case 36: { action.builder.
- consumeIdentifierName(); break;
+ case 36: { action. consumeIdentifierName(); break;
}
-
+
//
// Rule 37: template_opt ::= template
//
- case 37: { action.builder.
- consumePlaceHolder(); break;
+ case 37: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 38: template_opt ::= $Empty
//
- case 38: { action.builder.
- consumeEmpty(); break;
+ case 38: { action. consumeEmpty(); break;
}
-
+
//
// Rule 39: dcolon_opt ::= ::
//
- case 39: { action.builder.
- consumeToken(); break;
+ case 39: { action. consumeToken(); break;
}
-
+
//
// Rule 40: dcolon_opt ::= $Empty
//
- case 40: { action.builder.
- consumeEmpty(); break;
+ case 40: { action. consumeEmpty(); break;
}
-
+
//
// Rule 41: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
- case 41: { action.builder.
- consumeQualifiedId(true); break;
+ case 41: { action. consumeQualifiedId(true); break;
}
-
+
//
// Rule 42: qualified_id_name ::= :: unqualified_id_name
//
- case 42: { action.builder.
- consumeGlobalQualifiedId(); break;
+ case 42: { action. consumeGlobalQualifiedId(); break;
}
-
+
//
// Rule 43: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
- case 43: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ case 43: { action. consumeNestedNameSpecifier(true); break;
}
-
+
//
// Rule 44: nested_name_specifier ::= class_or_namespace_name ::
//
- case 44: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ case 44: { action. consumeNestedNameSpecifier(false); break;
}
-
+
//
// Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
- case 45: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ case 45: { action. consumeNestedNameSpecifier(true); break;
}
-
+
//
// Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
- case 46: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ case 46: { action. consumeNestedNameSpecifier(false); break;
}
-
+
//
// Rule 47: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 47: { action.builder.
- consumeNameWithTemplateKeyword(); break;
+ case 47: { action. consumeNameWithTemplateKeyword(); break;
}
-
+
//
// Rule 49: nested_name_specifier_opt ::= $Empty
//
- case 49: { action.builder.
- consumeNestedNameSpecifierEmpty(); break;
+ case 49: { action. consumeNestedNameSpecifierEmpty(); break;
}
-
+
//
// Rule 52: postfix_expression ::= postfix_expression [ expression ]
//
- case 52: { action.builder.
- consumeExpressionArraySubscript(); break;
+ case 52: { action. consumeExpressionArraySubscript(); break;
}
-
+
//
// Rule 53: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 53: { action.builder.
- consumeExpressionFunctionCall(); break;
+ case 53: { action. consumeExpressionFunctionCall(); break;
}
-
+
//
// Rule 54: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
- case 54: { action.builder.
- consumeExpressionSimpleTypeConstructor(); break;
+ case 54: { action. consumeExpressionSimpleTypeConstructor(); break;
}
-
+
//
// Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
- case 55: { action.builder.
- consumeExpressionTypeName(); break;
+ case 55: { action. consumeExpressionTypeName(); break;
}
-
+
//
// Rule 56: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
- case 56: { action.builder.
- consumeExpressionTypeName(); break;
+ case 56: { action. consumeExpressionTypeName(); break;
}
-
+
//
// Rule 57: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
- case 57: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ case 57: { action. consumeExpressionFieldReference(false, false); break;
}
-
+
//
// Rule 58: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
- case 58: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ case 58: { action. consumeExpressionFieldReference(true, false); break;
}
-
+
//
// Rule 59: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
- case 59: { action.builder.
- consumeExpressionFieldReference(false, true); break;
+ case 59: { action. consumeExpressionFieldReference(false, true); break;
}
-
+
//
// Rule 60: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
- case 60: { action.builder.
- consumeExpressionFieldReference(true, true); break;
+ case 60: { action. consumeExpressionFieldReference(true, true); break;
}
-
+
//
// Rule 61: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
- case 61: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ case 61: { action. consumeExpressionFieldReference(false, false); break;
}
-
+
//
// Rule 62: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
- case 62: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ case 62: { action. consumeExpressionFieldReference(true, false); break;
}
-
+
//
// Rule 63: postfix_expression ::= postfix_expression ++
//
- case 63: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
-
+
//
// Rule 64: postfix_expression ::= postfix_expression --
//
- case 64: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 64: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
-
+
//
// Rule 65: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
- case 65: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
-
+
//
// Rule 66: postfix_expression ::= static_cast < type_id > ( expression )
//
- case 66: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
-
+
//
// Rule 67: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
- case 67: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
-
+
//
// Rule 68: postfix_expression ::= const_cast < type_id > ( expression )
//
- case 68: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ case 68: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
-
+
//
// Rule 69: postfix_expression ::= typeid ( expression )
//
- case 69: { action.builder.
- consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ case 69: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
-
+
//
// Rule 70: postfix_expression ::= typeid ( type_id )
//
- case 70: { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ case 70: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
-
+
//
// Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
- case 71: { action.builder.
- consumePsudoDestructorName(true); break;
+ case 71: { action. consumePsudoDestructorName(true); break;
}
-
+
//
// Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
- case 72: { action.builder.
- consumePsudoDestructorName(true); break;
+ case 72: { action. consumePsudoDestructorName(true); break;
}
-
+
//
// Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
- case 73: { action.builder.
- consumePsudoDestructorName(false); break;
+ case 73: { action. consumePsudoDestructorName(false); break;
}
-
+
//
// Rule 74: destructor_type_name ::= ~ identifier_token
//
- case 74: { action.builder.
- consumeDestructorName(); break;
+ case 74: { action. consumeDestructorName(); break;
}
-
+
//
// Rule 75: destructor_type_name ::= ~ template_id_name
//
- case 75: { action.builder.
- consumeDestructorNameTemplateId(); break;
+ case 75: { action. consumeDestructorNameTemplateId(); break;
}
-
+
//
// Rule 79: unary_expression ::= ++ cast_expression
//
- case 79: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
-
+
//
// Rule 80: unary_expression ::= -- cast_expression
//
- case 80: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
-
+
//
// Rule 81: unary_expression ::= & cast_expression
//
- case 81: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
-
+
//
// Rule 82: unary_expression ::= * cast_expression
//
- case 82: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
-
+
//
// Rule 83: unary_expression ::= + cast_expression
//
- case 83: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
-
+
//
// Rule 84: unary_expression ::= - cast_expression
//
- case 84: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
-
+
//
// Rule 85: unary_expression ::= ~ cast_expression
//
- case 85: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
-
+
//
// Rule 86: unary_expression ::= ! cast_expression
//
- case 86: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
-
+
//
// Rule 87: unary_expression ::= sizeof unary_expression
//
- case 87: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 87: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
-
+
//
// Rule 88: unary_expression ::= sizeof ( type_id )
//
- case 88: { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
+ case 88: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
-
+
//
// Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 89: { action.builder.
- consumeExpressionNew(true); break;
+ case 89: { action. consumeExpressionNew(true); break;
}
-
+
//
// Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 90: { action.builder.
- consumeExpressionNew(false); break;
+ case 90: { action. consumeExpressionNew(false); break;
}
-
+
//
// Rule 92: new_placement_opt ::= $Empty
//
- case 92: { action.builder.
- consumeEmpty(); break;
+ case 92: { action. consumeEmpty(); break;
}
-
+
//
// Rule 93: new_type_id ::= type_specifier_seq
//
- case 93: { action.builder.
- consumeTypeId(false); break;
+ case 93: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 94: new_type_id ::= type_specifier_seq new_declarator
//
- case 94: { action.builder.
- consumeTypeId(true); break;
+ case 94: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 95: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 95: { action.builder.
- consumeNewDeclarator(); break;
+ case 95: { action. consumeNewDeclarator(); break;
}
-
+
//
// Rule 102: new_initializer ::= ( expression_list_opt )
//
- case 102: { action.builder.
- consumeNewInitializer(); break;
+ case 102: { action. consumeNewInitializer(); break;
}
-
+
//
// Rule 104: new_initializer_opt ::= $Empty
//
- case 104: { action.builder.
- consumeEmpty(); break;
+ case 104: { action. consumeEmpty(); break;
}
-
+
//
// Rule 105: delete_expression ::= dcolon_opt delete cast_expression
//
- case 105: { action.builder.
- consumeExpressionDelete(false); break;
+ case 105: { action. consumeExpressionDelete(false); break;
}
-
+
//
// Rule 106: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 106: { action.builder.
- consumeExpressionDelete(true); break;
+ case 106: { action. consumeExpressionDelete(true); break;
}
-
+
//
// Rule 108: cast_expression ::= ( type_id ) cast_expression
//
- case 108: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
+ case 108: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
}
-
+
//
// Rule 110: pm_expression ::= pm_expression .* cast_expression
//
- case 110: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
-
+
//
// Rule 111: pm_expression ::= pm_expression ->* cast_expression
//
- case 111: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
-
+
//
// Rule 113: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 113: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
-
+
//
// Rule 114: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 114: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
-
+
//
// Rule 115: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 115: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
-
+
//
// Rule 117: additive_expression ::= additive_expression + multiplicative_expression
//
- case 117: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
-
+
//
// Rule 118: additive_expression ::= additive_expression - multiplicative_expression
//
- case 118: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
-
+
//
// Rule 120: shift_expression ::= shift_expression << additive_expression
//
- case 120: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
-
+
//
// Rule 121: shift_expression ::= shift_expression >> additive_expression
//
- case 121: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
-
+
//
// Rule 123: relational_expression ::= relational_expression < shift_expression
//
- case 123: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
-
+
//
// Rule 124: relational_expression ::= relational_expression > shift_expression
//
- case 124: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
-
+
//
// Rule 125: relational_expression ::= relational_expression <= shift_expression
//
- case 125: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
-
+
//
// Rule 126: relational_expression ::= relational_expression >= shift_expression
//
- case 126: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
-
+
//
// Rule 128: equality_expression ::= equality_expression == relational_expression
//
- case 128: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
-
+
//
// Rule 129: equality_expression ::= equality_expression != relational_expression
//
- case 129: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ case 129: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
-
+
//
// Rule 131: and_expression ::= and_expression & equality_expression
//
- case 131: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ case 131: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
-
+
//
// Rule 133: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 133: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ case 133: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
-
+
//
// Rule 135: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 135: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ case 135: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
-
+
//
// Rule 137: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 137: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ case 137: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
-
+
//
// Rule 139: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 139: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ case 139: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
-
+
//
// Rule 141: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 141: { action.builder.
- consumeExpressionConditional(); break;
+ case 141: { action. consumeExpressionConditional(); break;
}
-
+
//
// Rule 142: throw_expression ::= throw
//
- case 142: { action.builder.
- consumeExpressionThrow(false); break;
+ case 142: { action. consumeExpressionThrow(false); break;
}
-
+
//
// Rule 143: throw_expression ::= throw assignment_expression
//
- case 143: { action.builder.
- consumeExpressionThrow(true); break;
+ case 143: { action. consumeExpressionThrow(true); break;
}
-
+
//
// Rule 146: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 146: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
-
+
//
// Rule 147: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 147: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
-
+
//
// Rule 148: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 148: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
-
+
//
// Rule 149: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 149: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
-
+
//
// Rule 150: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 150: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
-
+
//
// Rule 151: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 151: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
-
+
//
// Rule 152: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 152: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
-
+
//
// Rule 153: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 153: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
-
+
//
// Rule 154: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 154: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
-
+
//
// Rule 155: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 155: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
-
+
//
// Rule 156: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 156: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ case 156: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
-
+
//
// Rule 158: expression_list ::= <openscope-ast> expression_list_actual
//
- case 158: { action.builder.
- consumeExpressionList(); break;
+ case 158: { action. consumeExpressionList(); break;
}
-
+
//
// Rule 162: expression_list_opt ::= $Empty
//
- case 162: { action.builder.
- consumeEmpty(); break;
+ case 162: { action. consumeEmpty(); break;
}
-
+
//
// Rule 164: expression_opt ::= $Empty
//
- case 164: { action.builder.
- consumeEmpty(); break;
+ case 164: { action. consumeEmpty(); break;
}
-
+
//
// Rule 167: constant_expression_opt ::= $Empty
//
- case 167: { action.builder.
- consumeEmpty(); break;
+ case 167: { action. consumeEmpty(); break;
}
-
+
//
// Rule 176: statement ::= ERROR_TOKEN
//
- case 176: { action.builder.
- consumeStatementProblem(); break;
+ case 176: { action. consumeStatementProblem(); break;
}
-
+
//
// Rule 177: labeled_statement ::= identifier : statement
//
- case 177: { action.builder.
- consumeStatementLabeled(); break;
+ case 177: { action. consumeStatementLabeled(); break;
}
-
+
//
// Rule 178: labeled_statement ::= case constant_expression : statement
//
- case 178: { action.builder.
- consumeStatementCase(); break;
+ case 178: { action. consumeStatementCase(); break;
}
-
+
//
// Rule 179: labeled_statement ::= default : statement
//
- case 179: { action.builder.
- consumeStatementDefault(); break;
+ case 179: { action. consumeStatementDefault(); break;
}
-
+
//
// Rule 180: expression_statement ::= expression ;
//
- case 180: { action.builder.
- consumeStatementExpression(); break;
+ case 180: { action. consumeStatementExpression(); break;
}
-
+
//
// Rule 181: expression_statement ::= ;
//
- case 181: { action.builder.
- consumeStatementNull(); break;
+ case 181: { action. consumeStatementNull(); break;
}
-
+
//
// Rule 182: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 182: { action.builder.
- consumeStatementCompoundStatement(true); break;
+ case 182: { action. consumeStatementCompoundStatement(true); break;
}
-
+
//
// Rule 183: compound_statement ::= { }
//
- case 183: { action.builder.
- consumeStatementCompoundStatement(false); break;
+ case 183: { action. consumeStatementCompoundStatement(false); break;
}
-
+
//
// Rule 186: selection_statement ::= if ( condition ) statement
//
- case 186: { action.builder.
- consumeStatementIf(false); break;
+ case 186: { action. consumeStatementIf(false); break;
}
-
+
//
// Rule 187: selection_statement ::= if ( condition ) statement else statement
//
- case 187: { action.builder.
- consumeStatementIf(true); break;
+ case 187: { action. consumeStatementIf(true); break;
}
-
+
//
// Rule 188: selection_statement ::= switch ( condition ) statement
//
- case 188: { action.builder.
- consumeStatementSwitch(); break;
+ case 188: { action. consumeStatementSwitch(); break;
}
-
+
//
// Rule 190: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 190: { action.builder.
- consumeConditionDeclaration(); break;
+ case 190: { action. consumeConditionDeclaration(); break;
}
-
+
//
// Rule 192: condition_opt ::= $Empty
//
- case 192: { action.builder.
- consumeEmpty(); break;
+ case 192: { action. consumeEmpty(); break;
}
-
+
//
// Rule 193: iteration_statement ::= while ( condition ) statement
//
- case 193: { action.builder.
- consumeStatementWhileLoop(); break;
+ case 193: { action. consumeStatementWhileLoop(); break;
}
-
+
//
// Rule 194: iteration_statement ::= do statement while ( expression ) ;
//
- case 194: { action.builder.
- consumeStatementDoLoop(); break;
+ case 194: { action. consumeStatementDoLoop(); break;
}
-
+
//
// Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 195: { action.builder.
- consumeStatementForLoop(); break;
+ case 195: { action. consumeStatementForLoop(); break;
}
-
+
//
// Rule 197: for_init_statement ::= simple_declaration_with_declspec
//
- case 197: { action.builder.
- consumeStatementDeclaration(); break;
+ case 197: { action. consumeStatementDeclaration(); break;
}
-
+
//
// Rule 198: jump_statement ::= break ;
//
- case 198: { action.builder.
- consumeStatementBreak(); break;
+ case 198: { action. consumeStatementBreak(); break;
}
-
+
//
// Rule 199: jump_statement ::= continue ;
//
- case 199: { action.builder.
- consumeStatementContinue(); break;
+ case 199: { action. consumeStatementContinue(); break;
}
-
+
//
// Rule 200: jump_statement ::= return expression ;
//
- case 200: { action.builder.
- consumeStatementReturn(true); break;
+ case 200: { action. consumeStatementReturn(true); break;
}
-
+
//
// Rule 201: jump_statement ::= return ;
//
- case 201: { action.builder.
- consumeStatementReturn(false); break;
+ case 201: { action. consumeStatementReturn(false); break;
}
-
+
//
// Rule 202: jump_statement ::= goto identifier_token ;
//
- case 202: { action.builder.
- consumeStatementGoto(); break;
+ case 202: { action. consumeStatementGoto(); break;
}
-
+
//
// Rule 203: declaration_statement ::= block_declaration
//
- case 203: { action.builder.
- consumeStatementDeclarationWithDisambiguation(); break;
+ case 203: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
-
+
//
// Rule 204: declaration_statement ::= function_definition
//
- case 204: { action.builder.
- consumeStatementDeclaration(); break;
+ case 204: { action. consumeStatementDeclaration(); break;
}
-
+
//
// Rule 212: declaration ::= ERROR_TOKEN
//
- case 212: { action.builder.
- consumeDeclarationProblem(); break;
+ case 212: { action. consumeDeclarationProblem(); break;
}
-
+
//
// Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 222: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 222: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
- case 223: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 223: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 224: { action.builder.
- consumeDeclarationSpecifiersSimple(); break;
+ case 224: { action. consumeDeclarationSpecifiersSimple(); break;
}
-
+
//
// Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 225: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
- case 226: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 226: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 227: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 227: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 228: { action.builder.
- consumeDeclarationSpecifiersTypeName(); break;
+ case 228: { action. consumeDeclarationSpecifiersTypeName(); break;
}
-
+
//
// Rule 230: declaration_specifiers_opt ::= $Empty
//
- case 230: { action.builder.
- consumeEmpty(); break;
+ case 230: { action. consumeEmpty(); break;
}
-
+
//
// Rule 234: no_type_declaration_specifier ::= friend
//
- case 234: { action.builder.
- consumeDeclSpecToken(); break;
+ case 234: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 235: no_type_declaration_specifier ::= typedef
//
- case 235: { action.builder.
- consumeDeclSpecToken(); break;
+ case 235: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 255: storage_class_specifier ::= auto
//
- case 255: { action.builder.
- consumeDeclSpecToken(); break;
+ case 255: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 256: storage_class_specifier ::= register
//
- case 256: { action.builder.
- consumeDeclSpecToken(); break;
+ case 256: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 257: storage_class_specifier ::= static
//
- case 257: { action.builder.
- consumeDeclSpecToken(); break;
+ case 257: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 258: storage_class_specifier ::= extern
//
- case 258: { action.builder.
- consumeDeclSpecToken(); break;
+ case 258: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 259: storage_class_specifier ::= mutable
//
- case 259: { action.builder.
- consumeDeclSpecToken(); break;
+ case 259: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 260: function_specifier ::= inline
//
- case 260: { action.builder.
- consumeDeclSpecToken(); break;
+ case 260: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 261: function_specifier ::= virtual
//
- case 261: { action.builder.
- consumeDeclSpecToken(); break;
+ case 261: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 262: function_specifier ::= explicit
//
- case 262: { action.builder.
- consumeDeclSpecToken(); break;
+ case 262: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 263: simple_type_specifier ::= char
//
- case 263: { action.builder.
- consumeDeclSpecToken(); break;
+ case 263: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 264: simple_type_specifier ::= wchar_t
//
- case 264: { action.builder.
- consumeDeclSpecToken(); break;
+ case 264: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 265: simple_type_specifier ::= bool
//
- case 265: { action.builder.
- consumeDeclSpecToken(); break;
+ case 265: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 266: simple_type_specifier ::= short
//
- case 266: { action.builder.
- consumeDeclSpecToken(); break;
+ case 266: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 267: simple_type_specifier ::= int
//
- case 267: { action.builder.
- consumeDeclSpecToken(); break;
+ case 267: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 268: simple_type_specifier ::= long
//
- case 268: { action.builder.
- consumeDeclSpecToken(); break;
+ case 268: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 269: simple_type_specifier ::= signed
//
- case 269: { action.builder.
- consumeDeclSpecToken(); break;
+ case 269: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 270: simple_type_specifier ::= unsigned
//
- case 270: { action.builder.
- consumeDeclSpecToken(); break;
+ case 270: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 271: simple_type_specifier ::= float
//
- case 271: { action.builder.
- consumeDeclSpecToken(); break;
+ case 271: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 272: simple_type_specifier ::= double
//
- case 272: { action.builder.
- consumeDeclSpecToken(); break;
+ case 272: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 273: simple_type_specifier ::= void
//
- case 273: { action.builder.
- consumeDeclSpecToken(); break;
+ case 273: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 276: { action.builder.
- consumeQualifiedId(false); break;
+ case 276: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
- case 277: { action.builder.
- consumeQualifiedId(false); break;
+ case 277: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
- case 278: { action.builder.
- consumeQualifiedId(false); break;
+ case 278: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 279: { action.builder.
- consumeQualifiedId(true); break;
+ case 279: { action. consumeQualifiedId(true); break;
}
-
+
//
// Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
//
- case 281: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ case 281: { action. consumeTypeSpecifierElaborated(false); break;
}
-
+
//
// Rule 282: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 282: { action.builder.
- consumeTypeSpecifierElaborated(true); break;
+ case 282: { action. consumeTypeSpecifierElaborated(true); break;
}
-
+
//
// Rule 283: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
//
- case 283: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ case 283: { action. consumeTypeSpecifierElaborated(false); break;
}
-
+
//
// Rule 284: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
//
- case 284: { action.builder.
- consumeTypeSpecifierEnumeration(false); break;
+ case 284: { action. consumeTypeSpecifierEnumeration(false); break;
}
-
+
//
// Rule 285: enum_specifier ::= enum identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 285: { action.builder.
- consumeTypeSpecifierEnumeration(true); break;
+ case 285: { action. consumeTypeSpecifierEnumeration(true); break;
}
-
+
//
// Rule 290: enumerator_definition ::= identifier_token
//
- case 290: { action.builder.
- consumeEnumerator(false); break;
+ case 290: { action. consumeEnumerator(false); break;
}
-
+
//
// Rule 291: enumerator_definition ::= identifier_token = constant_expression
//
- case 291: { action.builder.
- consumeEnumerator(true); break;
+ case 291: { action. consumeEnumerator(true); break;
}
-
+
//
// Rule 295: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 295: { action.builder.
- consumeNamespaceDefinition(true); break;
+ case 295: { action. consumeNamespaceDefinition(true); break;
}
-
+
//
// Rule 296: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 296: { action.builder.
- consumeNamespaceDefinition(false); break;
+ case 296: { action. consumeNamespaceDefinition(false); break;
}
-
+
//
// Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 297: { action.builder.
- consumeNamespaceAliasDefinition(); break;
+ case 297: { action. consumeNamespaceAliasDefinition(); break;
}
-
+
//
// Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 298: { action.builder.
- consumeUsingDeclaration(); break;
+ case 298: { action. consumeUsingDeclaration(); break;
}
-
+
//
// Rule 299: typename_opt ::= typename
//
- case 299: { action.builder.
- consumePlaceHolder(); break;
+ case 299: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 300: typename_opt ::= $Empty
//
- case 300: { action.builder.
- consumeEmpty(); break;
+ case 300: { action. consumeEmpty(); break;
}
-
+
//
// Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 301: { action.builder.
- consumeUsingDirective(); break;
+ case 301: { action. consumeUsingDirective(); break;
}
-
+
//
// Rule 302: asm_definition ::= asm ( stringlit ) ;
//
- case 302: { action.builder.
- consumeDeclarationASM(); break;
+ case 302: { action. consumeDeclarationASM(); break;
}
-
+
//
// Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 303: { action.builder.
- consumeLinkageSpecification(); break;
+ case 303: { action. consumeLinkageSpecification(); break;
}
-
+
//
// Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
- case 304: { action.builder.
- consumeLinkageSpecification(); break;
+ case 304: { action. consumeLinkageSpecification(); break;
}
-
+
//
// Rule 309: init_declarator_complete ::= init_declarator
//
- case 309: { action.builder.
- consumeInitDeclaratorComplete(); break;
+ case 309: { action. consumeInitDeclaratorComplete(); break;
}
-
+
//
// Rule 311: init_declarator ::= declarator initializer
//
- case 311: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 311: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 313: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 313: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 313: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 315: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 315: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 315: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 319: basic_direct_declarator ::= declarator_id_name
//
- case 319: { action.builder.
- consumeDirectDeclaratorIdentifier(); break;
+ case 319: { action. consumeDirectDeclaratorIdentifier(); break;
}
-
+
//
// Rule 320: basic_direct_declarator ::= ( declarator )
//
- case 320: { action.builder.
- consumeDirectDeclaratorBracketed(); break;
+ case 320: { action. consumeDirectDeclaratorBracketed(); break;
}
-
+
//
// Rule 321: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 321: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 321: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
-
+
//
// Rule 322: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 322: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 323: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 323: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 324: array_modifier ::= [ constant_expression ]
//
- case 324: { action.builder.
- consumeDirectDeclaratorArrayModifier(true); break;
+ case 324: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
-
+
//
// Rule 325: array_modifier ::= [ ]
//
- case 325: { action.builder.
- consumeDirectDeclaratorArrayModifier(false); break;
+ case 325: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
-
+
//
// Rule 326: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
//
- case 326: { action.builder.
- consumePointer(); break;
+ case 326: { action. consumePointer(); break;
}
-
+
//
// Rule 327: ptr_operator ::= &
//
- case 327: { action.builder.
- consumeReferenceOperator(); break;
+ case 327: { action. consumeReferenceOperator(); break;
}
-
+
//
// Rule 328: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
//
- case 328: { action.builder.
- consumePointerToMember(); break;
+ case 328: { action. consumePointerToMember(); break;
}
-
+
//
// Rule 334: cv_qualifier ::= const
//
- case 334: { action.builder.
- consumeDeclSpecToken(); break;
+ case 334: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 335: cv_qualifier ::= volatile
//
- case 335: { action.builder.
- consumeDeclSpecToken(); break;
+ case 335: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 337: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 337: { action.builder.
- consumeQualifiedId(false); break;
+ case 337: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 338: type_id ::= type_specifier_seq
//
- case 338: { action.builder.
- consumeTypeId(false); break;
+ case 338: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 339: type_id ::= type_specifier_seq abstract_declarator
//
- case 339: { action.builder.
- consumeTypeId(true); break;
+ case 339: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 342: { action.builder.
- consumeDeclaratorWithPointer(false); break;
+ case 342: { action. consumeDeclaratorWithPointer(false); break;
}
-
+
//
// Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 343: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 343: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 347: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 347: { action.builder.
- consumeDirectDeclaratorBracketed(); break;
+ case 347: { action. consumeDirectDeclaratorBracketed(); break;
}
-
+
//
// Rule 348: basic_direct_abstract_declarator ::= ( )
//
- case 348: { action.builder.
- consumeAbstractDeclaratorEmpty(); break;
+ case 348: { action. consumeAbstractDeclaratorEmpty(); break;
}
-
+
//
// Rule 349: array_direct_abstract_declarator ::= array_modifier
//
- case 349: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 349: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
-
+
//
// Rule 350: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 350: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 350: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 351: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 351: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 352: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 352: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 352: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
-
+
//
// Rule 353: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 353: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 353: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
-
+
//
// Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 354: { action.builder.
- consumePlaceHolder(); break;
+ case 354: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 355: { action.builder.
- consumeEmpty(); break;
+ case 355: { action. consumeEmpty(); break;
}
-
+
//
// Rule 356: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 356: { action.builder.
- consumePlaceHolder(); break;
+ case 356: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 362: abstract_declarator_opt ::= $Empty
//
- case 362: { action.builder.
- consumeEmpty(); break;
+ case 362: { action. consumeEmpty(); break;
}
-
+
//
// Rule 363: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 363: { action.builder.
- consumeParameterDeclaration(); break;
+ case 363: { action. consumeParameterDeclaration(); break;
}
-
+
//
// Rule 364: parameter_declaration ::= declaration_specifiers
//
- case 364: { action.builder.
- consumeParameterDeclarationWithoutDeclarator(); break;
+ case 364: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
-
+
//
// Rule 366: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 366: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 366: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 368: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 368: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 368: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 369: parameter_init_declarator ::= = parameter_initializer
//
- case 369: { action.builder.
- consumeDeclaratorWithInitializer(false); break;
+ case 369: { action. consumeDeclaratorWithInitializer(false); break;
}
-
+
//
// Rule 370: parameter_initializer ::= assignment_expression
//
- case 370: { action.builder.
- consumeInitializer(); break;
+ case 370: { action. consumeInitializer(); break;
}
-
+
//
// Rule 371: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 371: { action.builder.
- consumeFunctionDefinition(false); break;
+ case 371: { action. consumeFunctionDefinition(false); break;
}
-
+
//
// Rule 372: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 372: { action.builder.
- consumeFunctionDefinition(true); break;
+ case 372: { action. consumeFunctionDefinition(true); break;
}
-
+
//
// Rule 375: initializer ::= ( expression_list )
//
- case 375: { action.builder.
- consumeInitializerConstructor(); break;
+ case 375: { action. consumeInitializerConstructor(); break;
}
-
+
//
// Rule 376: initializer_clause ::= assignment_expression
//
- case 376: { action.builder.
- consumeInitializer(); break;
+ case 376: { action. consumeInitializer(); break;
}
-
+
//
// Rule 377: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 377: { action.builder.
- consumeInitializerList(); break;
+ case 377: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 378: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
- case 378: { action.builder.
- consumeInitializerList(); break;
+ case 378: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 379: initializer_clause ::= { <openscope-ast> }
//
- case 379: { action.builder.
- consumeInitializerList(); break;
+ case 379: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 380: start_initializer_list ::= $Empty
//
- case 380: { action.builder.
- initializerListStart(); break;
+ case 380: { action. initializerListStart(); break;
}
-
+
//
// Rule 381: end_initializer_list ::= $Empty
//
- case 381: { action.builder.
- initializerListEnd(); break;
+ case 381: { action. initializerListEnd(); break;
}
-
+
//
// Rule 386: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 386: { action.builder.
- consumeClassSpecifier(); break;
+ case 386: { action. consumeClassSpecifier(); break;
}
-
+
//
// Rule 387: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
//
- case 387: { action.builder.
- consumeClassHead(false); break;
+ case 387: { action. consumeClassHead(false); break;
}
-
+
//
// Rule 388: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt
//
- case 388: { action.builder.
- consumeClassHead(false); break;
+ case 388: { action. consumeClassHead(false); break;
}
-
+
//
// Rule 389: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
//
- case 389: { action.builder.
- consumeClassHead(true); break;
+ case 389: { action. consumeClassHead(true); break;
}
-
+
//
// Rule 390: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
//
- case 390: { action.builder.
- consumeClassHead(true); break;
+ case 390: { action. consumeClassHead(true); break;
}
-
+
//
// Rule 392: identifier_name_opt ::= $Empty
//
- case 392: { action.builder.
- consumeEmpty(); break;
+ case 392: { action. consumeEmpty(); break;
}
-
+
//
// Rule 396: visibility_label ::= access_specifier_keyword :
//
- case 396: { action.builder.
- consumeVisibilityLabel(); break;
+ case 396: { action. consumeVisibilityLabel(); break;
}
-
+
//
// Rule 397: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 397: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 397: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 398: member_declaration ::= declaration_specifiers_opt ;
//
- case 398: { action.builder.
- consumeDeclarationSimple(false); break;
+ case 398: { action. consumeDeclarationSimple(false); break;
}
-
+
//
// Rule 401: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 401: { action.builder.
- consumeMemberDeclarationQualifiedId(); break;
+ case 401: { action. consumeMemberDeclarationQualifiedId(); break;
}
-
+
//
// Rule 407: member_declaration ::= ERROR_TOKEN
//
- case 407: { action.builder.
- consumeDeclarationProblem(); break;
+ case 407: { action. consumeDeclarationProblem(); break;
}
-
+
//
// Rule 415: member_declarator ::= declarator constant_initializer
//
- case 415: { action.builder.
- consumeMemberDeclaratorWithInitializer(); break;
+ case 415: { action. consumeMemberDeclaratorWithInitializer(); break;
}
-
+
//
// Rule 416: member_declarator ::= bit_field_declarator : constant_expression
//
- case 416: { action.builder.
- consumeBitField(true); break;
+ case 416: { action. consumeBitField(true); break;
}
-
+
//
// Rule 417: member_declarator ::= : constant_expression
//
- case 417: { action.builder.
- consumeBitField(false); break;
+ case 417: { action. consumeBitField(false); break;
}
-
+
//
// Rule 418: bit_field_declarator ::= identifier_name
//
- case 418: { action.builder.
- consumeDirectDeclaratorIdentifier(); break;
+ case 418: { action. consumeDirectDeclaratorIdentifier(); break;
}
-
+
//
// Rule 419: constant_initializer ::= = constant_expression
//
- case 419: { action.builder.
- consumeInitializer(); break;
+ case 419: { action. consumeInitializer(); break;
}
-
+
//
// Rule 425: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 425: { action.builder.
- consumeBaseSpecifier(false, false); break;
+ case 425: { action. consumeBaseSpecifier(false, false); break;
}
-
+
//
// Rule 426: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 426: { action.builder.
- consumeBaseSpecifier(true, true); break;
+ case 426: { action. consumeBaseSpecifier(true, true); break;
}
-
+
//
// Rule 427: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
- case 427: { action.builder.
- consumeBaseSpecifier(true, true); break;
+ case 427: { action. consumeBaseSpecifier(true, true); break;
}
-
+
//
// Rule 428: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 428: { action.builder.
- consumeBaseSpecifier(true, false); break;
+ case 428: { action. consumeBaseSpecifier(true, false); break;
}
-
+
//
// Rule 429: access_specifier_keyword ::= private
//
- case 429: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 429: { action. consumeToken(); break;
}
-
+
//
// Rule 430: access_specifier_keyword ::= protected
//
- case 430: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 430: { action. consumeToken(); break;
}
-
+
//
// Rule 431: access_specifier_keyword ::= public
//
- case 431: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 431: { action. consumeToken(); break;
}
-
+
//
// Rule 433: access_specifier_keyword_opt ::= $Empty
//
- case 433: { action.builder.
- consumeEmpty(); break;
+ case 433: { action. consumeEmpty(); break;
}
-
+
//
// Rule 435: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 435: { action.builder.
- consumeTemplateId(); break;
+ case 435: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 436: conversion_function_id ::= operator conversion_type_id
//
- case 436: { action.builder.
- consumeConversionName(); break;
+ case 436: { action. consumeConversionName(); break;
}
-
+
//
// Rule 437: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 437: { action.builder.
- consumeTypeId(true); break;
+ case 437: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 438: conversion_type_id ::= type_specifier_seq
//
- case 438: { action.builder.
- consumeTypeId(false); break;
+ case 438: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 439: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 439: { action.builder.
- consumeDeclaratorWithPointer(false); break;
+ case 439: { action. consumeDeclaratorWithPointer(false); break;
}
-
+
//
// Rule 445: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 445: { action.builder.
- consumeConstructorChainInitializer(); break;
+ case 445: { action. consumeConstructorChainInitializer(); break;
}
-
+
//
// Rule 446: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 446: { action.builder.
- consumeQualifiedId(false); break;
+ case 446: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 449: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 449: { action.builder.
- consumeTemplateId(); break;
+ case 449: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 450: operator_id_name ::= operator overloadable_operator
//
- case 450: { action.builder.
- consumeOperatorName(); break;
+ case 450: { action. consumeOperatorName(); break;
}
-
+
//
// Rule 493: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 493: { action.builder.
- consumeTemplateDeclaration(); break;
+ case 493: { action. consumeTemplateDeclaration(); break;
}
-
+
//
// Rule 494: export_opt ::= export
//
- case 494: { action.builder.
- consumePlaceHolder(); break;
+ case 494: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 495: export_opt ::= $Empty
//
- case 495: { action.builder.
- consumeEmpty(); break;
+ case 495: { action. consumeEmpty(); break;
}
-
+
//
// Rule 499: template_parameter ::= parameter_declaration
//
- case 499: { action.builder.
- consumeTemplateParamterDeclaration(); break;
+ case 499: { action. consumeTemplateParamterDeclaration(); break;
}
-
+
//
// Rule 500: type_parameter ::= class identifier_name_opt
//
- case 500: { action.builder.
- consumeSimpleTypeTemplateParameter(false); break;
+ case 500: { action. consumeSimpleTypeTemplateParameter(false); break;
}
-
+
//
// Rule 501: type_parameter ::= class identifier_name_opt = type_id
//
- case 501: { action.builder.
- consumeSimpleTypeTemplateParameter(true); break;
+ case 501: { action. consumeSimpleTypeTemplateParameter(true); break;
}
-
+
//
// Rule 502: type_parameter ::= typename identifier_name_opt
//
- case 502: { action.builder.
- consumeSimpleTypeTemplateParameter(false); break;
+ case 502: { action. consumeSimpleTypeTemplateParameter(false); break;
}
-
+
//
// Rule 503: type_parameter ::= typename identifier_name_opt = type_id
//
- case 503: { action.builder.
- consumeSimpleTypeTemplateParameter(true); break;
+ case 503: { action. consumeSimpleTypeTemplateParameter(true); break;
}
-
+
//
// Rule 504: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 504: { action.builder.
- consumeTemplatedTypeTemplateParameter(false); break;
+ case 504: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
-
+
//
// Rule 505: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 505: { action.builder.
- consumeTemplatedTypeTemplateParameter(true); break;
+ case 505: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
-
+
//
// Rule 506: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 506: { action.builder.
- consumeTemplateId(); break;
+ case 506: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 511: template_argument ::= assignment_expression
//
- case 511: { action.builder.
- consumeTemplateArgumentExpression(); break;
+ case 511: { action. consumeTemplateArgumentExpression(); break;
}
-
+
//
// Rule 512: template_argument ::= type_id
//
- case 512: { action.builder.
- consumeTemplateArgumentTypeId(); break;
+ case 512: { action. consumeTemplateArgumentTypeId(); break;
}
-
+
//
// Rule 513: explicit_instantiation ::= template declaration
//
- case 513: { action.builder.
- consumeTemplateExplicitInstantiation(); break;
+ case 513: { action. consumeTemplateExplicitInstantiation(); break;
}
-
+
//
// Rule 514: explicit_specialization ::= template < > declaration
//
- case 514: { action.builder.
- consumeTemplateExplicitSpecialization(); break;
+ case 514: { action. consumeTemplateExplicitSpecialization(); break;
}
-
+
//
// Rule 515: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 515: { action.builder.
- consumeStatementTryBlock(); break;
+ case 515: { action. consumeStatementTryBlock(); break;
}
-
+
//
// Rule 518: handler ::= catch ( exception_declaration ) compound_statement
//
- case 518: { action.builder.
- consumeStatementCatchHandler(false); break;
+ case 518: { action. consumeStatementCatchHandler(false); break;
}
-
+
//
// Rule 519: handler ::= catch ( ... ) compound_statement
//
- case 519: { action.builder.
- consumeStatementCatchHandler(true); break;
+ case 519: { action. consumeStatementCatchHandler(true); break;
}
-
+
//
// Rule 520: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 520: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 520: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 521: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
- case 521: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 521: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 522: exception_declaration ::= type_specifier_seq
//
- case 522: { action.builder.
- consumeDeclarationSimple(false); break;
+ case 522: { action. consumeDeclarationSimple(false); break;
}
-
+
//
// Rule 524: exception_specification ::= throw ( )
//
- case 524: { action.builder.
- consumePlaceHolder(); break;
+ case 524: { action. consumePlaceHolder(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java
index 2b360c42dcf..986e9a5b976 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java
index 4f08a353b74..f1a3b7c906d 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java
index 9094ebcfdf6..7dcf9fc4ce3 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
@@ -16,11 +16,7 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
import lpg.lpgjavaruntime.*;
import java.util.*;
-
import org.eclipse.cdt.core.dom.ast.*;
-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.IParser;
import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
@@ -28,7 +24,11 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
-public class CPPSizeofExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+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;
+
+public class CPPSizeofExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
private static ParseTable prs = new CPPSizeofExpressionParserprs();
private FixedBacktrackingParser btParser;
@@ -165,28 +165,19 @@ public class CPPSizeofExpressionParser extends PrsStream implements RuleAction ,
}
-private CPPParserAction action;
+private CPPBuildASTParserAction action;
-// uncomment to use with backtracking parser
public CPPSizeofExpressionParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- // binding resolution actions need access to IASTName nodes, temporary
- action = new CPPParserAction ();
- //action.resolver = new C99TypedefTrackerParserAction (this);
- action.builder = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu);
- //action.builder.setTokenMap(CPPParsersym.orderedTerminalSymbols);
-
- action.builder.setParserOptions(options);
-
- // comment this line to use with backtracking parser
- //setParserAction(action);
+ action = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu);
+ action.setParserOptions(options);
}
public void addToken(IToken token) {
- token.setKind(mapKind(token.getKind()));
+ token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called?
super.addToken(token);
}
@@ -196,37 +187,35 @@ public IASTCompletionNode parse(IASTTranslationUnit tu, Set<IParser.Options> opt
setStreamLength(getSize());
initActions(tu, options);
- final int errorRepairCount = -1; // _1 means full error handling
+ final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
super.resetTokenStream(); // allow tokens to be garbage collected
// the completion node may be null
- IASTCompletionNode compNode = action.builder.getASTCompletionNode();
+ IASTCompletionNode compNode = action.getASTCompletionNode();
- //action = null; // causes getSecondaryParseResult() to fail
-
- // Comment this line to use with backtracking parser
+ //action = null;
//parserAction = null;
-
return compNode;
}
-
// uncomment this method to use with backtracking parser
public List getRuleTokens() {
return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
}
+
public IASTNode getSecondaryParseResult() {
- return action.builder.getSecondaryParseResult();
+ return action.getSecondaryParseResult();
}
public String[] getOrderedTerminalSymbols() {
return CPPSizeofExpressionParsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "CPPSizeofExpressionParser"; //$NON-NLS-1$
+ return "CPPSizeofExpressionParser";
}
@@ -257,2010 +246,1723 @@ public CPPSizeofExpressionParser(String[] mapFrom) { // constructor
//
// Rule 1: <openscope-ast> ::= $Empty
//
- case 1: { action.builder.
- openASTScope(); break;
- }
+ case 1: { action. openASTScope(); break;
+ }
//
// Rule 2: <empty> ::= $Empty
//
- case 2: { action.builder.
- consumeEmpty(); break;
- }
-
+ case 2: { action. consumeEmpty(); break;
+ }
+
//
// Rule 13: translation_unit ::= declaration_seq_opt
//
- case 13: { action.builder.
- consumeTranslationUnit(); break;
+ case 13: { action. consumeTranslationUnit(); break;
}
-
+
//
// Rule 16: literal ::= integer
//
- case 16: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 16: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
}
-
+
//
// Rule 17: literal ::= 0
//
- case 17: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
}
-
+
//
// Rule 18: literal ::= floating
//
- case 18: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
}
-
+
//
// Rule 19: literal ::= charconst
//
- case 19: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
}
-
+
//
// Rule 20: literal ::= stringlit
//
- case 20: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
}
-
+
//
// Rule 21: literal ::= true
//
- case 21: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
}
-
+
//
// Rule 22: literal ::= false
//
- case 22: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
}
-
+
//
// Rule 23: literal ::= this
//
- case 23: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ case 23: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
}
-
+
//
// Rule 25: primary_expression ::= ( expression )
//
- case 25: { action.builder.
- consumeExpressionBracketed(); break;
+ case 25: { action. consumeExpressionBracketed(); break;
}
-
+
//
// Rule 27: id_expression ::= qualified_or_unqualified_name
//
- case 27: { action.builder.
- consumeExpressionName(); break;
+ case 27: { action. consumeExpressionName(); break;
}
-
+
//
// Rule 34: unqualified_id_name ::= ~ identifier_token
//
- case 34: { action.builder.
- consumeDestructorName(); break;
+ case 34: { action. consumeDestructorName(); break;
}
-
+
//
// Rule 35: unqualified_id_name ::= ~ template_id_name
//
- case 35: { action.builder.
- consumeDestructorNameTemplateId(); break;
+ case 35: { action. consumeDestructorNameTemplateId(); break;
}
-
+
//
// Rule 36: identifier_name ::= identifier_token
//
- case 36: { action.builder.
- consumeIdentifierName(); break;
+ case 36: { action. consumeIdentifierName(); break;
}
-
+
//
// Rule 37: template_opt ::= template
//
- case 37: { action.builder.
- consumePlaceHolder(); break;
+ case 37: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 38: template_opt ::= $Empty
//
- case 38: { action.builder.
- consumeEmpty(); break;
+ case 38: { action. consumeEmpty(); break;
}
-
+
//
// Rule 39: dcolon_opt ::= ::
//
- case 39: { action.builder.
- consumeToken(); break;
+ case 39: { action. consumeToken(); break;
}
-
+
//
// Rule 40: dcolon_opt ::= $Empty
//
- case 40: { action.builder.
- consumeEmpty(); break;
+ case 40: { action. consumeEmpty(); break;
}
-
+
//
// Rule 41: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
- case 41: { action.builder.
- consumeQualifiedId(true); break;
+ case 41: { action. consumeQualifiedId(true); break;
}
-
+
//
// Rule 42: qualified_id_name ::= :: unqualified_id_name
//
- case 42: { action.builder.
- consumeGlobalQualifiedId(); break;
+ case 42: { action. consumeGlobalQualifiedId(); break;
}
-
+
//
// Rule 43: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
- case 43: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ case 43: { action. consumeNestedNameSpecifier(true); break;
}
-
+
//
// Rule 44: nested_name_specifier ::= class_or_namespace_name ::
//
- case 44: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ case 44: { action. consumeNestedNameSpecifier(false); break;
}
-
+
//
// Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
- case 45: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ case 45: { action. consumeNestedNameSpecifier(true); break;
}
-
+
//
// Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
- case 46: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ case 46: { action. consumeNestedNameSpecifier(false); break;
}
-
+
//
// Rule 47: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 47: { action.builder.
- consumeNameWithTemplateKeyword(); break;
+ case 47: { action. consumeNameWithTemplateKeyword(); break;
}
-
+
//
// Rule 49: nested_name_specifier_opt ::= $Empty
//
- case 49: { action.builder.
- consumeNestedNameSpecifierEmpty(); break;
+ case 49: { action. consumeNestedNameSpecifierEmpty(); break;
}
-
+
//
// Rule 52: postfix_expression ::= postfix_expression [ expression ]
//
- case 52: { action.builder.
- consumeExpressionArraySubscript(); break;
+ case 52: { action. consumeExpressionArraySubscript(); break;
}
-
+
//
// Rule 53: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 53: { action.builder.
- consumeExpressionFunctionCall(); break;
+ case 53: { action. consumeExpressionFunctionCall(); break;
}
-
+
//
// Rule 54: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
- case 54: { action.builder.
- consumeExpressionSimpleTypeConstructor(); break;
+ case 54: { action. consumeExpressionSimpleTypeConstructor(); break;
}
-
+
//
// Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
- case 55: { action.builder.
- consumeExpressionTypeName(); break;
+ case 55: { action. consumeExpressionTypeName(); break;
}
-
+
//
// Rule 56: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
- case 56: { action.builder.
- consumeExpressionTypeName(); break;
+ case 56: { action. consumeExpressionTypeName(); break;
}
-
+
//
// Rule 57: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
- case 57: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ case 57: { action. consumeExpressionFieldReference(false, false); break;
}
-
+
//
// Rule 58: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
- case 58: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ case 58: { action. consumeExpressionFieldReference(true, false); break;
}
-
+
//
// Rule 59: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
- case 59: { action.builder.
- consumeExpressionFieldReference(false, true); break;
+ case 59: { action. consumeExpressionFieldReference(false, true); break;
}
-
+
//
// Rule 60: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
- case 60: { action.builder.
- consumeExpressionFieldReference(true, true); break;
+ case 60: { action. consumeExpressionFieldReference(true, true); break;
}
-
+
//
// Rule 61: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
- case 61: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ case 61: { action. consumeExpressionFieldReference(false, false); break;
}
-
+
//
// Rule 62: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
- case 62: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ case 62: { action. consumeExpressionFieldReference(true, false); break;
}
-
+
//
// Rule 63: postfix_expression ::= postfix_expression ++
//
- case 63: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
-
+
//
// Rule 64: postfix_expression ::= postfix_expression --
//
- case 64: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 64: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
-
+
//
// Rule 65: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
- case 65: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
-
+
//
// Rule 66: postfix_expression ::= static_cast < type_id > ( expression )
//
- case 66: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
-
+
//
// Rule 67: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
- case 67: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
-
+
//
// Rule 68: postfix_expression ::= const_cast < type_id > ( expression )
//
- case 68: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ case 68: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
-
+
//
// Rule 69: postfix_expression ::= typeid ( expression )
//
- case 69: { action.builder.
- consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ case 69: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
-
+
//
// Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
- case 70: { action.builder.
- consumePsudoDestructorName(true); break;
+ case 70: { action. consumePsudoDestructorName(true); break;
}
-
+
//
// Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
- case 71: { action.builder.
- consumePsudoDestructorName(true); break;
+ case 71: { action. consumePsudoDestructorName(true); break;
}
-
+
//
// Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
- case 72: { action.builder.
- consumePsudoDestructorName(false); break;
+ case 72: { action. consumePsudoDestructorName(false); break;
}
-
+
//
// Rule 73: destructor_type_name ::= ~ identifier_token
//
- case 73: { action.builder.
- consumeDestructorName(); break;
+ case 73: { action. consumeDestructorName(); break;
}
-
+
//
// Rule 74: destructor_type_name ::= ~ template_id_name
//
- case 74: { action.builder.
- consumeDestructorNameTemplateId(); break;
+ case 74: { action. consumeDestructorNameTemplateId(); break;
}
-
+
//
// Rule 78: unary_expression ::= ++ cast_expression
//
- case 78: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 78: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
-
+
//
// Rule 79: unary_expression ::= -- cast_expression
//
- case 79: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
-
+
//
// Rule 80: unary_expression ::= & cast_expression
//
- case 80: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
-
+
//
// Rule 81: unary_expression ::= * cast_expression
//
- case 81: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
-
+
//
// Rule 82: unary_expression ::= + cast_expression
//
- case 82: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
-
+
//
// Rule 83: unary_expression ::= - cast_expression
//
- case 83: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
-
+
//
// Rule 84: unary_expression ::= ~ cast_expression
//
- case 84: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
-
+
//
// Rule 85: unary_expression ::= ! cast_expression
//
- case 85: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
-
+
//
// Rule 86: unary_expression ::= sizeof unary_expression
//
- case 86: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
-
+
//
// Rule 87: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 87: { action.builder.
- consumeExpressionNew(true); break;
+ case 87: { action. consumeExpressionNew(true); break;
}
-
+
//
// Rule 88: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 88: { action.builder.
- consumeExpressionNew(false); break;
+ case 88: { action. consumeExpressionNew(false); break;
}
-
+
//
// Rule 90: new_placement_opt ::= $Empty
//
- case 90: { action.builder.
- consumeEmpty(); break;
+ case 90: { action. consumeEmpty(); break;
}
-
+
//
// Rule 91: new_type_id ::= type_specifier_seq
//
- case 91: { action.builder.
- consumeTypeId(false); break;
+ case 91: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 92: new_type_id ::= type_specifier_seq new_declarator
//
- case 92: { action.builder.
- consumeTypeId(true); break;
+ case 92: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 93: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 93: { action.builder.
- consumeNewDeclarator(); break;
+ case 93: { action. consumeNewDeclarator(); break;
}
-
+
//
// Rule 100: new_initializer ::= ( expression_list_opt )
//
- case 100: { action.builder.
- consumeNewInitializer(); break;
+ case 100: { action. consumeNewInitializer(); break;
}
-
+
//
// Rule 102: new_initializer_opt ::= $Empty
//
- case 102: { action.builder.
- consumeEmpty(); break;
+ case 102: { action. consumeEmpty(); break;
}
-
+
//
// Rule 103: delete_expression ::= dcolon_opt delete cast_expression
//
- case 103: { action.builder.
- consumeExpressionDelete(false); break;
+ case 103: { action. consumeExpressionDelete(false); break;
}
-
+
//
// Rule 104: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 104: { action.builder.
- consumeExpressionDelete(true); break;
+ case 104: { action. consumeExpressionDelete(true); break;
}
-
+
//
// Rule 106: cast_expression ::= ( type_id ) cast_expression
//
- case 106: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
+ case 106: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
}
-
+
//
// Rule 108: pm_expression ::= pm_expression .* cast_expression
//
- case 108: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ case 108: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
-
+
//
// Rule 109: pm_expression ::= pm_expression ->* cast_expression
//
- case 109: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ case 109: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
-
+
//
// Rule 111: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 111: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
-
+
//
// Rule 112: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 112: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ case 112: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
-
+
//
// Rule 113: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 113: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
-
+
//
// Rule 115: additive_expression ::= additive_expression + multiplicative_expression
//
- case 115: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
-
+
//
// Rule 116: additive_expression ::= additive_expression - multiplicative_expression
//
- case 116: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ case 116: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
-
+
//
// Rule 118: shift_expression ::= shift_expression << additive_expression
//
- case 118: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
-
+
//
// Rule 119: shift_expression ::= shift_expression >> additive_expression
//
- case 119: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ case 119: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
-
+
//
// Rule 121: relational_expression ::= relational_expression < shift_expression
//
- case 121: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
-
+
//
// Rule 122: relational_expression ::= relational_expression > shift_expression
//
- case 122: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ case 122: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
-
+
//
// Rule 123: relational_expression ::= relational_expression <= shift_expression
//
- case 123: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
-
+
//
// Rule 124: relational_expression ::= relational_expression >= shift_expression
//
- case 124: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
-
+
//
// Rule 126: equality_expression ::= equality_expression == relational_expression
//
- case 126: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
-
+
//
// Rule 127: equality_expression ::= equality_expression != relational_expression
//
- case 127: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ case 127: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
-
+
//
// Rule 129: and_expression ::= and_expression & equality_expression
//
- case 129: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ case 129: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
-
+
//
// Rule 131: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 131: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ case 131: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
-
+
//
// Rule 133: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 133: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ case 133: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
-
+
//
// Rule 135: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 135: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ case 135: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
-
+
//
// Rule 137: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 137: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ case 137: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
-
+
//
// Rule 139: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 139: { action.builder.
- consumeExpressionConditional(); break;
+ case 139: { action. consumeExpressionConditional(); break;
}
-
+
//
// Rule 140: throw_expression ::= throw
//
- case 140: { action.builder.
- consumeExpressionThrow(false); break;
+ case 140: { action. consumeExpressionThrow(false); break;
}
-
+
//
// Rule 141: throw_expression ::= throw assignment_expression
//
- case 141: { action.builder.
- consumeExpressionThrow(true); break;
+ case 141: { action. consumeExpressionThrow(true); break;
}
-
+
//
// Rule 144: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 144: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ case 144: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
-
+
//
// Rule 145: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 145: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ case 145: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
-
+
//
// Rule 146: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 146: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
-
+
//
// Rule 147: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 147: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
-
+
//
// Rule 148: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 148: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
-
+
//
// Rule 149: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 149: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
-
+
//
// Rule 150: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 150: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
-
+
//
// Rule 151: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 151: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
-
+
//
// Rule 152: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 152: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
-
+
//
// Rule 153: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 153: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
-
+
//
// Rule 154: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 154: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
-
+
//
// Rule 156: expression_list ::= <openscope-ast> expression_list_actual
//
- case 156: { action.builder.
- consumeExpressionList(); break;
+ case 156: { action. consumeExpressionList(); break;
}
-
+
//
// Rule 160: expression_list_opt ::= $Empty
//
- case 160: { action.builder.
- consumeEmpty(); break;
+ case 160: { action. consumeEmpty(); break;
}
-
+
//
// Rule 162: expression_opt ::= $Empty
//
- case 162: { action.builder.
- consumeEmpty(); break;
+ case 162: { action. consumeEmpty(); break;
}
-
+
//
// Rule 165: constant_expression_opt ::= $Empty
//
- case 165: { action.builder.
- consumeEmpty(); break;
+ case 165: { action. consumeEmpty(); break;
}
-
+
//
// Rule 174: statement ::= ERROR_TOKEN
//
- case 174: { action.builder.
- consumeStatementProblem(); break;
+ case 174: { action. consumeStatementProblem(); break;
}
-
+
//
// Rule 175: labeled_statement ::= identifier : statement
//
- case 175: { action.builder.
- consumeStatementLabeled(); break;
+ case 175: { action. consumeStatementLabeled(); break;
}
-
+
//
// Rule 176: labeled_statement ::= case constant_expression : statement
//
- case 176: { action.builder.
- consumeStatementCase(); break;
+ case 176: { action. consumeStatementCase(); break;
}
-
+
//
// Rule 177: labeled_statement ::= default : statement
//
- case 177: { action.builder.
- consumeStatementDefault(); break;
+ case 177: { action. consumeStatementDefault(); break;
}
-
+
//
// Rule 178: expression_statement ::= expression ;
//
- case 178: { action.builder.
- consumeStatementExpression(); break;
+ case 178: { action. consumeStatementExpression(); break;
}
-
+
//
// Rule 179: expression_statement ::= ;
//
- case 179: { action.builder.
- consumeStatementNull(); break;
+ case 179: { action. consumeStatementNull(); break;
}
-
+
//
// Rule 180: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 180: { action.builder.
- consumeStatementCompoundStatement(true); break;
+ case 180: { action. consumeStatementCompoundStatement(true); break;
}
-
+
//
// Rule 181: compound_statement ::= { }
//
- case 181: { action.builder.
- consumeStatementCompoundStatement(false); break;
+ case 181: { action. consumeStatementCompoundStatement(false); break;
}
-
+
//
// Rule 184: selection_statement ::= if ( condition ) statement
//
- case 184: { action.builder.
- consumeStatementIf(false); break;
+ case 184: { action. consumeStatementIf(false); break;
}
-
+
//
// Rule 185: selection_statement ::= if ( condition ) statement else statement
//
- case 185: { action.builder.
- consumeStatementIf(true); break;
+ case 185: { action. consumeStatementIf(true); break;
}
-
+
//
// Rule 186: selection_statement ::= switch ( condition ) statement
//
- case 186: { action.builder.
- consumeStatementSwitch(); break;
+ case 186: { action. consumeStatementSwitch(); break;
}
-
+
//
// Rule 188: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 188: { action.builder.
- consumeConditionDeclaration(); break;
+ case 188: { action. consumeConditionDeclaration(); break;
}
-
+
//
// Rule 190: condition_opt ::= $Empty
//
- case 190: { action.builder.
- consumeEmpty(); break;
+ case 190: { action. consumeEmpty(); break;
}
-
+
//
// Rule 191: iteration_statement ::= while ( condition ) statement
//
- case 191: { action.builder.
- consumeStatementWhileLoop(); break;
+ case 191: { action. consumeStatementWhileLoop(); break;
}
-
+
//
// Rule 192: iteration_statement ::= do statement while ( expression ) ;
//
- case 192: { action.builder.
- consumeStatementDoLoop(); break;
+ case 192: { action. consumeStatementDoLoop(); break;
}
-
+
//
// Rule 193: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 193: { action.builder.
- consumeStatementForLoop(); break;
+ case 193: { action. consumeStatementForLoop(); break;
}
-
+
//
// Rule 195: for_init_statement ::= simple_declaration_with_declspec
//
- case 195: { action.builder.
- consumeStatementDeclaration(); break;
+ case 195: { action. consumeStatementDeclaration(); break;
}
-
+
//
// Rule 196: jump_statement ::= break ;
//
- case 196: { action.builder.
- consumeStatementBreak(); break;
+ case 196: { action. consumeStatementBreak(); break;
}
-
+
//
// Rule 197: jump_statement ::= continue ;
//
- case 197: { action.builder.
- consumeStatementContinue(); break;
+ case 197: { action. consumeStatementContinue(); break;
}
-
+
//
// Rule 198: jump_statement ::= return expression ;
//
- case 198: { action.builder.
- consumeStatementReturn(true); break;
+ case 198: { action. consumeStatementReturn(true); break;
}
-
+
//
// Rule 199: jump_statement ::= return ;
//
- case 199: { action.builder.
- consumeStatementReturn(false); break;
+ case 199: { action. consumeStatementReturn(false); break;
}
-
+
//
// Rule 200: jump_statement ::= goto identifier_token ;
//
- case 200: { action.builder.
- consumeStatementGoto(); break;
+ case 200: { action. consumeStatementGoto(); break;
}
-
+
//
// Rule 201: declaration_statement ::= block_declaration
//
- case 201: { action.builder.
- consumeStatementDeclarationWithDisambiguation(); break;
+ case 201: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
-
+
//
// Rule 202: declaration_statement ::= function_definition
//
- case 202: { action.builder.
- consumeStatementDeclaration(); break;
+ case 202: { action. consumeStatementDeclaration(); break;
}
-
+
//
// Rule 210: declaration ::= ERROR_TOKEN
//
- case 210: { action.builder.
- consumeDeclarationProblem(); break;
+ case 210: { action. consumeDeclarationProblem(); break;
}
-
+
//
// Rule 220: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 220: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 220: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 221: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
- case 221: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 221: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 222: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 222: { action.builder.
- consumeDeclarationSpecifiersSimple(); break;
+ case 222: { action. consumeDeclarationSpecifiersSimple(); break;
}
-
+
//
// Rule 223: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 223: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 223: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 224: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
- case 224: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 224: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 225: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 225: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 226: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 226: { action.builder.
- consumeDeclarationSpecifiersTypeName(); break;
+ case 226: { action. consumeDeclarationSpecifiersTypeName(); break;
}
-
+
//
// Rule 228: declaration_specifiers_opt ::= $Empty
//
- case 228: { action.builder.
- consumeEmpty(); break;
+ case 228: { action. consumeEmpty(); break;
}
-
+
//
// Rule 232: no_type_declaration_specifier ::= friend
//
- case 232: { action.builder.
- consumeDeclSpecToken(); break;
+ case 232: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 233: no_type_declaration_specifier ::= typedef
//
- case 233: { action.builder.
- consumeDeclSpecToken(); break;
+ case 233: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 253: storage_class_specifier ::= auto
//
- case 253: { action.builder.
- consumeDeclSpecToken(); break;
+ case 253: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 254: storage_class_specifier ::= register
//
- case 254: { action.builder.
- consumeDeclSpecToken(); break;
+ case 254: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 255: storage_class_specifier ::= static
//
- case 255: { action.builder.
- consumeDeclSpecToken(); break;
+ case 255: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 256: storage_class_specifier ::= extern
//
- case 256: { action.builder.
- consumeDeclSpecToken(); break;
+ case 256: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 257: storage_class_specifier ::= mutable
//
- case 257: { action.builder.
- consumeDeclSpecToken(); break;
+ case 257: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 258: function_specifier ::= inline
//
- case 258: { action.builder.
- consumeDeclSpecToken(); break;
+ case 258: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 259: function_specifier ::= virtual
//
- case 259: { action.builder.
- consumeDeclSpecToken(); break;
+ case 259: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 260: function_specifier ::= explicit
//
- case 260: { action.builder.
- consumeDeclSpecToken(); break;
+ case 260: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 261: simple_type_specifier ::= char
//
- case 261: { action.builder.
- consumeDeclSpecToken(); break;
+ case 261: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 262: simple_type_specifier ::= wchar_t
//
- case 262: { action.builder.
- consumeDeclSpecToken(); break;
+ case 262: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 263: simple_type_specifier ::= bool
//
- case 263: { action.builder.
- consumeDeclSpecToken(); break;
+ case 263: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 264: simple_type_specifier ::= short
//
- case 264: { action.builder.
- consumeDeclSpecToken(); break;
+ case 264: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 265: simple_type_specifier ::= int
//
- case 265: { action.builder.
- consumeDeclSpecToken(); break;
+ case 265: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 266: simple_type_specifier ::= long
//
- case 266: { action.builder.
- consumeDeclSpecToken(); break;
+ case 266: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 267: simple_type_specifier ::= signed
//
- case 267: { action.builder.
- consumeDeclSpecToken(); break;
+ case 267: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 268: simple_type_specifier ::= unsigned
//
- case 268: { action.builder.
- consumeDeclSpecToken(); break;
+ case 268: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 269: simple_type_specifier ::= float
//
- case 269: { action.builder.
- consumeDeclSpecToken(); break;
+ case 269: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 270: simple_type_specifier ::= double
//
- case 270: { action.builder.
- consumeDeclSpecToken(); break;
+ case 270: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 271: simple_type_specifier ::= void
//
- case 271: { action.builder.
- consumeDeclSpecToken(); break;
+ case 271: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 274: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 274: { action.builder.
- consumeQualifiedId(false); break;
+ case 274: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
- case 275: { action.builder.
- consumeQualifiedId(false); break;
+ case 275: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 276: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
- case 276: { action.builder.
- consumeQualifiedId(false); break;
+ case 276: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 277: { action.builder.
- consumeQualifiedId(true); break;
+ case 277: { action. consumeQualifiedId(true); break;
}
-
+
//
// Rule 279: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
//
- case 279: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ case 279: { action. consumeTypeSpecifierElaborated(false); break;
}
-
+
//
// Rule 280: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 280: { action.builder.
- consumeTypeSpecifierElaborated(true); break;
+ case 280: { action. consumeTypeSpecifierElaborated(true); break;
}
-
+
//
// Rule 281: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
//
- case 281: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ case 281: { action. consumeTypeSpecifierElaborated(false); break;
}
-
+
//
// Rule 282: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
//
- case 282: { action.builder.
- consumeTypeSpecifierEnumeration(false); break;
+ case 282: { action. consumeTypeSpecifierEnumeration(false); break;
}
-
+
//
// Rule 283: enum_specifier ::= enum identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 283: { action.builder.
- consumeTypeSpecifierEnumeration(true); break;
+ case 283: { action. consumeTypeSpecifierEnumeration(true); break;
}
-
+
//
// Rule 288: enumerator_definition ::= identifier_token
//
- case 288: { action.builder.
- consumeEnumerator(false); break;
+ case 288: { action. consumeEnumerator(false); break;
}
-
+
//
// Rule 289: enumerator_definition ::= identifier_token = constant_expression
//
- case 289: { action.builder.
- consumeEnumerator(true); break;
+ case 289: { action. consumeEnumerator(true); break;
}
-
+
//
// Rule 293: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 293: { action.builder.
- consumeNamespaceDefinition(true); break;
+ case 293: { action. consumeNamespaceDefinition(true); break;
}
-
+
//
// Rule 294: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 294: { action.builder.
- consumeNamespaceDefinition(false); break;
+ case 294: { action. consumeNamespaceDefinition(false); break;
}
-
+
//
// Rule 295: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 295: { action.builder.
- consumeNamespaceAliasDefinition(); break;
+ case 295: { action. consumeNamespaceAliasDefinition(); break;
}
-
+
//
// Rule 296: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 296: { action.builder.
- consumeUsingDeclaration(); break;
+ case 296: { action. consumeUsingDeclaration(); break;
}
-
+
//
// Rule 297: typename_opt ::= typename
//
- case 297: { action.builder.
- consumePlaceHolder(); break;
+ case 297: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 298: typename_opt ::= $Empty
//
- case 298: { action.builder.
- consumeEmpty(); break;
+ case 298: { action. consumeEmpty(); break;
}
-
+
//
// Rule 299: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 299: { action.builder.
- consumeUsingDirective(); break;
+ case 299: { action. consumeUsingDirective(); break;
}
-
+
//
// Rule 300: asm_definition ::= asm ( stringlit ) ;
//
- case 300: { action.builder.
- consumeDeclarationASM(); break;
+ case 300: { action. consumeDeclarationASM(); break;
}
-
+
//
// Rule 301: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 301: { action.builder.
- consumeLinkageSpecification(); break;
+ case 301: { action. consumeLinkageSpecification(); break;
}
-
+
//
// Rule 302: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
- case 302: { action.builder.
- consumeLinkageSpecification(); break;
+ case 302: { action. consumeLinkageSpecification(); break;
}
-
+
//
// Rule 307: init_declarator_complete ::= init_declarator
//
- case 307: { action.builder.
- consumeInitDeclaratorComplete(); break;
+ case 307: { action. consumeInitDeclaratorComplete(); break;
}
-
+
//
// Rule 309: init_declarator ::= declarator initializer
//
- case 309: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 309: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 311: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 311: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 311: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 313: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 313: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 313: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 317: basic_direct_declarator ::= declarator_id_name
//
- case 317: { action.builder.
- consumeDirectDeclaratorIdentifier(); break;
+ case 317: { action. consumeDirectDeclaratorIdentifier(); break;
}
-
+
//
// Rule 318: basic_direct_declarator ::= ( declarator )
//
- case 318: { action.builder.
- consumeDirectDeclaratorBracketed(); break;
+ case 318: { action. consumeDirectDeclaratorBracketed(); break;
}
-
+
//
// Rule 319: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 319: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 319: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
-
+
//
// Rule 320: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 320: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 320: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 321: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 321: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 321: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 322: array_modifier ::= [ constant_expression ]
//
- case 322: { action.builder.
- consumeDirectDeclaratorArrayModifier(true); break;
+ case 322: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
-
+
//
// Rule 323: array_modifier ::= [ ]
//
- case 323: { action.builder.
- consumeDirectDeclaratorArrayModifier(false); break;
+ case 323: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
-
+
//
// Rule 324: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
//
- case 324: { action.builder.
- consumePointer(); break;
+ case 324: { action. consumePointer(); break;
}
-
+
//
// Rule 325: ptr_operator ::= &
//
- case 325: { action.builder.
- consumeReferenceOperator(); break;
+ case 325: { action. consumeReferenceOperator(); break;
}
-
+
//
// Rule 326: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
//
- case 326: { action.builder.
- consumePointerToMember(); break;
+ case 326: { action. consumePointerToMember(); break;
}
-
+
//
// Rule 332: cv_qualifier ::= const
//
- case 332: { action.builder.
- consumeDeclSpecToken(); break;
+ case 332: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 333: cv_qualifier ::= volatile
//
- case 333: { action.builder.
- consumeDeclSpecToken(); break;
+ case 333: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 335: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 335: { action.builder.
- consumeQualifiedId(false); break;
+ case 335: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 336: type_id ::= type_specifier_seq
//
- case 336: { action.builder.
- consumeTypeId(false); break;
+ case 336: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 337: type_id ::= type_specifier_seq abstract_declarator
//
- case 337: { action.builder.
- consumeTypeId(true); break;
+ case 337: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 340: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 340: { action.builder.
- consumeDeclaratorWithPointer(false); break;
+ case 340: { action. consumeDeclaratorWithPointer(false); break;
}
-
+
//
// Rule 341: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 341: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 341: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 345: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 345: { action.builder.
- consumeDirectDeclaratorBracketed(); break;
+ case 345: { action. consumeDirectDeclaratorBracketed(); break;
}
-
+
//
// Rule 346: basic_direct_abstract_declarator ::= ( )
//
- case 346: { action.builder.
- consumeAbstractDeclaratorEmpty(); break;
+ case 346: { action. consumeAbstractDeclaratorEmpty(); break;
}
-
+
//
// Rule 347: array_direct_abstract_declarator ::= array_modifier
//
- case 347: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 347: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
-
+
//
// Rule 348: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 348: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 348: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 349: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 349: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 349: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 350: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 350: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 350: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
-
+
//
// Rule 351: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 351: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 351: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
-
+
//
// Rule 352: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 352: { action.builder.
- consumePlaceHolder(); break;
+ case 352: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 353: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 353: { action.builder.
- consumeEmpty(); break;
+ case 353: { action. consumeEmpty(); break;
}
-
+
//
// Rule 354: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 354: { action.builder.
- consumePlaceHolder(); break;
+ case 354: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 360: abstract_declarator_opt ::= $Empty
//
- case 360: { action.builder.
- consumeEmpty(); break;
+ case 360: { action. consumeEmpty(); break;
}
-
+
//
// Rule 361: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 361: { action.builder.
- consumeParameterDeclaration(); break;
+ case 361: { action. consumeParameterDeclaration(); break;
}
-
+
//
// Rule 362: parameter_declaration ::= declaration_specifiers
//
- case 362: { action.builder.
- consumeParameterDeclarationWithoutDeclarator(); break;
+ case 362: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
-
+
//
// Rule 364: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 364: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 364: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 366: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 366: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 366: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 367: parameter_init_declarator ::= = parameter_initializer
//
- case 367: { action.builder.
- consumeDeclaratorWithInitializer(false); break;
+ case 367: { action. consumeDeclaratorWithInitializer(false); break;
}
-
+
//
// Rule 368: parameter_initializer ::= assignment_expression
//
- case 368: { action.builder.
- consumeInitializer(); break;
+ case 368: { action. consumeInitializer(); break;
}
-
+
//
// Rule 369: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 369: { action.builder.
- consumeFunctionDefinition(false); break;
+ case 369: { action. consumeFunctionDefinition(false); break;
}
-
+
//
// Rule 370: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 370: { action.builder.
- consumeFunctionDefinition(true); break;
+ case 370: { action. consumeFunctionDefinition(true); break;
}
-
+
//
// Rule 373: initializer ::= ( expression_list )
//
- case 373: { action.builder.
- consumeInitializerConstructor(); break;
+ case 373: { action. consumeInitializerConstructor(); break;
}
-
+
//
// Rule 374: initializer_clause ::= assignment_expression
//
- case 374: { action.builder.
- consumeInitializer(); break;
+ case 374: { action. consumeInitializer(); break;
}
-
+
//
// Rule 375: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 375: { action.builder.
- consumeInitializerList(); break;
+ case 375: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 376: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
- case 376: { action.builder.
- consumeInitializerList(); break;
+ case 376: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 377: initializer_clause ::= { <openscope-ast> }
//
- case 377: { action.builder.
- consumeInitializerList(); break;
+ case 377: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 378: start_initializer_list ::= $Empty
//
- case 378: { action.builder.
- initializerListStart(); break;
+ case 378: { action. initializerListStart(); break;
}
-
+
//
// Rule 379: end_initializer_list ::= $Empty
//
- case 379: { action.builder.
- initializerListEnd(); break;
+ case 379: { action. initializerListEnd(); break;
}
-
+
//
// Rule 384: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 384: { action.builder.
- consumeClassSpecifier(); break;
+ case 384: { action. consumeClassSpecifier(); break;
}
-
+
//
// Rule 385: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
//
- case 385: { action.builder.
- consumeClassHead(false); break;
+ case 385: { action. consumeClassHead(false); break;
}
-
+
//
// Rule 386: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt
//
- case 386: { action.builder.
- consumeClassHead(false); break;
+ case 386: { action. consumeClassHead(false); break;
}
-
+
//
// Rule 387: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
//
- case 387: { action.builder.
- consumeClassHead(true); break;
+ case 387: { action. consumeClassHead(true); break;
}
-
+
//
// Rule 388: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
//
- case 388: { action.builder.
- consumeClassHead(true); break;
+ case 388: { action. consumeClassHead(true); break;
}
-
+
//
// Rule 390: identifier_name_opt ::= $Empty
//
- case 390: { action.builder.
- consumeEmpty(); break;
+ case 390: { action. consumeEmpty(); break;
}
-
+
//
// Rule 394: visibility_label ::= access_specifier_keyword :
//
- case 394: { action.builder.
- consumeVisibilityLabel(); break;
+ case 394: { action. consumeVisibilityLabel(); break;
}
-
+
//
// Rule 395: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 395: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 395: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 396: member_declaration ::= declaration_specifiers_opt ;
//
- case 396: { action.builder.
- consumeDeclarationSimple(false); break;
+ case 396: { action. consumeDeclarationSimple(false); break;
}
-
+
//
// Rule 399: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 399: { action.builder.
- consumeMemberDeclarationQualifiedId(); break;
+ case 399: { action. consumeMemberDeclarationQualifiedId(); break;
}
-
+
//
// Rule 405: member_declaration ::= ERROR_TOKEN
//
- case 405: { action.builder.
- consumeDeclarationProblem(); break;
+ case 405: { action. consumeDeclarationProblem(); break;
}
-
+
//
// Rule 413: member_declarator ::= declarator constant_initializer
//
- case 413: { action.builder.
- consumeMemberDeclaratorWithInitializer(); break;
+ case 413: { action. consumeMemberDeclaratorWithInitializer(); break;
}
-
+
//
// Rule 414: member_declarator ::= bit_field_declarator : constant_expression
//
- case 414: { action.builder.
- consumeBitField(true); break;
+ case 414: { action. consumeBitField(true); break;
}
-
+
//
// Rule 415: member_declarator ::= : constant_expression
//
- case 415: { action.builder.
- consumeBitField(false); break;
+ case 415: { action. consumeBitField(false); break;
}
-
+
//
// Rule 416: bit_field_declarator ::= identifier_name
//
- case 416: { action.builder.
- consumeDirectDeclaratorIdentifier(); break;
+ case 416: { action. consumeDirectDeclaratorIdentifier(); break;
}
-
+
//
// Rule 417: constant_initializer ::= = constant_expression
//
- case 417: { action.builder.
- consumeInitializer(); break;
+ case 417: { action. consumeInitializer(); break;
}
-
+
//
// Rule 423: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 423: { action.builder.
- consumeBaseSpecifier(false, false); break;
+ case 423: { action. consumeBaseSpecifier(false, false); break;
}
-
+
//
// Rule 424: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 424: { action.builder.
- consumeBaseSpecifier(true, true); break;
+ case 424: { action. consumeBaseSpecifier(true, true); break;
}
-
+
//
// Rule 425: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
- case 425: { action.builder.
- consumeBaseSpecifier(true, true); break;
+ case 425: { action. consumeBaseSpecifier(true, true); break;
}
-
+
//
// Rule 426: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 426: { action.builder.
- consumeBaseSpecifier(true, false); break;
+ case 426: { action. consumeBaseSpecifier(true, false); break;
}
-
+
//
// Rule 427: access_specifier_keyword ::= private
//
- case 427: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 427: { action. consumeToken(); break;
}
-
+
//
// Rule 428: access_specifier_keyword ::= protected
//
- case 428: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 428: { action. consumeToken(); break;
}
-
+
//
// Rule 429: access_specifier_keyword ::= public
//
- case 429: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 429: { action. consumeToken(); break;
}
-
+
//
// Rule 431: access_specifier_keyword_opt ::= $Empty
//
- case 431: { action.builder.
- consumeEmpty(); break;
+ case 431: { action. consumeEmpty(); break;
}
-
+
//
// Rule 433: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 433: { action.builder.
- consumeTemplateId(); break;
+ case 433: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 434: conversion_function_id ::= operator conversion_type_id
//
- case 434: { action.builder.
- consumeConversionName(); break;
+ case 434: { action. consumeConversionName(); break;
}
-
+
//
// Rule 435: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 435: { action.builder.
- consumeTypeId(true); break;
+ case 435: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 436: conversion_type_id ::= type_specifier_seq
//
- case 436: { action.builder.
- consumeTypeId(false); break;
+ case 436: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 437: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 437: { action.builder.
- consumeDeclaratorWithPointer(false); break;
+ case 437: { action. consumeDeclaratorWithPointer(false); break;
}
-
+
//
// Rule 443: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 443: { action.builder.
- consumeConstructorChainInitializer(); break;
+ case 443: { action. consumeConstructorChainInitializer(); break;
}
-
+
//
// Rule 444: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 444: { action.builder.
- consumeQualifiedId(false); break;
+ case 444: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 447: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 447: { action.builder.
- consumeTemplateId(); break;
+ case 447: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 448: operator_id_name ::= operator overloadable_operator
//
- case 448: { action.builder.
- consumeOperatorName(); break;
+ case 448: { action. consumeOperatorName(); break;
}
-
+
//
// Rule 491: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 491: { action.builder.
- consumeTemplateDeclaration(); break;
+ case 491: { action. consumeTemplateDeclaration(); break;
}
-
+
//
// Rule 492: export_opt ::= export
//
- case 492: { action.builder.
- consumePlaceHolder(); break;
+ case 492: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 493: export_opt ::= $Empty
//
- case 493: { action.builder.
- consumeEmpty(); break;
+ case 493: { action. consumeEmpty(); break;
}
-
+
//
// Rule 497: template_parameter ::= parameter_declaration
//
- case 497: { action.builder.
- consumeTemplateParamterDeclaration(); break;
+ case 497: { action. consumeTemplateParamterDeclaration(); break;
}
-
+
//
// Rule 498: type_parameter ::= class identifier_name_opt
//
- case 498: { action.builder.
- consumeSimpleTypeTemplateParameter(false); break;
+ case 498: { action. consumeSimpleTypeTemplateParameter(false); break;
}
-
+
//
// Rule 499: type_parameter ::= class identifier_name_opt = type_id
//
- case 499: { action.builder.
- consumeSimpleTypeTemplateParameter(true); break;
+ case 499: { action. consumeSimpleTypeTemplateParameter(true); break;
}
-
+
//
// Rule 500: type_parameter ::= typename identifier_name_opt
//
- case 500: { action.builder.
- consumeSimpleTypeTemplateParameter(false); break;
+ case 500: { action. consumeSimpleTypeTemplateParameter(false); break;
}
-
+
//
// Rule 501: type_parameter ::= typename identifier_name_opt = type_id
//
- case 501: { action.builder.
- consumeSimpleTypeTemplateParameter(true); break;
+ case 501: { action. consumeSimpleTypeTemplateParameter(true); break;
}
-
+
//
// Rule 502: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 502: { action.builder.
- consumeTemplatedTypeTemplateParameter(false); break;
+ case 502: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
-
+
//
// Rule 503: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 503: { action.builder.
- consumeTemplatedTypeTemplateParameter(true); break;
+ case 503: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
-
+
//
// Rule 504: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 504: { action.builder.
- consumeTemplateId(); break;
+ case 504: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 509: template_argument ::= assignment_expression
//
- case 509: { action.builder.
- consumeTemplateArgumentExpression(); break;
+ case 509: { action. consumeTemplateArgumentExpression(); break;
}
-
+
//
// Rule 510: template_argument ::= type_id
//
- case 510: { action.builder.
- consumeTemplateArgumentTypeId(); break;
+ case 510: { action. consumeTemplateArgumentTypeId(); break;
}
-
+
//
// Rule 511: explicit_instantiation ::= template declaration
//
- case 511: { action.builder.
- consumeTemplateExplicitInstantiation(); break;
+ case 511: { action. consumeTemplateExplicitInstantiation(); break;
}
-
+
//
// Rule 512: explicit_specialization ::= template < > declaration
//
- case 512: { action.builder.
- consumeTemplateExplicitSpecialization(); break;
+ case 512: { action. consumeTemplateExplicitSpecialization(); break;
}
-
+
//
// Rule 513: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 513: { action.builder.
- consumeStatementTryBlock(); break;
+ case 513: { action. consumeStatementTryBlock(); break;
}
-
+
//
// Rule 516: handler ::= catch ( exception_declaration ) compound_statement
//
- case 516: { action.builder.
- consumeStatementCatchHandler(false); break;
+ case 516: { action. consumeStatementCatchHandler(false); break;
}
-
+
//
// Rule 517: handler ::= catch ( ... ) compound_statement
//
- case 517: { action.builder.
- consumeStatementCatchHandler(true); break;
+ case 517: { action. consumeStatementCatchHandler(true); break;
}
-
+
//
// Rule 518: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 518: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 518: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 519: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
- case 519: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 519: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 520: exception_declaration ::= type_specifier_seq
//
- case 520: { action.builder.
- consumeDeclarationSimple(false); break;
+ case 520: { action. consumeDeclarationSimple(false); break;
}
-
+
//
// Rule 522: exception_specification ::= throw ( )
//
- case 522: { action.builder.
- consumePlaceHolder(); break;
+ case 522: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 528: no_sizeof_type_name_start ::= ERROR_TOKEN
//
- case 528: { action.builder.
- consumeExpressionProblem(); break;
+ case 528: { action. consumeExpressionProblem(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java
index 0a90d214bf1..d5ab9363a7d 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java
index c3b57d1ead2..8669bcea706 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java
index 17cf008ee9e..d1eaa7b7f23 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
@@ -16,11 +16,7 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
import lpg.lpgjavaruntime.*;
import java.util.*;
-
import org.eclipse.cdt.core.dom.ast.*;
-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.IParser;
import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
@@ -28,7 +24,11 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
-public class CPPTemplateTypeParameterParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+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;
+
+public class CPPTemplateTypeParameterParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
private static ParseTable prs = new CPPTemplateTypeParameterParserprs();
private FixedBacktrackingParser btParser;
@@ -165,28 +165,19 @@ public class CPPTemplateTypeParameterParser extends PrsStream implements RuleAct
}
-private CPPParserAction action;
+private CPPBuildASTParserAction action;
-// uncomment to use with backtracking parser
public CPPTemplateTypeParameterParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- // binding resolution actions need access to IASTName nodes, temporary
- action = new CPPParserAction ();
- //action.resolver = new C99TypedefTrackerParserAction (this);
- action.builder = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu);
- //action.builder.setTokenMap(CPPParsersym.orderedTerminalSymbols);
-
- action.builder.setParserOptions(options);
-
- // comment this line to use with backtracking parser
- //setParserAction(action);
+ action = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu);
+ action.setParserOptions(options);
}
public void addToken(IToken token) {
- token.setKind(mapKind(token.getKind()));
+ token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called?
super.addToken(token);
}
@@ -196,37 +187,35 @@ public IASTCompletionNode parse(IASTTranslationUnit tu, Set<IParser.Options> opt
setStreamLength(getSize());
initActions(tu, options);
- final int errorRepairCount = -1; // _1 means full error handling
+ final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
super.resetTokenStream(); // allow tokens to be garbage collected
// the completion node may be null
- IASTCompletionNode compNode = action.builder.getASTCompletionNode();
+ IASTCompletionNode compNode = action.getASTCompletionNode();
- //action = null; // causes getSecondaryParseResult() to fail
-
- // Comment this line to use with backtracking parser
+ //action = null;
//parserAction = null;
-
return compNode;
}
-
// uncomment this method to use with backtracking parser
public List getRuleTokens() {
return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
}
+
public IASTNode getSecondaryParseResult() {
- return action.builder.getSecondaryParseResult();
+ return action.getSecondaryParseResult();
}
public String[] getOrderedTerminalSymbols() {
return CPPTemplateTypeParameterParsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "CPPTemplateTypeParameterParser"; //$NON-NLS-1$
+ return "CPPTemplateTypeParameterParser";
}
@@ -257,2024 +246,1735 @@ public CPPTemplateTypeParameterParser(String[] mapFrom) { // constructor
//
// Rule 1: <openscope-ast> ::= $Empty
//
- case 1: { action.builder.
- openASTScope(); break;
- }
+ case 1: { action. openASTScope(); break;
+ }
//
// Rule 2: <empty> ::= $Empty
//
- case 2: { action.builder.
- consumeEmpty(); break;
- }
-
+ case 2: { action. consumeEmpty(); break;
+ }
+
//
// Rule 13: translation_unit ::= declaration_seq_opt
//
- case 13: { action.builder.
- consumeTranslationUnit(); break;
+ case 13: { action. consumeTranslationUnit(); break;
}
-
+
//
// Rule 16: literal ::= integer
//
- case 16: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 16: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
}
-
+
//
// Rule 17: literal ::= 0
//
- case 17: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
}
-
+
//
// Rule 18: literal ::= floating
//
- case 18: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
}
-
+
//
// Rule 19: literal ::= charconst
//
- case 19: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
}
-
+
//
// Rule 20: literal ::= stringlit
//
- case 20: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
}
-
+
//
// Rule 21: literal ::= true
//
- case 21: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
}
-
+
//
// Rule 22: literal ::= false
//
- case 22: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
}
-
+
//
// Rule 23: literal ::= this
//
- case 23: { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ case 23: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
}
-
+
//
// Rule 25: primary_expression ::= ( expression )
//
- case 25: { action.builder.
- consumeExpressionBracketed(); break;
+ case 25: { action. consumeExpressionBracketed(); break;
}
-
+
//
// Rule 27: id_expression ::= qualified_or_unqualified_name
//
- case 27: { action.builder.
- consumeExpressionName(); break;
+ case 27: { action. consumeExpressionName(); break;
}
-
+
//
// Rule 34: unqualified_id_name ::= ~ identifier_token
//
- case 34: { action.builder.
- consumeDestructorName(); break;
+ case 34: { action. consumeDestructorName(); break;
}
-
+
//
// Rule 35: unqualified_id_name ::= ~ template_id_name
//
- case 35: { action.builder.
- consumeDestructorNameTemplateId(); break;
+ case 35: { action. consumeDestructorNameTemplateId(); break;
}
-
+
//
// Rule 36: identifier_name ::= identifier_token
//
- case 36: { action.builder.
- consumeIdentifierName(); break;
+ case 36: { action. consumeIdentifierName(); break;
}
-
+
//
// Rule 37: template_opt ::= template
//
- case 37: { action.builder.
- consumePlaceHolder(); break;
+ case 37: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 38: template_opt ::= $Empty
//
- case 38: { action.builder.
- consumeEmpty(); break;
+ case 38: { action. consumeEmpty(); break;
}
-
+
//
// Rule 39: dcolon_opt ::= ::
//
- case 39: { action.builder.
- consumeToken(); break;
+ case 39: { action. consumeToken(); break;
}
-
+
//
// Rule 40: dcolon_opt ::= $Empty
//
- case 40: { action.builder.
- consumeEmpty(); break;
+ case 40: { action. consumeEmpty(); break;
}
-
+
//
// Rule 41: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
- case 41: { action.builder.
- consumeQualifiedId(true); break;
+ case 41: { action. consumeQualifiedId(true); break;
}
-
+
//
// Rule 42: qualified_id_name ::= :: unqualified_id_name
//
- case 42: { action.builder.
- consumeGlobalQualifiedId(); break;
+ case 42: { action. consumeGlobalQualifiedId(); break;
}
-
+
//
// Rule 43: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
- case 43: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ case 43: { action. consumeNestedNameSpecifier(true); break;
}
-
+
//
// Rule 44: nested_name_specifier ::= class_or_namespace_name ::
//
- case 44: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ case 44: { action. consumeNestedNameSpecifier(false); break;
}
-
+
//
// Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
- case 45: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ case 45: { action. consumeNestedNameSpecifier(true); break;
}
-
+
//
// Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
- case 46: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ case 46: { action. consumeNestedNameSpecifier(false); break;
}
-
+
//
// Rule 47: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 47: { action.builder.
- consumeNameWithTemplateKeyword(); break;
+ case 47: { action. consumeNameWithTemplateKeyword(); break;
}
-
+
//
// Rule 49: nested_name_specifier_opt ::= $Empty
//
- case 49: { action.builder.
- consumeNestedNameSpecifierEmpty(); break;
+ case 49: { action. consumeNestedNameSpecifierEmpty(); break;
}
-
+
//
// Rule 52: postfix_expression ::= postfix_expression [ expression ]
//
- case 52: { action.builder.
- consumeExpressionArraySubscript(); break;
+ case 52: { action. consumeExpressionArraySubscript(); break;
}
-
+
//
// Rule 53: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 53: { action.builder.
- consumeExpressionFunctionCall(); break;
+ case 53: { action. consumeExpressionFunctionCall(); break;
}
-
+
//
// Rule 54: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
- case 54: { action.builder.
- consumeExpressionSimpleTypeConstructor(); break;
+ case 54: { action. consumeExpressionSimpleTypeConstructor(); break;
}
-
+
//
// Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
- case 55: { action.builder.
- consumeExpressionTypeName(); break;
+ case 55: { action. consumeExpressionTypeName(); break;
}
-
+
//
// Rule 56: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
- case 56: { action.builder.
- consumeExpressionTypeName(); break;
+ case 56: { action. consumeExpressionTypeName(); break;
}
-
+
//
// Rule 57: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
- case 57: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ case 57: { action. consumeExpressionFieldReference(false, false); break;
}
-
+
//
// Rule 58: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
- case 58: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ case 58: { action. consumeExpressionFieldReference(true, false); break;
}
-
+
//
// Rule 59: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
- case 59: { action.builder.
- consumeExpressionFieldReference(false, true); break;
+ case 59: { action. consumeExpressionFieldReference(false, true); break;
}
-
+
//
// Rule 60: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
- case 60: { action.builder.
- consumeExpressionFieldReference(true, true); break;
+ case 60: { action. consumeExpressionFieldReference(true, true); break;
}
-
+
//
// Rule 61: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
- case 61: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ case 61: { action. consumeExpressionFieldReference(false, false); break;
}
-
+
//
// Rule 62: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
- case 62: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ case 62: { action. consumeExpressionFieldReference(true, false); break;
}
-
+
//
// Rule 63: postfix_expression ::= postfix_expression ++
//
- case 63: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
-
+
//
// Rule 64: postfix_expression ::= postfix_expression --
//
- case 64: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 64: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
-
+
//
// Rule 65: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
- case 65: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
-
+
//
// Rule 66: postfix_expression ::= static_cast < type_id > ( expression )
//
- case 66: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
-
+
//
// Rule 67: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
- case 67: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
-
+
//
// Rule 68: postfix_expression ::= const_cast < type_id > ( expression )
//
- case 68: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ case 68: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
-
+
//
// Rule 69: postfix_expression ::= typeid ( expression )
//
- case 69: { action.builder.
- consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ case 69: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
-
+
//
// Rule 70: postfix_expression ::= typeid ( type_id )
//
- case 70: { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ case 70: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
-
+
//
// Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
- case 71: { action.builder.
- consumePsudoDestructorName(true); break;
+ case 71: { action. consumePsudoDestructorName(true); break;
}
-
+
//
// Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
- case 72: { action.builder.
- consumePsudoDestructorName(true); break;
+ case 72: { action. consumePsudoDestructorName(true); break;
}
-
+
//
// Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
- case 73: { action.builder.
- consumePsudoDestructorName(false); break;
+ case 73: { action. consumePsudoDestructorName(false); break;
}
-
+
//
// Rule 74: destructor_type_name ::= ~ identifier_token
//
- case 74: { action.builder.
- consumeDestructorName(); break;
+ case 74: { action. consumeDestructorName(); break;
}
-
+
//
// Rule 75: destructor_type_name ::= ~ template_id_name
//
- case 75: { action.builder.
- consumeDestructorNameTemplateId(); break;
+ case 75: { action. consumeDestructorNameTemplateId(); break;
}
-
+
//
// Rule 79: unary_expression ::= ++ cast_expression
//
- case 79: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
-
+
//
// Rule 80: unary_expression ::= -- cast_expression
//
- case 80: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
-
+
//
// Rule 81: unary_expression ::= & cast_expression
//
- case 81: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
-
+
//
// Rule 82: unary_expression ::= * cast_expression
//
- case 82: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
-
+
//
// Rule 83: unary_expression ::= + cast_expression
//
- case 83: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
-
+
//
// Rule 84: unary_expression ::= - cast_expression
//
- case 84: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
-
+
//
// Rule 85: unary_expression ::= ~ cast_expression
//
- case 85: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
-
+
//
// Rule 86: unary_expression ::= ! cast_expression
//
- case 86: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
-
+
//
// Rule 87: unary_expression ::= sizeof unary_expression
//
- case 87: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 87: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
-
+
//
// Rule 88: unary_expression ::= sizeof ( type_id )
//
- case 88: { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
+ case 88: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
-
+
//
// Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 89: { action.builder.
- consumeExpressionNew(true); break;
+ case 89: { action. consumeExpressionNew(true); break;
}
-
+
//
// Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 90: { action.builder.
- consumeExpressionNew(false); break;
+ case 90: { action. consumeExpressionNew(false); break;
}
-
+
//
// Rule 92: new_placement_opt ::= $Empty
//
- case 92: { action.builder.
- consumeEmpty(); break;
+ case 92: { action. consumeEmpty(); break;
}
-
+
//
// Rule 93: new_type_id ::= type_specifier_seq
//
- case 93: { action.builder.
- consumeTypeId(false); break;
+ case 93: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 94: new_type_id ::= type_specifier_seq new_declarator
//
- case 94: { action.builder.
- consumeTypeId(true); break;
+ case 94: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 95: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 95: { action.builder.
- consumeNewDeclarator(); break;
+ case 95: { action. consumeNewDeclarator(); break;
}
-
+
//
// Rule 102: new_initializer ::= ( expression_list_opt )
//
- case 102: { action.builder.
- consumeNewInitializer(); break;
+ case 102: { action. consumeNewInitializer(); break;
}
-
+
//
// Rule 104: new_initializer_opt ::= $Empty
//
- case 104: { action.builder.
- consumeEmpty(); break;
+ case 104: { action. consumeEmpty(); break;
}
-
+
//
// Rule 105: delete_expression ::= dcolon_opt delete cast_expression
//
- case 105: { action.builder.
- consumeExpressionDelete(false); break;
+ case 105: { action. consumeExpressionDelete(false); break;
}
-
+
//
// Rule 106: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 106: { action.builder.
- consumeExpressionDelete(true); break;
+ case 106: { action. consumeExpressionDelete(true); break;
}
-
+
//
// Rule 108: cast_expression ::= ( type_id ) cast_expression
//
- case 108: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
+ case 108: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
}
-
+
//
// Rule 110: pm_expression ::= pm_expression .* cast_expression
//
- case 110: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
-
+
//
// Rule 111: pm_expression ::= pm_expression ->* cast_expression
//
- case 111: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
-
+
//
// Rule 113: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 113: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
-
+
//
// Rule 114: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 114: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
-
+
//
// Rule 115: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 115: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
-
+
//
// Rule 117: additive_expression ::= additive_expression + multiplicative_expression
//
- case 117: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
-
+
//
// Rule 118: additive_expression ::= additive_expression - multiplicative_expression
//
- case 118: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
-
+
//
// Rule 120: shift_expression ::= shift_expression << additive_expression
//
- case 120: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
-
+
//
// Rule 121: shift_expression ::= shift_expression >> additive_expression
//
- case 121: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
-
+
//
// Rule 123: relational_expression ::= relational_expression < shift_expression
//
- case 123: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
-
+
//
// Rule 124: relational_expression ::= relational_expression > shift_expression
//
- case 124: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
-
+
//
// Rule 125: relational_expression ::= relational_expression <= shift_expression
//
- case 125: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
-
+
//
// Rule 126: relational_expression ::= relational_expression >= shift_expression
//
- case 126: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
-
+
//
// Rule 128: equality_expression ::= equality_expression == relational_expression
//
- case 128: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
-
+
//
// Rule 129: equality_expression ::= equality_expression != relational_expression
//
- case 129: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ case 129: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
-
+
//
// Rule 131: and_expression ::= and_expression & equality_expression
//
- case 131: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ case 131: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
-
+
//
// Rule 133: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 133: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ case 133: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
-
+
//
// Rule 135: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 135: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ case 135: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
-
+
//
// Rule 137: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 137: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ case 137: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
-
+
//
// Rule 139: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 139: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ case 139: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
-
+
//
// Rule 141: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 141: { action.builder.
- consumeExpressionConditional(); break;
+ case 141: { action. consumeExpressionConditional(); break;
}
-
+
//
// Rule 142: throw_expression ::= throw
//
- case 142: { action.builder.
- consumeExpressionThrow(false); break;
+ case 142: { action. consumeExpressionThrow(false); break;
}
-
+
//
// Rule 143: throw_expression ::= throw assignment_expression
//
- case 143: { action.builder.
- consumeExpressionThrow(true); break;
+ case 143: { action. consumeExpressionThrow(true); break;
}
-
+
//
// Rule 146: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 146: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
-
+
//
// Rule 147: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 147: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
-
+
//
// Rule 148: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 148: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
-
+
//
// Rule 149: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 149: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
-
+
//
// Rule 150: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 150: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
-
+
//
// Rule 151: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 151: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
-
+
//
// Rule 152: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 152: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
-
+
//
// Rule 153: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 153: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
-
+
//
// Rule 154: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 154: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
-
+
//
// Rule 155: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 155: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
-
+
//
// Rule 156: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 156: { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ case 156: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
-
+
//
// Rule 158: expression_list ::= <openscope-ast> expression_list_actual
//
- case 158: { action.builder.
- consumeExpressionList(); break;
+ case 158: { action. consumeExpressionList(); break;
}
-
+
//
// Rule 162: expression_list_opt ::= $Empty
//
- case 162: { action.builder.
- consumeEmpty(); break;
+ case 162: { action. consumeEmpty(); break;
}
-
+
//
// Rule 164: expression_opt ::= $Empty
//
- case 164: { action.builder.
- consumeEmpty(); break;
+ case 164: { action. consumeEmpty(); break;
}
-
+
//
// Rule 167: constant_expression_opt ::= $Empty
//
- case 167: { action.builder.
- consumeEmpty(); break;
+ case 167: { action. consumeEmpty(); break;
}
-
+
//
// Rule 176: statement ::= ERROR_TOKEN
//
- case 176: { action.builder.
- consumeStatementProblem(); break;
+ case 176: { action. consumeStatementProblem(); break;
}
-
+
//
// Rule 177: labeled_statement ::= identifier : statement
//
- case 177: { action.builder.
- consumeStatementLabeled(); break;
+ case 177: { action. consumeStatementLabeled(); break;
}
-
+
//
// Rule 178: labeled_statement ::= case constant_expression : statement
//
- case 178: { action.builder.
- consumeStatementCase(); break;
+ case 178: { action. consumeStatementCase(); break;
}
-
+
//
// Rule 179: labeled_statement ::= default : statement
//
- case 179: { action.builder.
- consumeStatementDefault(); break;
+ case 179: { action. consumeStatementDefault(); break;
}
-
+
//
// Rule 180: expression_statement ::= expression ;
//
- case 180: { action.builder.
- consumeStatementExpression(); break;
+ case 180: { action. consumeStatementExpression(); break;
}
-
+
//
// Rule 181: expression_statement ::= ;
//
- case 181: { action.builder.
- consumeStatementNull(); break;
+ case 181: { action. consumeStatementNull(); break;
}
-
+
//
// Rule 182: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 182: { action.builder.
- consumeStatementCompoundStatement(true); break;
+ case 182: { action. consumeStatementCompoundStatement(true); break;
}
-
+
//
// Rule 183: compound_statement ::= { }
//
- case 183: { action.builder.
- consumeStatementCompoundStatement(false); break;
+ case 183: { action. consumeStatementCompoundStatement(false); break;
}
-
+
//
// Rule 186: selection_statement ::= if ( condition ) statement
//
- case 186: { action.builder.
- consumeStatementIf(false); break;
+ case 186: { action. consumeStatementIf(false); break;
}
-
+
//
// Rule 187: selection_statement ::= if ( condition ) statement else statement
//
- case 187: { action.builder.
- consumeStatementIf(true); break;
+ case 187: { action. consumeStatementIf(true); break;
}
-
+
//
// Rule 188: selection_statement ::= switch ( condition ) statement
//
- case 188: { action.builder.
- consumeStatementSwitch(); break;
+ case 188: { action. consumeStatementSwitch(); break;
}
-
+
//
// Rule 190: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 190: { action.builder.
- consumeConditionDeclaration(); break;
+ case 190: { action. consumeConditionDeclaration(); break;
}
-
+
//
// Rule 192: condition_opt ::= $Empty
//
- case 192: { action.builder.
- consumeEmpty(); break;
+ case 192: { action. consumeEmpty(); break;
}
-
+
//
// Rule 193: iteration_statement ::= while ( condition ) statement
//
- case 193: { action.builder.
- consumeStatementWhileLoop(); break;
+ case 193: { action. consumeStatementWhileLoop(); break;
}
-
+
//
// Rule 194: iteration_statement ::= do statement while ( expression ) ;
//
- case 194: { action.builder.
- consumeStatementDoLoop(); break;
+ case 194: { action. consumeStatementDoLoop(); break;
}
-
+
//
// Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 195: { action.builder.
- consumeStatementForLoop(); break;
+ case 195: { action. consumeStatementForLoop(); break;
}
-
+
//
// Rule 197: for_init_statement ::= simple_declaration_with_declspec
//
- case 197: { action.builder.
- consumeStatementDeclaration(); break;
+ case 197: { action. consumeStatementDeclaration(); break;
}
-
+
//
// Rule 198: jump_statement ::= break ;
//
- case 198: { action.builder.
- consumeStatementBreak(); break;
+ case 198: { action. consumeStatementBreak(); break;
}
-
+
//
// Rule 199: jump_statement ::= continue ;
//
- case 199: { action.builder.
- consumeStatementContinue(); break;
+ case 199: { action. consumeStatementContinue(); break;
}
-
+
//
// Rule 200: jump_statement ::= return expression ;
//
- case 200: { action.builder.
- consumeStatementReturn(true); break;
+ case 200: { action. consumeStatementReturn(true); break;
}
-
+
//
// Rule 201: jump_statement ::= return ;
//
- case 201: { action.builder.
- consumeStatementReturn(false); break;
+ case 201: { action. consumeStatementReturn(false); break;
}
-
+
//
// Rule 202: jump_statement ::= goto identifier_token ;
//
- case 202: { action.builder.
- consumeStatementGoto(); break;
+ case 202: { action. consumeStatementGoto(); break;
}
-
+
//
// Rule 203: declaration_statement ::= block_declaration
//
- case 203: { action.builder.
- consumeStatementDeclarationWithDisambiguation(); break;
+ case 203: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
-
+
//
// Rule 204: declaration_statement ::= function_definition
//
- case 204: { action.builder.
- consumeStatementDeclaration(); break;
+ case 204: { action. consumeStatementDeclaration(); break;
}
-
+
//
// Rule 212: declaration ::= ERROR_TOKEN
//
- case 212: { action.builder.
- consumeDeclarationProblem(); break;
+ case 212: { action. consumeDeclarationProblem(); break;
}
-
+
//
// Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 222: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 222: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
- case 223: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 223: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 224: { action.builder.
- consumeDeclarationSpecifiersSimple(); break;
+ case 224: { action. consumeDeclarationSpecifiersSimple(); break;
}
-
+
//
// Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 225: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
- case 226: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 226: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 227: { action.builder.
- consumeDeclarationSpecifiersComposite(); break;
+ case 227: { action. consumeDeclarationSpecifiersComposite(); break;
}
-
+
//
// Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 228: { action.builder.
- consumeDeclarationSpecifiersTypeName(); break;
+ case 228: { action. consumeDeclarationSpecifiersTypeName(); break;
}
-
+
//
// Rule 230: declaration_specifiers_opt ::= $Empty
//
- case 230: { action.builder.
- consumeEmpty(); break;
+ case 230: { action. consumeEmpty(); break;
}
-
+
//
// Rule 234: no_type_declaration_specifier ::= friend
//
- case 234: { action.builder.
- consumeDeclSpecToken(); break;
+ case 234: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 235: no_type_declaration_specifier ::= typedef
//
- case 235: { action.builder.
- consumeDeclSpecToken(); break;
+ case 235: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 255: storage_class_specifier ::= auto
//
- case 255: { action.builder.
- consumeDeclSpecToken(); break;
+ case 255: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 256: storage_class_specifier ::= register
//
- case 256: { action.builder.
- consumeDeclSpecToken(); break;
+ case 256: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 257: storage_class_specifier ::= static
//
- case 257: { action.builder.
- consumeDeclSpecToken(); break;
+ case 257: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 258: storage_class_specifier ::= extern
//
- case 258: { action.builder.
- consumeDeclSpecToken(); break;
+ case 258: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 259: storage_class_specifier ::= mutable
//
- case 259: { action.builder.
- consumeDeclSpecToken(); break;
+ case 259: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 260: function_specifier ::= inline
//
- case 260: { action.builder.
- consumeDeclSpecToken(); break;
+ case 260: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 261: function_specifier ::= virtual
//
- case 261: { action.builder.
- consumeDeclSpecToken(); break;
+ case 261: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 262: function_specifier ::= explicit
//
- case 262: { action.builder.
- consumeDeclSpecToken(); break;
+ case 262: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 263: simple_type_specifier ::= char
//
- case 263: { action.builder.
- consumeDeclSpecToken(); break;
+ case 263: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 264: simple_type_specifier ::= wchar_t
//
- case 264: { action.builder.
- consumeDeclSpecToken(); break;
+ case 264: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 265: simple_type_specifier ::= bool
//
- case 265: { action.builder.
- consumeDeclSpecToken(); break;
+ case 265: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 266: simple_type_specifier ::= short
//
- case 266: { action.builder.
- consumeDeclSpecToken(); break;
+ case 266: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 267: simple_type_specifier ::= int
//
- case 267: { action.builder.
- consumeDeclSpecToken(); break;
+ case 267: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 268: simple_type_specifier ::= long
//
- case 268: { action.builder.
- consumeDeclSpecToken(); break;
+ case 268: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 269: simple_type_specifier ::= signed
//
- case 269: { action.builder.
- consumeDeclSpecToken(); break;
+ case 269: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 270: simple_type_specifier ::= unsigned
//
- case 270: { action.builder.
- consumeDeclSpecToken(); break;
+ case 270: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 271: simple_type_specifier ::= float
//
- case 271: { action.builder.
- consumeDeclSpecToken(); break;
+ case 271: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 272: simple_type_specifier ::= double
//
- case 272: { action.builder.
- consumeDeclSpecToken(); break;
+ case 272: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 273: simple_type_specifier ::= void
//
- case 273: { action.builder.
- consumeDeclSpecToken(); break;
+ case 273: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 276: { action.builder.
- consumeQualifiedId(false); break;
+ case 276: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
- case 277: { action.builder.
- consumeQualifiedId(false); break;
+ case 277: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
- case 278: { action.builder.
- consumeQualifiedId(false); break;
+ case 278: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 279: { action.builder.
- consumeQualifiedId(true); break;
+ case 279: { action. consumeQualifiedId(true); break;
}
-
+
//
// Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
//
- case 281: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ case 281: { action. consumeTypeSpecifierElaborated(false); break;
}
-
+
//
// Rule 282: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 282: { action.builder.
- consumeTypeSpecifierElaborated(true); break;
+ case 282: { action. consumeTypeSpecifierElaborated(true); break;
}
-
+
//
// Rule 283: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
//
- case 283: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ case 283: { action. consumeTypeSpecifierElaborated(false); break;
}
-
+
//
// Rule 284: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
//
- case 284: { action.builder.
- consumeTypeSpecifierEnumeration(false); break;
+ case 284: { action. consumeTypeSpecifierEnumeration(false); break;
}
-
+
//
// Rule 285: enum_specifier ::= enum identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 285: { action.builder.
- consumeTypeSpecifierEnumeration(true); break;
+ case 285: { action. consumeTypeSpecifierEnumeration(true); break;
}
-
+
//
// Rule 290: enumerator_definition ::= identifier_token
//
- case 290: { action.builder.
- consumeEnumerator(false); break;
+ case 290: { action. consumeEnumerator(false); break;
}
-
+
//
// Rule 291: enumerator_definition ::= identifier_token = constant_expression
//
- case 291: { action.builder.
- consumeEnumerator(true); break;
+ case 291: { action. consumeEnumerator(true); break;
}
-
+
//
// Rule 295: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 295: { action.builder.
- consumeNamespaceDefinition(true); break;
+ case 295: { action. consumeNamespaceDefinition(true); break;
}
-
+
//
// Rule 296: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 296: { action.builder.
- consumeNamespaceDefinition(false); break;
+ case 296: { action. consumeNamespaceDefinition(false); break;
}
-
+
//
// Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 297: { action.builder.
- consumeNamespaceAliasDefinition(); break;
+ case 297: { action. consumeNamespaceAliasDefinition(); break;
}
-
+
//
// Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 298: { action.builder.
- consumeUsingDeclaration(); break;
+ case 298: { action. consumeUsingDeclaration(); break;
}
-
+
//
// Rule 299: typename_opt ::= typename
//
- case 299: { action.builder.
- consumePlaceHolder(); break;
+ case 299: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 300: typename_opt ::= $Empty
//
- case 300: { action.builder.
- consumeEmpty(); break;
+ case 300: { action. consumeEmpty(); break;
}
-
+
//
// Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 301: { action.builder.
- consumeUsingDirective(); break;
+ case 301: { action. consumeUsingDirective(); break;
}
-
+
//
// Rule 302: asm_definition ::= asm ( stringlit ) ;
//
- case 302: { action.builder.
- consumeDeclarationASM(); break;
+ case 302: { action. consumeDeclarationASM(); break;
}
-
+
//
// Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 303: { action.builder.
- consumeLinkageSpecification(); break;
+ case 303: { action. consumeLinkageSpecification(); break;
}
-
+
//
// Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
- case 304: { action.builder.
- consumeLinkageSpecification(); break;
+ case 304: { action. consumeLinkageSpecification(); break;
}
-
+
//
// Rule 309: init_declarator_complete ::= init_declarator
//
- case 309: { action.builder.
- consumeInitDeclaratorComplete(); break;
+ case 309: { action. consumeInitDeclaratorComplete(); break;
}
-
+
//
// Rule 311: init_declarator ::= declarator initializer
//
- case 311: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 311: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 313: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 313: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 313: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 315: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 315: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 315: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 319: basic_direct_declarator ::= declarator_id_name
//
- case 319: { action.builder.
- consumeDirectDeclaratorIdentifier(); break;
+ case 319: { action. consumeDirectDeclaratorIdentifier(); break;
}
-
+
//
// Rule 320: basic_direct_declarator ::= ( declarator )
//
- case 320: { action.builder.
- consumeDirectDeclaratorBracketed(); break;
+ case 320: { action. consumeDirectDeclaratorBracketed(); break;
}
-
+
//
// Rule 321: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 321: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 321: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
-
+
//
// Rule 322: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 322: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 323: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 323: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 324: array_modifier ::= [ constant_expression ]
//
- case 324: { action.builder.
- consumeDirectDeclaratorArrayModifier(true); break;
+ case 324: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
-
+
//
// Rule 325: array_modifier ::= [ ]
//
- case 325: { action.builder.
- consumeDirectDeclaratorArrayModifier(false); break;
+ case 325: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
-
+
//
// Rule 326: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
//
- case 326: { action.builder.
- consumePointer(); break;
+ case 326: { action. consumePointer(); break;
}
-
+
//
// Rule 327: ptr_operator ::= &
//
- case 327: { action.builder.
- consumeReferenceOperator(); break;
+ case 327: { action. consumeReferenceOperator(); break;
}
-
+
//
// Rule 328: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
//
- case 328: { action.builder.
- consumePointerToMember(); break;
+ case 328: { action. consumePointerToMember(); break;
}
-
+
//
// Rule 334: cv_qualifier ::= const
//
- case 334: { action.builder.
- consumeDeclSpecToken(); break;
+ case 334: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 335: cv_qualifier ::= volatile
//
- case 335: { action.builder.
- consumeDeclSpecToken(); break;
+ case 335: { action. consumeDeclSpecToken(); break;
}
-
+
//
// Rule 337: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 337: { action.builder.
- consumeQualifiedId(false); break;
+ case 337: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 338: type_id ::= type_specifier_seq
//
- case 338: { action.builder.
- consumeTypeId(false); break;
+ case 338: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 339: type_id ::= type_specifier_seq abstract_declarator
//
- case 339: { action.builder.
- consumeTypeId(true); break;
+ case 339: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 342: { action.builder.
- consumeDeclaratorWithPointer(false); break;
+ case 342: { action. consumeDeclaratorWithPointer(false); break;
}
-
+
//
// Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 343: { action.builder.
- consumeDeclaratorWithPointer(true); break;
+ case 343: { action. consumeDeclaratorWithPointer(true); break;
}
-
+
//
// Rule 347: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 347: { action.builder.
- consumeDirectDeclaratorBracketed(); break;
+ case 347: { action. consumeDirectDeclaratorBracketed(); break;
}
-
+
//
// Rule 348: basic_direct_abstract_declarator ::= ( )
//
- case 348: { action.builder.
- consumeAbstractDeclaratorEmpty(); break;
+ case 348: { action. consumeAbstractDeclaratorEmpty(); break;
}
-
+
//
// Rule 349: array_direct_abstract_declarator ::= array_modifier
//
- case 349: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 349: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
-
+
//
// Rule 350: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 350: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 350: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 351: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 351: { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
-
+
//
// Rule 352: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 352: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 352: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
-
+
//
// Rule 353: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 353: { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 353: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
-
+
//
// Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 354: { action.builder.
- consumePlaceHolder(); break;
+ case 354: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 355: { action.builder.
- consumeEmpty(); break;
+ case 355: { action. consumeEmpty(); break;
}
-
+
//
// Rule 356: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 356: { action.builder.
- consumePlaceHolder(); break;
+ case 356: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 362: abstract_declarator_opt ::= $Empty
//
- case 362: { action.builder.
- consumeEmpty(); break;
+ case 362: { action. consumeEmpty(); break;
}
-
+
//
// Rule 363: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 363: { action.builder.
- consumeParameterDeclaration(); break;
+ case 363: { action. consumeParameterDeclaration(); break;
}
-
+
//
// Rule 364: parameter_declaration ::= declaration_specifiers
//
- case 364: { action.builder.
- consumeParameterDeclarationWithoutDeclarator(); break;
+ case 364: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
-
+
//
// Rule 366: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 366: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 366: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 368: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 368: { action.builder.
- consumeDeclaratorWithInitializer(true); break;
+ case 368: { action. consumeDeclaratorWithInitializer(true); break;
}
-
+
//
// Rule 369: parameter_init_declarator ::= = parameter_initializer
//
- case 369: { action.builder.
- consumeDeclaratorWithInitializer(false); break;
+ case 369: { action. consumeDeclaratorWithInitializer(false); break;
}
-
+
//
// Rule 370: parameter_initializer ::= assignment_expression
//
- case 370: { action.builder.
- consumeInitializer(); break;
+ case 370: { action. consumeInitializer(); break;
}
-
+
//
// Rule 371: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 371: { action.builder.
- consumeFunctionDefinition(false); break;
+ case 371: { action. consumeFunctionDefinition(false); break;
}
-
+
//
// Rule 372: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 372: { action.builder.
- consumeFunctionDefinition(true); break;
+ case 372: { action. consumeFunctionDefinition(true); break;
}
-
+
//
// Rule 375: initializer ::= ( expression_list )
//
- case 375: { action.builder.
- consumeInitializerConstructor(); break;
+ case 375: { action. consumeInitializerConstructor(); break;
}
-
+
//
// Rule 376: initializer_clause ::= assignment_expression
//
- case 376: { action.builder.
- consumeInitializer(); break;
+ case 376: { action. consumeInitializer(); break;
}
-
+
//
// Rule 377: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 377: { action.builder.
- consumeInitializerList(); break;
+ case 377: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 378: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
- case 378: { action.builder.
- consumeInitializerList(); break;
+ case 378: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 379: initializer_clause ::= { <openscope-ast> }
//
- case 379: { action.builder.
- consumeInitializerList(); break;
+ case 379: { action. consumeInitializerList(); break;
}
-
+
//
// Rule 380: start_initializer_list ::= $Empty
//
- case 380: { action.builder.
- initializerListStart(); break;
+ case 380: { action. initializerListStart(); break;
}
-
+
//
// Rule 381: end_initializer_list ::= $Empty
//
- case 381: { action.builder.
- initializerListEnd(); break;
+ case 381: { action. initializerListEnd(); break;
}
-
+
//
// Rule 386: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 386: { action.builder.
- consumeClassSpecifier(); break;
+ case 386: { action. consumeClassSpecifier(); break;
}
-
+
//
// Rule 387: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
//
- case 387: { action.builder.
- consumeClassHead(false); break;
+ case 387: { action. consumeClassHead(false); break;
}
-
+
//
// Rule 388: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt
//
- case 388: { action.builder.
- consumeClassHead(false); break;
+ case 388: { action. consumeClassHead(false); break;
}
-
+
//
// Rule 389: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
//
- case 389: { action.builder.
- consumeClassHead(true); break;
+ case 389: { action. consumeClassHead(true); break;
}
-
+
//
// Rule 390: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
//
- case 390: { action.builder.
- consumeClassHead(true); break;
+ case 390: { action. consumeClassHead(true); break;
}
-
+
//
// Rule 392: identifier_name_opt ::= $Empty
//
- case 392: { action.builder.
- consumeEmpty(); break;
+ case 392: { action. consumeEmpty(); break;
}
-
+
//
// Rule 396: visibility_label ::= access_specifier_keyword :
//
- case 396: { action.builder.
- consumeVisibilityLabel(); break;
+ case 396: { action. consumeVisibilityLabel(); break;
}
-
+
//
// Rule 397: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 397: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 397: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 398: member_declaration ::= declaration_specifiers_opt ;
//
- case 398: { action.builder.
- consumeDeclarationSimple(false); break;
+ case 398: { action. consumeDeclarationSimple(false); break;
}
-
+
//
// Rule 401: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 401: { action.builder.
- consumeMemberDeclarationQualifiedId(); break;
+ case 401: { action. consumeMemberDeclarationQualifiedId(); break;
}
-
+
//
// Rule 407: member_declaration ::= ERROR_TOKEN
//
- case 407: { action.builder.
- consumeDeclarationProblem(); break;
+ case 407: { action. consumeDeclarationProblem(); break;
}
-
+
//
// Rule 415: member_declarator ::= declarator constant_initializer
//
- case 415: { action.builder.
- consumeMemberDeclaratorWithInitializer(); break;
+ case 415: { action. consumeMemberDeclaratorWithInitializer(); break;
}
-
+
//
// Rule 416: member_declarator ::= bit_field_declarator : constant_expression
//
- case 416: { action.builder.
- consumeBitField(true); break;
+ case 416: { action. consumeBitField(true); break;
}
-
+
//
// Rule 417: member_declarator ::= : constant_expression
//
- case 417: { action.builder.
- consumeBitField(false); break;
+ case 417: { action. consumeBitField(false); break;
}
-
+
//
// Rule 418: bit_field_declarator ::= identifier_name
//
- case 418: { action.builder.
- consumeDirectDeclaratorIdentifier(); break;
+ case 418: { action. consumeDirectDeclaratorIdentifier(); break;
}
-
+
//
// Rule 419: constant_initializer ::= = constant_expression
//
- case 419: { action.builder.
- consumeInitializer(); break;
+ case 419: { action. consumeInitializer(); break;
}
-
+
//
// Rule 425: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 425: { action.builder.
- consumeBaseSpecifier(false, false); break;
+ case 425: { action. consumeBaseSpecifier(false, false); break;
}
-
+
//
// Rule 426: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 426: { action.builder.
- consumeBaseSpecifier(true, true); break;
+ case 426: { action. consumeBaseSpecifier(true, true); break;
}
-
+
//
// Rule 427: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
- case 427: { action.builder.
- consumeBaseSpecifier(true, true); break;
+ case 427: { action. consumeBaseSpecifier(true, true); break;
}
-
+
//
// Rule 428: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 428: { action.builder.
- consumeBaseSpecifier(true, false); break;
+ case 428: { action. consumeBaseSpecifier(true, false); break;
}
-
+
//
// Rule 429: access_specifier_keyword ::= private
//
- case 429: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 429: { action. consumeToken(); break;
}
-
+
//
// Rule 430: access_specifier_keyword ::= protected
//
- case 430: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 430: { action. consumeToken(); break;
}
-
+
//
// Rule 431: access_specifier_keyword ::= public
//
- case 431: { action.builder.
- consumeAccessKeywordToken(); break;
+ case 431: { action. consumeToken(); break;
}
-
+
//
// Rule 433: access_specifier_keyword_opt ::= $Empty
//
- case 433: { action.builder.
- consumeEmpty(); break;
+ case 433: { action. consumeEmpty(); break;
}
-
+
//
// Rule 435: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 435: { action.builder.
- consumeTemplateId(); break;
+ case 435: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 436: conversion_function_id ::= operator conversion_type_id
//
- case 436: { action.builder.
- consumeConversionName(); break;
+ case 436: { action. consumeConversionName(); break;
}
-
+
//
// Rule 437: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 437: { action.builder.
- consumeTypeId(true); break;
+ case 437: { action. consumeTypeId(true); break;
}
-
+
//
// Rule 438: conversion_type_id ::= type_specifier_seq
//
- case 438: { action.builder.
- consumeTypeId(false); break;
+ case 438: { action. consumeTypeId(false); break;
}
-
+
//
// Rule 439: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 439: { action.builder.
- consumeDeclaratorWithPointer(false); break;
+ case 439: { action. consumeDeclaratorWithPointer(false); break;
}
-
+
//
// Rule 445: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 445: { action.builder.
- consumeConstructorChainInitializer(); break;
+ case 445: { action. consumeConstructorChainInitializer(); break;
}
-
+
//
// Rule 446: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 446: { action.builder.
- consumeQualifiedId(false); break;
+ case 446: { action. consumeQualifiedId(false); break;
}
-
+
//
// Rule 449: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 449: { action.builder.
- consumeTemplateId(); break;
+ case 449: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 450: operator_id_name ::= operator overloadable_operator
//
- case 450: { action.builder.
- consumeOperatorName(); break;
+ case 450: { action. consumeOperatorName(); break;
}
-
+
//
// Rule 493: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 493: { action.builder.
- consumeTemplateDeclaration(); break;
+ case 493: { action. consumeTemplateDeclaration(); break;
}
-
+
//
// Rule 494: export_opt ::= export
//
- case 494: { action.builder.
- consumePlaceHolder(); break;
+ case 494: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 495: export_opt ::= $Empty
//
- case 495: { action.builder.
- consumeEmpty(); break;
+ case 495: { action. consumeEmpty(); break;
}
-
+
//
// Rule 499: template_parameter ::= parameter_declaration
//
- case 499: { action.builder.
- consumeTemplateParamterDeclaration(); break;
+ case 499: { action. consumeTemplateParamterDeclaration(); break;
}
-
+
//
// Rule 500: type_parameter ::= class identifier_name_opt
//
- case 500: { action.builder.
- consumeSimpleTypeTemplateParameter(false); break;
+ case 500: { action. consumeSimpleTypeTemplateParameter(false); break;
}
-
+
//
// Rule 501: type_parameter ::= class identifier_name_opt = type_id
//
- case 501: { action.builder.
- consumeSimpleTypeTemplateParameter(true); break;
+ case 501: { action. consumeSimpleTypeTemplateParameter(true); break;
}
-
+
//
// Rule 502: type_parameter ::= typename identifier_name_opt
//
- case 502: { action.builder.
- consumeSimpleTypeTemplateParameter(false); break;
+ case 502: { action. consumeSimpleTypeTemplateParameter(false); break;
}
-
+
//
// Rule 503: type_parameter ::= typename identifier_name_opt = type_id
//
- case 503: { action.builder.
- consumeSimpleTypeTemplateParameter(true); break;
+ case 503: { action. consumeSimpleTypeTemplateParameter(true); break;
}
-
+
//
// Rule 504: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 504: { action.builder.
- consumeTemplatedTypeTemplateParameter(false); break;
+ case 504: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
-
+
//
// Rule 505: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 505: { action.builder.
- consumeTemplatedTypeTemplateParameter(true); break;
+ case 505: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
-
+
//
// Rule 506: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 506: { action.builder.
- consumeTemplateId(); break;
+ case 506: { action. consumeTemplateId(); break;
}
-
+
//
// Rule 511: template_argument ::= assignment_expression
//
- case 511: { action.builder.
- consumeTemplateArgumentExpression(); break;
+ case 511: { action. consumeTemplateArgumentExpression(); break;
}
-
+
//
// Rule 512: template_argument ::= type_id
//
- case 512: { action.builder.
- consumeTemplateArgumentTypeId(); break;
+ case 512: { action. consumeTemplateArgumentTypeId(); break;
}
-
+
//
// Rule 513: explicit_instantiation ::= template declaration
//
- case 513: { action.builder.
- consumeTemplateExplicitInstantiation(); break;
+ case 513: { action. consumeTemplateExplicitInstantiation(); break;
}
-
+
//
// Rule 514: explicit_specialization ::= template < > declaration
//
- case 514: { action.builder.
- consumeTemplateExplicitSpecialization(); break;
+ case 514: { action. consumeTemplateExplicitSpecialization(); break;
}
-
+
//
// Rule 515: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 515: { action.builder.
- consumeStatementTryBlock(); break;
+ case 515: { action. consumeStatementTryBlock(); break;
}
-
+
//
// Rule 518: handler ::= catch ( exception_declaration ) compound_statement
//
- case 518: { action.builder.
- consumeStatementCatchHandler(false); break;
+ case 518: { action. consumeStatementCatchHandler(false); break;
}
-
+
//
// Rule 519: handler ::= catch ( ... ) compound_statement
//
- case 519: { action.builder.
- consumeStatementCatchHandler(true); break;
+ case 519: { action. consumeStatementCatchHandler(true); break;
}
-
+
//
// Rule 520: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 520: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 520: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 521: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
- case 521: { action.builder.
- consumeDeclarationSimple(true); break;
+ case 521: { action. consumeDeclarationSimple(true); break;
}
-
+
//
// Rule 522: exception_declaration ::= type_specifier_seq
//
- case 522: { action.builder.
- consumeDeclarationSimple(false); break;
+ case 522: { action. consumeDeclarationSimple(false); break;
}
-
+
//
// Rule 524: exception_specification ::= throw ( )
//
- case 524: { action.builder.
- consumePlaceHolder(); break;
+ case 524: { action. consumePlaceHolder(); break;
}
-
+
//
// Rule 530: type_parameter_start ::= ERROR_TOKEN
//
- case 530: { action.builder.
- consumeDeclarationProblem(); break;
+ case 530: { action. consumeDeclarationProblem(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java
index 864933421b9..b889fa738ab 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java
index 14172379c65..20e109fc2d2 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java
@@ -3,7 +3,7 @@
* 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
-* http://www.eclipse.org/legal/epl_v10.html
+* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation

Back to the top