Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Kucera2008-01-29 21:34:25 +0000
committerMike Kucera2008-01-29 21:34:25 +0000
commit0c825ab41c194de55e47239c1ff3ea8ce0dca57f (patch)
tree2b375ebfc82cccd4c3d92ea40f4f7b03e86cdeed /lrparser
parent986ba49c194a43fe5dd058b42fb4fe073f170fd7 (diff)
downloadorg.eclipse.cdt-0c825ab41c194de55e47239c1ff3ea8ce0dca57f.tar.gz
org.eclipse.cdt-0c825ab41c194de55e47239c1ff3ea8ce0dca57f.tar.xz
org.eclipse.cdt-0c825ab41c194de55e47239c1ff3ea8ce0dca57f.zip
reverted to backtracking parser, fixed a few bugs
Diffstat (limited to 'lrparser')
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java27
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java4
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java1
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java23
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java23
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/AbstractTrialUndoActionProvider.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.g23
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java4786
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java281
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java8
10 files changed, 2104 insertions, 3074 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java
index c35084bc969..b7bb10a6457 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java
@@ -14,6 +14,7 @@ import org.eclipse.cdt.core.dom.ICodeReaderFactory;
import org.eclipse.cdt.core.dom.ast.IASTCompletionNode;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
import org.eclipse.cdt.core.dom.ast.gnu.c.GCCLanguage;
+import org.eclipse.cdt.core.dom.ast.gnu.cpp.GPPLanguage;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.util.DebugUtil;
import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration;
@@ -70,7 +71,7 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage implements
*
* @return an IASTTranslationUnit object thats empty and will be filled in by the parser
*/
- protected abstract IASTTranslationUnit createASTTranslationUnit();
+ protected abstract IASTTranslationUnit createASTTranslationUnit(IIndex index, IScanner preprocessor);
/**
@@ -97,12 +98,12 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage implements
public IASTTranslationUnit getASTTranslationUnit(CodeReader reader, IScannerInfo scanInfo,
ICodeReaderFactory fileCreator, IIndex index, int options, IParserLogService log) throws CoreException {
- ILanguage gccLanguage = GCCLanguage.getDefault();
- IASTTranslationUnit gtu = gccLanguage.getASTTranslationUnit(reader, scanInfo, fileCreator, index, log);
+ ILanguage gppLanguage = GPPLanguage.getDefault();
+ IASTTranslationUnit gtu = gppLanguage.getASTTranslationUnit(reader, scanInfo, fileCreator, index, log);
System.out.println();
System.out.println("********************************************************");
- System.out.println("GCC AST:");
+ System.out.println("GPP AST:");
DebugUtil.printAST(gtu);
System.out.println();
@@ -120,7 +121,7 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage implements
preprocessor.setComputeImageLocations((options & AbstractLanguage.OPTION_NO_IMAGE_LOCATIONS) == 0);
IParser parser = getParser();
- IASTTranslationUnit tu = createTranslationUnit(index, preprocessor);
+ IASTTranslationUnit tu = createASTTranslationUnit(index, preprocessor);
CPreprocessorAdapter.runCPreprocessor(preprocessor, parser, getTokenMap(), tu);
@@ -128,7 +129,7 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage implements
System.out.println("Base Extensible Language AST:");
- //DebugUtil.printAST(tu);
+ DebugUtil.printAST(tu);
return tu;
}
@@ -153,7 +154,7 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage implements
preprocessor.setContentAssistMode(offset);
IParser parser = getParser();
- IASTTranslationUnit tu = createTranslationUnit(index, preprocessor);
+ IASTTranslationUnit tu = createASTTranslationUnit(index, preprocessor);
CPreprocessorAdapter.runCPreprocessor(preprocessor, parser, getTokenMap(), tu);
@@ -163,16 +164,6 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage implements
}
- /**
- * Gets the translation unit object and sets the index and the location resolver.
- */
- private IASTTranslationUnit createTranslationUnit(IIndex index, IScanner preprocessor) {
- IASTTranslationUnit tu = createASTTranslationUnit();
- tu.setIndex(index);
- if(tu instanceof CASTTranslationUnit) {
- ((CASTTranslationUnit)tu).setLocationResolver(preprocessor.getLocationResolver());
- }
- return tu;
- }
+
}
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 e0efebdcff4..47e7dbe55c2 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
@@ -294,8 +294,8 @@ public abstract class BuildASTParserAction {
// this is the same way that the DOM parser computes the length
IASTDeclaration[] declarations = tu.getDeclarations();
if (declarations.length != 0) {
- CASTNode d = (CASTNode) declarations[declarations.length-1];
- setOffsetAndLength(tu, 0, d.getOffset() + d.getLength());
+ IASTNode d = declarations[declarations.length-1];
+ setOffsetAndLength(tu, 0, offset(d) + length(d));
}
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 d71a83472d1..bcec644a3b3 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
@@ -74,6 +74,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplatedTypeTemplateParameter;
+import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTranslationUnit;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTryBlockStatement;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypenameExpression;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUnaryExpression;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java
index a05e0260368..ceaf4831a9c 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java
@@ -18,10 +18,15 @@ import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage;
import org.eclipse.cdt.core.dom.lrparser.IParser;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory;
+import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPASTNodeFactory;
+import org.eclipse.cdt.core.index.IIndex;
import org.eclipse.cdt.core.model.IContributedModelBuilder;
import org.eclipse.cdt.core.model.ITranslationUnit;
+import org.eclipse.cdt.core.parser.IScanner;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parser;
+import org.eclipse.cdt.internal.core.dom.parser.c.CASTTranslationUnit;
+import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTranslationUnit;
/**
* ILanguage implementation for the C99 parser.
@@ -83,15 +88,23 @@ public class C99Language extends BaseExtensibleLanguage {
}
@Override
- protected IASTTranslationUnit createASTTranslationUnit() {
- return C99ASTNodeFactory.DEFAULT_INSTANCE.newTranslationUnit();
- }
-
- @Override
protected ParserLanguage getParserLanguageForPreprocessor() {
return ParserLanguage.C;
}
+ /**
+ * Gets the translation unit object and sets the index and the location resolver.
+ */
+ @SuppressWarnings("restriction")
+ @Override
+ protected IASTTranslationUnit createASTTranslationUnit(IIndex index, IScanner preprocessor) {
+ IASTTranslationUnit tu = C99ASTNodeFactory.DEFAULT_INSTANCE.newTranslationUnit();
+ tu.setIndex(index);
+ if(tu instanceof CASTTranslationUnit) {
+ ((CASTTranslationUnit)tu).setLocationResolver(preprocessor.getLocationResolver());
+ }
+ return tu;
+ }
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java
index 03eff1a60ce..39b943e2573 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java
@@ -17,11 +17,14 @@ import org.eclipse.cdt.core.dom.ast.gnu.cpp.GPPLanguage;
import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage;
import org.eclipse.cdt.core.dom.lrparser.IParser;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
-import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory;
+import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPASTNodeFactory;
+import org.eclipse.cdt.core.index.IIndex;
import org.eclipse.cdt.core.model.IContributedModelBuilder;
import org.eclipse.cdt.core.model.ITranslationUnit;
+import org.eclipse.cdt.core.parser.IScanner;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParser;
+import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTranslationUnit;
/**
* ILanguage implementation for the C++ parser.
@@ -83,15 +86,23 @@ public class ISOCPPLanguage extends BaseExtensibleLanguage {
}
@Override
- protected IASTTranslationUnit createASTTranslationUnit() {
- return C99ASTNodeFactory.DEFAULT_INSTANCE.newTranslationUnit();
- }
-
- @Override
protected ParserLanguage getParserLanguageForPreprocessor() {
return ParserLanguage.CPP;
}
+ /**
+ * Gets the translation unit object and sets the index and the location resolver.
+ */
+ @SuppressWarnings("restriction")
+ @Override
+ protected IASTTranslationUnit createASTTranslationUnit(IIndex index, IScanner preprocessor) {
+ IASTTranslationUnit tu = CPPASTNodeFactory.DEFAULT_INSTANCE.newTranslationUnit();
+ tu.setIndex(index);
+ if(tu instanceof CPPASTTranslationUnit) {
+ ((CPPASTTranslationUnit)tu).setLocationResolver(preprocessor.getLocationResolver());
+ }
+ return tu;
+ }
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/AbstractTrialUndoActionProvider.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/AbstractTrialUndoActionProvider.java
index b3ea0ae0796..cff7bb06844 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/AbstractTrialUndoActionProvider.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/AbstractTrialUndoActionProvider.java
@@ -95,7 +95,7 @@ public abstract class AbstractTrialUndoActionProvider<ACT, RULE_DATA> extends Pr
}
public final void finalAction(int rule_number) {
- System.out.println("finalAction: " + rule_number);
+ //System.out.println("finalAction: " + rule_number); //$NON-NLS-1$
ruleAction[rule_number].doFinal(this, parserAction);
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.g b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.g
index 67ac3f16ca2..cb5f5827222 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.g
@@ -11,7 +11,7 @@
%options la=2
%options package=org.eclipse.cdt.internal.core.dom.lrparser.cpp
-%options template=TrialUndoParserTemplate.g
+%options template=btParserTemplateD.g
@@ -61,7 +61,7 @@ $Terminals
-- there's going to be more of these
identifier
- TypedefName
+ -- TypedefName
-- Special tokens used in content assist
@@ -148,7 +148,7 @@ $End
$Define
-- These macros allow the template and header code to be customized by an extending parser.
$ast_class /.Object./
- $additional_interfaces /. ./
+ $additional_interfaces /. , IParserActionTokenProvider, IParser ./
$build_action_class /. CPPBuildASTParserAction ./
$resolve_action_class /. C99TypedefTrackerParserAction ./
@@ -175,9 +175,10 @@ $Define
$resolve /. action.resolver./
$builder /. action.builder./
- --$Action /. $BeginAction ./
- --$BeginFinal /. ./
- --$EndFinal /. ./
+ -- comment out when using trial/undo
+ $Action /. $BeginAction ./
+ $BeginFinal /. ./
+ $EndFinal /. ./
$End
@@ -187,7 +188,7 @@ $Headers
private $action_class action;
// uncomment to use with backtracking parser
- // public CPPParser() {}
+ public CPPParser() {}
private void initActions(IASTTranslationUnit tu) {
// binding resolution actions need access to IASTName nodes, temporary
@@ -197,7 +198,7 @@ $Headers
//action.builder.setTokenMap(CPPParsersym.orderedTerminalSymbols);
// comment this line to use with backtracking parser
- setParserAction(action);
+ //setParserAction(action);
}
@@ -249,9 +250,9 @@ $Headers
// uncomment this method to use with backtracking parser
- //public List getRuleTokens() {
- // return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
- //}
+ public List getRuleTokens() {
+ return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
+ }
./
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 ee0e5948adc..2806a3354cd 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
@@ -13,11 +13,7 @@
package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
-
import lpg.lpgjavaruntime.*;
-import org.eclipse.cdt.core.dom.lrparser.lpgextensions.ITrialUndoActionProvider;
-import org.eclipse.cdt.core.dom.lrparser.lpgextensions.AbstractTrialUndoActionProvider;
-import org.eclipse.cdt.core.dom.lrparser.lpgextensions.TrialUndoParser;
import java.util.*;
@@ -29,110 +25,147 @@ import org.eclipse.cdt.core.dom.lrparser.IParser;
import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
import org.eclipse.cdt.core.dom.lrparser.util.DebugUtil;
-public class CPPParser extends AbstractTrialUndoActionProvider< CPPParserAction , Object > implements IParserActionTokenProvider, IParser {
- private static ParseTable prs = new CPPParserprs();
- protected static final Action< CPPParserAction , Object >[] RULE_ACTIONS;
+public class CPPParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+{
+ private static ParseTable prs = new CPPParserprs();
+ private BacktrackingParser btParser;
- {
- ruleAction = RULE_ACTIONS;
- }
-
- public CPPParser(LexStream lexStream) {
- super(lexStream);
+ public BacktrackingParser getParser() { return btParser; }
+ private void setResult(Object object) { btParser.setSym1(object); }
+ public Object getRhsSym(int i) { return btParser.getSym(i); }
- try {
- super.remapTerminalSymbols(orderedTerminalSymbols(), CPPParserprs.EOFT_SYMBOL);
- } catch (NullExportedSymbolsException e) {
- } catch (NullTerminalSymbolsException e) {
- } catch (UnimplementedTerminalsException e) {
- java.util.ArrayList unimplemented_symbols = e.getSymbols();
- System.out.println("The Lexer will not scan the following token(s):");
- for (int i = 0; i < unimplemented_symbols.size(); i++) {
- Integer id = (Integer) unimplemented_symbols.get(i);
- System.out.println(" " + CPPParsersym.orderedTerminalSymbols[id.intValue()]);
- }
- System.out.println();
- } catch (UndefinedEofSymbolException e) {
- throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " + CPPParsersym.orderedTerminalSymbols[CPPParserprs.EOFT_SYMBOL]));
- }
- }
+ public int getRhsTokenIndex(int i) { return btParser.getToken(i); }
+ public IToken getRhsIToken(int i) { return super.getIToken(getRhsTokenIndex(i)); }
+
+ public int getRhsFirstTokenIndex(int i) { return btParser.getFirstToken(i); }
+ public IToken getRhsFirstIToken(int i) { return super.getIToken(getRhsFirstTokenIndex(i)); }
-
- public CPPParser() { // constructor
- // this(new $lexer_class());
- }
+ public int getRhsLastTokenIndex(int i) { return btParser.getLastToken(i); }
+ public IToken getRhsLastIToken(int i) { return super.getIToken(getRhsLastTokenIndex(i)); }
- public String[] orderedTerminalSymbols() {
- return CPPParsersym.orderedTerminalSymbols;
- }
+ public int getLeftSpan() { return btParser.getFirstToken(); }
+ public IToken getLeftIToken() { return super.getIToken(getLeftSpan()); }
- public String getTokenKindName(int kind) {
- return CPPParsersym.orderedTerminalSymbols[kind];
- }
-
- public int getEOFTokenKind() {
- return CPPParserprs.EOFT_SYMBOL;
- }
-
- public PrsStream getParseStream() {
- return (PrsStream) this;
- }
+ public int getRightSpan() { return btParser.getLastToken(); }
+ public IToken getRightIToken() { return super.getIToken(getRightSpan()); }
- //
- // Report error message for given error_token.
- //
- public final void reportErrorTokenMessage(int error_token, String msg) {
- int firsttok = super.getFirstRealToken(error_token), lasttok = super.getLastRealToken(error_token);
- String location = super.getFileName() + ':' +
- (firsttok > lasttok
- ? (super.getEndLine(lasttok) + ":" + super.getEndColumn(lasttok))
- : (super.getLine(error_token) + ":" +
- super.getColumn(error_token) + ":" +
- super.getEndLine(error_token) + ":" +
- super.getEndColumn(error_token))) + ": ";
- super.reportError((firsttok > lasttok ? ParseErrorCodes.INSERTION_CODE : ParseErrorCodes.SUBSTITUTION_CODE), location, msg);
- }
+ public int getRhsErrorTokenIndex(int i)
+ {
+ int index = btParser.getToken(i);
+ IToken err = super.getIToken(index);
+ return (err instanceof ErrorToken ? index : 0);
+ }
+ public ErrorToken getRhsErrorIToken(int i)
+ {
+ int index = btParser.getToken(i);
+ IToken err = super.getIToken(index);
+ return (ErrorToken) (err instanceof ErrorToken ? err : null);
+ }
- public Object parser() {
- return parser(null, 0);
- }
+ public CPPParser(LexStream lexStream)
+ {
+ super(lexStream);
- public Object parser(Monitor monitor) {
- return parser(monitor, 0);
- }
+ try
+ {
+ super.remapTerminalSymbols(orderedTerminalSymbols(), CPPParserprs.EOFT_SYMBOL);
+ }
+ catch(NullExportedSymbolsException e) {
+ }
+ catch(NullTerminalSymbolsException e) {
+ }
+ catch(UnimplementedTerminalsException e)
+ {
+ java.util.ArrayList unimplemented_symbols = e.getSymbols();
+ System.out.println("The Lexer will not scan the following token(s):");
+ for (int i = 0; i < unimplemented_symbols.size(); i++)
+ {
+ Integer id = (Integer) unimplemented_symbols.get(i);
+ System.out.println(" " + CPPParsersym.orderedTerminalSymbols[id.intValue()]);
+ }
+ System.out.println();
+ }
+ catch(UndefinedEofSymbolException e)
+ {
+ throw new Error(new UndefinedEofSymbolException
+ ("The Lexer does not implement the Eof symbol " +
+ CPPParsersym.orderedTerminalSymbols[CPPParserprs.EOFT_SYMBOL]));
+ }
+ }
- public Object parser(int error_repair_count) {
- return parser(null, error_repair_count);
- }
+ public String[] orderedTerminalSymbols() { return CPPParsersym.orderedTerminalSymbols; }
+ public String getTokenKindName(int kind) { return CPPParsersym.orderedTerminalSymbols[kind]; }
+ public int getEOFTokenKind() { return CPPParserprs.EOFT_SYMBOL; }
+ public PrsStream getParseStream() { return (PrsStream) this; }
+
+ //
+ // Report error message for given error_token.
+ //
+ public final void reportErrorTokenMessage(int error_token, String msg)
+ {
+ int firsttok = super.getFirstErrorToken(error_token),
+ lasttok = super.getLastErrorToken(error_token);
+ String location = super.getFileName() + ':' +
+ (firsttok > lasttok
+ ? (super.getEndLine(lasttok) + ":" + super.getEndColumn(lasttok))
+ : (super.getLine(error_token) + ":" +
+ super.getColumn(error_token) + ":" +
+ super.getEndLine(error_token) + ":" +
+ super.getEndColumn(error_token)))
+ + ": ";
+ super.reportError((firsttok > lasttok ? ParseErrorCodes.INSERTION_CODE : ParseErrorCodes.SUBSTITUTION_CODE), location, msg);
+ }
- public Object parser(Monitor monitor, int error_repair_count) {
- try {
- btParser = new TrialUndoParser((TokenStream) this, prs, (ITrialUndoActionProvider< Object >) this);
- } catch (NotBacktrackParseTableException e) {
- throw new Error(new NotBacktrackParseTableException("Regenerate CPPParserprs.java with -BACKTRACK option"));
- } catch (BadParseSymFileException e) {
- throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- CPPParsersym.java"));
- }
+ public Object parser()
+ {
+ return parser(null, 0);
+ }
+
+ public Object parser(Monitor monitor)
+ {
+ return parser(monitor, 0);
+ }
+
+ public Object parser(int error_repair_count)
+ {
+ return parser(null, error_repair_count);
+ }
- try {
- Object result = (Object) btParser.parse(error_repair_count);
- btParser.commit();
- return result;
- } catch (BadParseException e) {
- reset(e.error_token); // point to error token
+ public Object parser(Monitor monitor, int error_repair_count)
+ {
+ try
+ {
+ btParser = new BacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this);
+ }
+ catch (NotBacktrackParseTableException e)
+ {
+ throw new Error(new NotBacktrackParseTableException
+ ("Regenerate CPPParserprs.java with -BACKTRACK option"));
+ }
+ catch (BadParseSymFileException e)
+ {
+ throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- CPPParsersym.java"));
+ }
- //DiagnoseParser diagnoseParser = new DiagnoseParser((TokenStream) this, prs);
- //diagnoseParser.diagnose(e.error_token);
- }
+ try
+ {
+ return (Object) btParser.parse(error_repair_count);
+ }
+ catch (BadParseException e)
+ {
+ reset(e.error_token); // point to error token
+ DiagnoseParser diagnoseParser = new DiagnoseParser(this, prs);
+ diagnoseParser.diagnose(e.error_token);
+ }
- return null;
- }
+ return null;
+ }
private CPPParserAction action;
// uncomment to use with backtracking parser
-// public CPPParser() {}
+public CPPParser() {}
private void initActions(IASTTranslationUnit tu) {
// binding resolution actions need access to IASTName nodes, temporary
@@ -142,7 +175,7 @@ private void initActions(IASTTranslationUnit tu) {
//action.builder.setTokenMap(CPPParsersym.orderedTerminalSymbols);
// comment this line to use with backtracking parser
- setParserAction(action);
+ //setParserAction(action);
}
@@ -194,2803 +227,1786 @@ public int getKind(int i) {
// uncomment this method to use with backtracking parser
-//public List getRuleTokens() {
-// return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
-//}
-
-
-
-
- //
- // Initialize ruleAction array.
- //
- static {
- RULE_ACTIONS = new Action[523 + 1];
- RULE_ACTIONS[0] = null;
+public List getRuleTokens() {
+ return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
+}
- RULE_ACTIONS[1] = new Action1();
- RULE_ACTIONS[4] = new Action4();
- RULE_ACTIONS[5] = new Action5();
- RULE_ACTIONS[10] = new Action10();
- RULE_ACTIONS[11] = new Action11();
- RULE_ACTIONS[12] = new Action12();
- RULE_ACTIONS[13] = new Action13();
- RULE_ACTIONS[14] = new Action14();
- RULE_ACTIONS[15] = new Action15();
- RULE_ACTIONS[16] = new Action16();
- RULE_ACTIONS[17] = new Action17();
- RULE_ACTIONS[18] = new Action18();
- RULE_ACTIONS[19] = new Action19();
- RULE_ACTIONS[21] = new Action21();
- RULE_ACTIONS[23] = new Action23();
- RULE_ACTIONS[30] = new Action30();
- RULE_ACTIONS[31] = new Action31();
- RULE_ACTIONS[32] = new Action32();
- RULE_ACTIONS[33] = new Action33();
- RULE_ACTIONS[34] = new Action34();
- RULE_ACTIONS[35] = new Action35();
- RULE_ACTIONS[36] = new Action36();
- RULE_ACTIONS[37] = new Action37();
- RULE_ACTIONS[38] = new Action38();
- RULE_ACTIONS[39] = new Action39();
- RULE_ACTIONS[40] = new Action40();
- RULE_ACTIONS[41] = new Action41();
- RULE_ACTIONS[42] = new Action42();
- RULE_ACTIONS[43] = new Action43();
- RULE_ACTIONS[44] = new Action44();
- RULE_ACTIONS[46] = new Action46();
- RULE_ACTIONS[50] = new Action50();
- RULE_ACTIONS[51] = new Action51();
- RULE_ACTIONS[52] = new Action52();
- RULE_ACTIONS[53] = new Action53();
- RULE_ACTIONS[54] = new Action54();
- RULE_ACTIONS[55] = new Action55();
- RULE_ACTIONS[56] = new Action56();
- RULE_ACTIONS[57] = new Action57();
- RULE_ACTIONS[58] = new Action58();
- RULE_ACTIONS[59] = new Action59();
- RULE_ACTIONS[60] = new Action60();
- RULE_ACTIONS[61] = new Action61();
- RULE_ACTIONS[62] = new Action62();
- RULE_ACTIONS[63] = new Action63();
- RULE_ACTIONS[64] = new Action64();
- RULE_ACTIONS[65] = new Action65();
- RULE_ACTIONS[66] = new Action66();
- RULE_ACTIONS[67] = new Action67();
- RULE_ACTIONS[68] = new Action68();
- RULE_ACTIONS[69] = new Action69();
- RULE_ACTIONS[70] = new Action70();
- RULE_ACTIONS[71] = new Action71();
- RULE_ACTIONS[75] = new Action75();
- RULE_ACTIONS[76] = new Action76();
- RULE_ACTIONS[77] = new Action77();
- RULE_ACTIONS[78] = new Action78();
- RULE_ACTIONS[79] = new Action79();
- RULE_ACTIONS[80] = new Action80();
- RULE_ACTIONS[81] = new Action81();
- RULE_ACTIONS[82] = new Action82();
- RULE_ACTIONS[83] = new Action83();
- RULE_ACTIONS[84] = new Action84();
- RULE_ACTIONS[85] = new Action85();
- RULE_ACTIONS[86] = new Action86();
- RULE_ACTIONS[89] = new Action89();
- RULE_ACTIONS[90] = new Action90();
- RULE_ACTIONS[91] = new Action91();
- RULE_ACTIONS[92] = new Action92();
- RULE_ACTIONS[101] = new Action101();
- RULE_ACTIONS[102] = new Action102();
- RULE_ACTIONS[103] = new Action103();
- RULE_ACTIONS[105] = new Action105();
- RULE_ACTIONS[107] = new Action107();
- RULE_ACTIONS[108] = new Action108();
- RULE_ACTIONS[110] = new Action110();
- RULE_ACTIONS[111] = new Action111();
- RULE_ACTIONS[112] = new Action112();
- RULE_ACTIONS[114] = new Action114();
- RULE_ACTIONS[115] = new Action115();
- RULE_ACTIONS[117] = new Action117();
- RULE_ACTIONS[118] = new Action118();
- RULE_ACTIONS[120] = new Action120();
- RULE_ACTIONS[121] = new Action121();
- RULE_ACTIONS[122] = new Action122();
- RULE_ACTIONS[123] = new Action123();
- RULE_ACTIONS[125] = new Action125();
- RULE_ACTIONS[126] = new Action126();
- RULE_ACTIONS[128] = new Action128();
- RULE_ACTIONS[130] = new Action130();
- RULE_ACTIONS[132] = new Action132();
- RULE_ACTIONS[134] = new Action134();
- RULE_ACTIONS[136] = new Action136();
- RULE_ACTIONS[138] = new Action138();
- RULE_ACTIONS[139] = new Action139();
- RULE_ACTIONS[140] = new Action140();
- RULE_ACTIONS[143] = new Action143();
- RULE_ACTIONS[144] = new Action144();
- RULE_ACTIONS[145] = new Action145();
- RULE_ACTIONS[146] = new Action146();
- RULE_ACTIONS[147] = new Action147();
- RULE_ACTIONS[148] = new Action148();
- RULE_ACTIONS[149] = new Action149();
- RULE_ACTIONS[150] = new Action150();
- RULE_ACTIONS[151] = new Action151();
- RULE_ACTIONS[152] = new Action152();
- RULE_ACTIONS[153] = new Action153();
- RULE_ACTIONS[155] = new Action155();
- RULE_ACTIONS[156] = new Action156();
- RULE_ACTIONS[160] = new Action160();
- RULE_ACTIONS[162] = new Action162();
- RULE_ACTIONS[165] = new Action165();
- RULE_ACTIONS[174] = new Action174();
- RULE_ACTIONS[175] = new Action175();
- RULE_ACTIONS[176] = new Action176();
- RULE_ACTIONS[177] = new Action177();
- RULE_ACTIONS[178] = new Action178();
- RULE_ACTIONS[179] = new Action179();
- RULE_ACTIONS[180] = new Action180();
- RULE_ACTIONS[181] = new Action181();
- RULE_ACTIONS[184] = new Action184();
- RULE_ACTIONS[185] = new Action185();
- RULE_ACTIONS[186] = new Action186();
- RULE_ACTIONS[188] = new Action188();
- RULE_ACTIONS[189] = new Action189();
- RULE_ACTIONS[190] = new Action190();
- RULE_ACTIONS[191] = new Action191();
- RULE_ACTIONS[192] = new Action192();
- RULE_ACTIONS[193] = new Action193();
- RULE_ACTIONS[194] = new Action194();
- RULE_ACTIONS[195] = new Action195();
- RULE_ACTIONS[196] = new Action196();
- RULE_ACTIONS[197] = new Action197();
- RULE_ACTIONS[198] = new Action198();
- RULE_ACTIONS[215] = new Action215();
- RULE_ACTIONS[216] = new Action216();
- RULE_ACTIONS[217] = new Action217();
- RULE_ACTIONS[218] = new Action218();
- RULE_ACTIONS[219] = new Action219();
- RULE_ACTIONS[220] = new Action220();
- RULE_ACTIONS[222] = new Action222();
- RULE_ACTIONS[226] = new Action226();
- RULE_ACTIONS[227] = new Action227();
- RULE_ACTIONS[255] = new Action255();
- RULE_ACTIONS[271] = new Action271();
- RULE_ACTIONS[272] = new Action272();
- RULE_ACTIONS[273] = new Action273();
- RULE_ACTIONS[274] = new Action274();
- RULE_ACTIONS[275] = new Action275();
- RULE_ACTIONS[276] = new Action276();
- RULE_ACTIONS[277] = new Action277();
- RULE_ACTIONS[279] = new Action279();
- RULE_ACTIONS[280] = new Action280();
- RULE_ACTIONS[285] = new Action285();
- RULE_ACTIONS[286] = new Action286();
- RULE_ACTIONS[295] = new Action295();
- RULE_ACTIONS[296] = new Action296();
- RULE_ACTIONS[297] = new Action297();
- RULE_ACTIONS[299] = new Action299();
- RULE_ACTIONS[300] = new Action300();
- RULE_ACTIONS[301] = new Action301();
- RULE_ACTIONS[302] = new Action302();
- RULE_ACTIONS[303] = new Action303();
- RULE_ACTIONS[304] = new Action304();
- RULE_ACTIONS[305] = new Action305();
- RULE_ACTIONS[306] = new Action306();
- RULE_ACTIONS[312] = new Action312();
- RULE_ACTIONS[314] = new Action314();
- RULE_ACTIONS[318] = new Action318();
- RULE_ACTIONS[319] = new Action319();
- RULE_ACTIONS[320] = new Action320();
- RULE_ACTIONS[321] = new Action321();
- RULE_ACTIONS[322] = new Action322();
- RULE_ACTIONS[323] = new Action323();
- RULE_ACTIONS[324] = new Action324();
- RULE_ACTIONS[325] = new Action325();
- RULE_ACTIONS[326] = new Action326();
- RULE_ACTIONS[327] = new Action327();
- RULE_ACTIONS[333] = new Action333();
- RULE_ACTIONS[334] = new Action334();
- RULE_ACTIONS[336] = new Action336();
- RULE_ACTIONS[337] = new Action337();
- RULE_ACTIONS[338] = new Action338();
- RULE_ACTIONS[341] = new Action341();
- RULE_ACTIONS[342] = new Action342();
- RULE_ACTIONS[346] = new Action346();
- RULE_ACTIONS[347] = new Action347();
- RULE_ACTIONS[348] = new Action348();
- RULE_ACTIONS[349] = new Action349();
- RULE_ACTIONS[350] = new Action350();
- RULE_ACTIONS[351] = new Action351();
- RULE_ACTIONS[352] = new Action352();
- RULE_ACTIONS[353] = new Action353();
- RULE_ACTIONS[354] = new Action354();
- RULE_ACTIONS[360] = new Action360();
- RULE_ACTIONS[361] = new Action361();
- RULE_ACTIONS[362] = new Action362();
- RULE_ACTIONS[364] = new Action364();
- RULE_ACTIONS[366] = new Action366();
- RULE_ACTIONS[367] = new Action367();
- RULE_ACTIONS[368] = new Action368();
- RULE_ACTIONS[369] = new Action369();
- RULE_ACTIONS[370] = new Action370();
- RULE_ACTIONS[373] = new Action373();
- RULE_ACTIONS[374] = new Action374();
- RULE_ACTIONS[375] = new Action375();
- RULE_ACTIONS[376] = new Action376();
- RULE_ACTIONS[377] = new Action377();
- RULE_ACTIONS[382] = new Action382();
- RULE_ACTIONS[383] = new Action383();
- RULE_ACTIONS[384] = new Action384();
- RULE_ACTIONS[385] = new Action385();
- RULE_ACTIONS[386] = new Action386();
- RULE_ACTIONS[390] = new Action390();
- RULE_ACTIONS[394] = new Action394();
- RULE_ACTIONS[395] = new Action395();
- RULE_ACTIONS[396] = new Action396();
- RULE_ACTIONS[399] = new Action399();
- RULE_ACTIONS[410] = new Action410();
- RULE_ACTIONS[411] = new Action411();
- RULE_ACTIONS[412] = new Action412();
- RULE_ACTIONS[413] = new Action413();
- RULE_ACTIONS[420] = new Action420();
- RULE_ACTIONS[421] = new Action421();
- RULE_ACTIONS[422] = new Action422();
- RULE_ACTIONS[423] = new Action423();
- RULE_ACTIONS[429] = new Action429();
- RULE_ACTIONS[430] = new Action430();
- RULE_ACTIONS[431] = new Action431();
- RULE_ACTIONS[432] = new Action432();
- RULE_ACTIONS[438] = new Action438();
- RULE_ACTIONS[439] = new Action439();
- RULE_ACTIONS[442] = new Action442();
- RULE_ACTIONS[443] = new Action443();
- RULE_ACTIONS[486] = new Action486();
- RULE_ACTIONS[487] = new Action487();
- RULE_ACTIONS[488] = new Action488();
- RULE_ACTIONS[493] = new Action493();
- RULE_ACTIONS[494] = new Action494();
- RULE_ACTIONS[495] = new Action495();
- RULE_ACTIONS[496] = new Action496();
- RULE_ACTIONS[497] = new Action497();
- RULE_ACTIONS[498] = new Action498();
- RULE_ACTIONS[499] = new Action499();
- RULE_ACTIONS[508] = new Action508();
- RULE_ACTIONS[509] = new Action509();
- RULE_ACTIONS[510] = new Action510();
- RULE_ACTIONS[513] = new Action513();
- RULE_ACTIONS[514] = new Action514();
- RULE_ACTIONS[515] = new Action515();
- RULE_ACTIONS[516] = new Action516();
- RULE_ACTIONS[517] = new Action517();
- //
- // Make sure that all elements of ruleAction are properly initialized
- //
- for (int i = 0; i < RULE_ACTIONS.length; i++) {
- if (RULE_ACTIONS[i] == null) {
- RULE_ACTIONS[i] = emptyAction();
- }
- }
- }
-
- //
- // Rule 1: <openscope-ast> ::= $Empty
- //
- static final class Action1 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- openASTScope();
- }
- }
-
- //
- // Rule 4: <placeholder> ::= $Empty
- //
- static final class Action4 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumePlaceHolder();
- }
- }
-
- //
- // Rule 5: <empty> ::= $Empty
- //
- static final class Action5 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 10: translation_unit ::= declaration_seq
- //
- static final class Action10 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTranslationUnit();
- }
- }
-
- //
- // Rule 11: translation_unit ::= $Empty
- //
- static final class Action11 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTranslationUnit();
- }
- }
-
- //
- // Rule 12: literal ::= integer
- //
- static final class Action12 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant);
- }
- }
-
- //
- // Rule 13: literal ::= 0
- //
- static final class Action13 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant);
- }
- }
-
- //
- // Rule 14: literal ::= floating
- //
- static final class Action14 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant);
- }
- }
-
- //
- // Rule 15: literal ::= charconst
- //
- static final class Action15 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant);
- }
- }
-
- //
- // Rule 16: literal ::= stringlit
- //
- static final class Action16 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal);
- }
- }
-
- //
- // Rule 17: literal ::= true
- //
- static final class Action17 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true);
- }
- }
-
- //
- // Rule 18: literal ::= false
- //
- static final class Action18 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false);
- }
- }
-
- //
- // Rule 19: literal ::= this
- //
- static final class Action19 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this);
- }
- }
-
- //
- // Rule 21: primary_expression ::= ( expression )
- //
- static final class Action21 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBracketed();
- }
- }
-
- //
- // Rule 23: id_expression ::= qualified_or_unqualified_name
- //
- static final class Action23 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionName();
- }
- }
-
- //
- // Rule 30: unqualified_id_name ::= ~ class_name
- //
- static final class Action30 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDestructorName();
- }
- }
-
- //
- // Rule 31: identifier_name ::= identifier
- //
- static final class Action31 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeIdentifierName();
- }
- }
-
- //
- // Rule 32: template_opt ::= template
- //
- static final class Action32 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumePlaceHolder();
- }
- }
-
- //
- // Rule 33: template_opt ::= $Empty
- //
- static final class Action33 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 34: dcolon_opt ::= ::
- //
- static final class Action34 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumePlaceHolder();
- }
- }
-
- //
- // Rule 35: dcolon_opt ::= $Empty
- //
- static final class Action35 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 36: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
- //
- static final class Action36 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeQualifiedId(true);
- }
- }
-
- //
- // Rule 37: qualified_id_name ::= :: identifier_name
- //
- static final class Action37 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeGlobalQualifiedId();
- }
- }
-
- //
- // Rule 38: qualified_id_name ::= :: operator_function_id_name
- //
- static final class Action38 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeGlobalQualifiedId();
- }
- }
-
- //
- // Rule 39: qualified_id_name ::= :: template_id_name
- //
- static final class Action39 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeGlobalQualifiedId();
- }
- }
-
- //
- // Rule 40: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
- //
- static final class Action40 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeNestedNameSpecifier(true);
- }
- }
-
- //
- // Rule 41: nested_name_specifier ::= class_or_namespace_name ::
- //
- static final class Action41 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeNestedNameSpecifier(false);
- }
- }
-
- //
- // Rule 42: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
- //
- static final class Action42 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeNestedNameSpecifier(true);
- }
- }
-
- //
- // Rule 43: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
- //
- static final class Action43 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeNestedNameSpecifier(false);
- }
- }
-
- //
- // Rule 44: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
- //
- static final class Action44 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeNameWithTemplateKeyword();
- }
- }
-
- //
- // Rule 46: nested_name_specifier_opt ::= $Empty
- //
- static final class Action46 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeNestedNameSpecifierEmpty();
- }
- }
-
- //
- // Rule 50: postfix_expression ::= postfix_expression [ expression ]
- //
- static final class Action50 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionArraySubscript();
- }
- }
-
- //
- // Rule 51: postfix_expression ::= postfix_expression ( expression_list_opt )
- //
- static final class Action51 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionFunctionCall();
- }
- }
-
- //
- // Rule 52: postfix_expression ::= simple_type_specifier ( expression_list_opt )
- //
- static final class Action52 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionSimpleTypeConstructor();
- }
- }
-
- //
- // Rule 53: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
- //
- static final class Action53 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionTypeName();
- }
- }
-
- //
- // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
- //
- static final class Action54 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionTypeName();
- }
- }
-
- //
- // Rule 55: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
- //
- static final class Action55 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionFieldReference(false, false);
- }
- }
-
- //
- // Rule 56: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
- //
- static final class Action56 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionFieldReference(true, false);
- }
- }
-
- //
- // Rule 57: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
- //
- static final class Action57 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionFieldReference(false, true);
- }
- }
-
- //
- // Rule 58: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
- //
- static final class Action58 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionFieldReference(true, true);
- }
- }
-
- //
- // Rule 59: postfix_expression ::= postfix_expression . pseudo_destructor_name
- //
- static final class Action59 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionFieldReference(false, false);
- }
- }
-
- //
- // Rule 60: postfix_expression ::= postfix_expression -> pseudo_destructor_name
- //
- static final class Action60 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionFieldReference(true, false);
- }
- }
-
- //
- // Rule 61: postfix_expression ::= postfix_expression ++
- //
- static final class Action61 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr);
- }
- }
-
- //
- // Rule 62: postfix_expression ::= postfix_expression --
- //
- static final class Action62 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr);
- }
- }
-
- //
- // Rule 63: postfix_expression ::= dynamic_cast < type_id > ( expression )
- //
- static final class Action63 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast);
- }
- }
-
- //
- // Rule 64: postfix_expression ::= static_cast < type_id > ( expression )
- //
- static final class Action64 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_static_cast);
- }
- }
-
- //
- // Rule 65: postfix_expression ::= reinterpret_cast < type_id > ( expression )
- //
- static final class Action65 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast);
- }
- }
-
- //
- // Rule 66: postfix_expression ::= const_cast < type_id > ( expression )
- //
- static final class Action66 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_const_cast);
- }
- }
-
- //
- // Rule 67: postfix_expression ::= typeid ( expression )
- //
- static final class Action67 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid);
- }
- }
-
- //
- // Rule 68: postfix_expression ::= typeid ( type_id )
- //
- static final class Action68 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid);
- }
- }
-
- //
- // Rule 69: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: ~ type_name
- //
- static final class Action69 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumePsudoDestructorName(true);
- }
- }
-
- //
- // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: ~ type_name
- //
- static final class Action70 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumePsudoDestructorName(true);
- }
- }
-
- //
- // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt ~ type_name
- //
- static final class Action71 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumePsudoDestructorName(false);
- }
- }
-
- //
- // Rule 75: unary_expression ::= ++ cast_expression
- //
- static final class Action75 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr);
- }
- }
-
- //
- // Rule 76: unary_expression ::= -- cast_expression
- //
- static final class Action76 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr);
- }
- }
-
- //
- // Rule 77: unary_expression ::= & cast_expression
- //
- static final class Action77 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper);
- }
- }
-
- //
- // Rule 78: unary_expression ::= * cast_expression
- //
- static final class Action78 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_star);
- }
- }
-
- //
- // Rule 79: unary_expression ::= + cast_expression
- //
- static final class Action79 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus);
- }
- }
-
- //
- // Rule 80: unary_expression ::= - cast_expression
- //
- static final class Action80 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus);
- }
- }
-
- //
- // Rule 81: unary_expression ::= ~ cast_expression
- //
- static final class Action81 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde);
- }
- }
-
- //
- // Rule 82: unary_expression ::= ! cast_expression
- //
- static final class Action82 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_not);
- }
- }
-
- //
- // Rule 83: unary_expression ::= sizeof unary_expression
- //
- static final class Action83 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof);
- }
- }
-
- //
- // Rule 84: unary_expression ::= sizeof ( type_id )
- //
- static final class Action84 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof);
- }
- }
-
- //
- // Rule 85: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
- //
- static final class Action85 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionNew(false);
- }
- }
-
- //
- // Rule 86: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) new_initializer_opt
- //
- static final class Action86 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionNew(true);
- }
- }
-
- //
- // Rule 89: new_placement_opt ::= $Empty
- //
- static final class Action89 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 90: new_type_id ::= type_specifier_seq
- //
- static final class Action90 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTypeId(false);
- }
- }
-
- //
- // Rule 91: new_type_id ::= type_specifier_seq new_declarator
- //
- static final class Action91 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTypeId(true);
- }
- }
-
- //
- // Rule 92: new_declarator ::= <openscope-ast> new_pointer_operators
- //
- static final class Action92 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeNewDeclarator();
- }
- }
-
- //
- // Rule 101: new_initializer_opt ::= $Empty
- //
- static final class Action101 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 102: delete_expression ::= dcolon_opt delete cast_expression
- //
- static final class Action102 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionDelete(false);
- }
- }
-
- //
- // Rule 103: delete_expression ::= dcolon_opt delete [ ] cast_expression
- //
- static final class Action103 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionDelete(true);
- }
- }
-
- //
- // Rule 105: cast_expression ::= ( type_id ) cast_expression
- //
- static final class Action105 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_cast);
- }
- }
-
- //
- // Rule 107: pm_expression ::= pm_expression .* cast_expression
- //
- static final class Action107 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot);
- }
- }
-
- //
- // Rule 108: pm_expression ::= pm_expression ->* cast_expression
- //
- static final class Action108 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow);
- }
- }
-
- //
- // Rule 110: multiplicative_expression ::= multiplicative_expression * pm_expression
- //
- static final class Action110 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply);
- }
- }
-
- //
- // Rule 111: multiplicative_expression ::= multiplicative_expression / pm_expression
- //
- static final class Action111 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide);
- }
- }
-
- //
- // Rule 112: multiplicative_expression ::= multiplicative_expression % pm_expression
- //
- static final class Action112 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo);
- }
- }
-
- //
- // Rule 114: additive_expression ::= additive_expression + multiplicative_expression
- //
- static final class Action114 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus);
- }
- }
-
- //
- // Rule 115: additive_expression ::= additive_expression - multiplicative_expression
- //
- static final class Action115 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus);
- }
- }
-
- //
- // Rule 117: shift_expression ::= shift_expression << additive_expression
- //
- static final class Action117 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft);
- }
- }
-
- //
- // Rule 118: shift_expression ::= shift_expression >> additive_expression
- //
- static final class Action118 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight);
- }
- }
-
- //
- // Rule 120: relational_expression ::= relational_expression < shift_expression
- //
- static final class Action120 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan);
- }
- }
-
- //
- // Rule 121: relational_expression ::= relational_expression > shift_expression
- //
- static final class Action121 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan);
- }
- }
-
- //
- // Rule 122: relational_expression ::= relational_expression <= shift_expression
- //
- static final class Action122 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual);
- }
- }
-
- //
- // Rule 123: relational_expression ::= relational_expression >= shift_expression
- //
- static final class Action123 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual);
- }
- }
-
- //
- // Rule 125: equality_expression ::= equality_expression == relational_expression
- //
- static final class Action125 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals);
- }
- }
-
- //
- // Rule 126: equality_expression ::= equality_expression != relational_expression
- //
- static final class Action126 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals);
- }
- }
-
- //
- // Rule 128: and_expression ::= and_expression & equality_expression
- //
- static final class Action128 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd);
- }
- }
-
- //
- // Rule 130: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
- //
- static final class Action130 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor);
- }
- }
-
- //
- // Rule 132: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
- //
- static final class Action132 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr);
- }
- }
-
- //
- // Rule 134: logical_and_expression ::= logical_and_expression && inclusive_or_expression
- //
- static final class Action134 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd);
- }
- }
-
- //
- // Rule 136: logical_or_expression ::= logical_or_expression || logical_and_expression
- //
- static final class Action136 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr);
- }
- }
-
- //
- // Rule 138: conditional_expression ::= logical_or_expression ? expression : assignment_expression
- //
- static final class Action138 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionConditional();
- }
- }
-
- //
- // Rule 139: throw_expression ::= throw
- //
- static final class Action139 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionThrow(false);
- }
- }
-
- //
- // Rule 140: throw_expression ::= throw assignment_expression
- //
- static final class Action140 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionThrow(true);
- }
- }
-
- //
- // Rule 143: assignment_expression ::= logical_or_expression = assignment_expression
- //
- static final class Action143 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign);
- }
- }
-
- //
- // Rule 144: assignment_expression ::= logical_or_expression *= assignment_expression
- //
- static final class Action144 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign);
- }
- }
-
- //
- // Rule 145: assignment_expression ::= logical_or_expression /= assignment_expression
- //
- static final class Action145 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign);
- }
- }
-
- //
- // Rule 146: assignment_expression ::= logical_or_expression %= assignment_expression
- //
- static final class Action146 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign);
- }
- }
-
- //
- // Rule 147: assignment_expression ::= logical_or_expression += assignment_expression
- //
- static final class Action147 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign);
- }
- }
-
- //
- // Rule 148: assignment_expression ::= logical_or_expression -= assignment_expression
- //
- static final class Action148 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign);
- }
- }
-
- //
- // Rule 149: assignment_expression ::= logical_or_expression >>= assignment_expression
- //
- static final class Action149 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign);
- }
- }
-
- //
- // Rule 150: assignment_expression ::= logical_or_expression <<= assignment_expression
- //
- static final class Action150 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign);
- }
- }
-
- //
- // Rule 151: assignment_expression ::= logical_or_expression &= assignment_expression
- //
- static final class Action151 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign);
- }
- }
-
- //
- // Rule 152: assignment_expression ::= logical_or_expression ^= assignment_expression
- //
- static final class Action152 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign);
- }
- }
-
- //
- // Rule 153: assignment_expression ::= logical_or_expression |= assignment_expression
- //
- static final class Action153 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign);
- }
- }
-
- //
- // Rule 155: expression ::= ERROR_TOKEN
- //
- static final class Action155 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionProblem();
- }
- }
-
- //
- // Rule 156: expression_list ::= <openscope-ast> expression_list_actual
- //
- static final class Action156 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeExpressionList();
- }
- }
-
- //
- // Rule 160: expression_list_opt ::= $Empty
- //
- static final class Action160 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 162: expression_opt ::= $Empty
- //
- static final class Action162 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 165: constant_expression_opt ::= $Empty
- //
- static final class Action165 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 174: statement ::= ERROR_TOKEN
- //
- static final class Action174 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementProblem();
- }
- }
-
- //
- // Rule 175: labeled_statement ::= identifier : statement
- //
- static final class Action175 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementLabeled();
- }
- }
-
- //
- // Rule 176: labeled_statement ::= case constant_expression :
- //
- static final class Action176 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementCase();
- }
- }
-
- //
- // Rule 177: labeled_statement ::= default :
- //
- static final class Action177 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementDefault();
- }
- }
-
- //
- // Rule 178: expression_statement ::= expression ;
- //
- static final class Action178 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementExpression();
- }
- }
-
- //
- // Rule 179: expression_statement ::= ;
- //
- static final class Action179 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementNull();
- }
- }
-
- //
- // Rule 180: compound_statement ::= { <openscope-ast> statement_seq }
- //
- static final class Action180 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementCompoundStatement(true);
- }
- }
-
- //
- // Rule 181: compound_statement ::= { }
- //
- static final class Action181 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementCompoundStatement(false);
- }
- }
-
- //
- // Rule 184: selection_statement ::= if ( condition ) statement
- //
- static final class Action184 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementIf(false);
- }
- }
-
- //
- // Rule 185: selection_statement ::= if ( condition ) statement else statement
- //
- static final class Action185 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementIf(true);
- }
- }
-
- //
- // Rule 186: selection_statement ::= switch ( condition ) statement
- //
- static final class Action186 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementSwitch();
- }
- }
-
- //
- // Rule 188: condition ::= type_specifier_seq declarator = assignment_expression
- //
- static final class Action188 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeConditionDeclaration();
- }
- }
-
- //
- // Rule 189: iteration_statement ::= while ( condition ) statement
- //
- static final class Action189 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementWhileLoop();
- }
- }
-
- //
- // Rule 190: iteration_statement ::= do statement while ( expression ) ;
- //
- static final class Action190 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementDoLoop();
- }
- }
-
- //
- // Rule 191: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
- //
- static final class Action191 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementForLoop();
- }
- }
-
- //
- // Rule 192: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement
- //
- static final class Action192 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementForLoop();
- }
- }
-
- //
- // Rule 193: jump_statement ::= break ;
- //
- static final class Action193 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementBreak();
- }
- }
-
- //
- // Rule 194: jump_statement ::= continue ;
- //
- static final class Action194 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementContinue();
- }
- }
-
- //
- // Rule 195: jump_statement ::= return expression ;
- //
- static final class Action195 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementReturn(true);
- }
- }
-
- //
- // Rule 196: jump_statement ::= return ;
- //
- static final class Action196 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementReturn(false);
- }
- }
-
- //
- // Rule 197: jump_statement ::= goto identifier ;
- //
- static final class Action197 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementGoto();
- }
- }
-
- //
- // Rule 198: declaration_statement ::= block_declaration
- //
- static final class Action198 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementDeclaration();
- }
- }
-
- //
- // Rule 215: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
- //
- static final class Action215 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclarationSimple(true);
- }
- }
-
- //
- // Rule 216: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
- //
- static final class Action216 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclarationSpecifiersSimple();
- }
- }
-
- //
- // Rule 217: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
- //
- static final class Action217 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclarationSpecifiersComposite();
- }
- }
-
- //
- // Rule 218: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
- //
- static final class Action218 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclarationSpecifiersComposite();
- }
- }
-
- //
- // Rule 219: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
- //
- static final class Action219 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclarationSpecifiersComposite();
- }
- }
-
- //
- // Rule 220: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
- //
- static final class Action220 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclarationSpecifiersTypeName();
- }
- }
-
- //
- // Rule 222: declaration_specifiers_opt ::= $Empty
- //
- static final class Action222 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 226: no_type_declaration_specifier ::= friend
- //
- static final class Action226 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclSpecToken();
- }
- }
-
- //
- // Rule 227: no_type_declaration_specifier ::= typedef
- //
- static final class Action227 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclSpecToken();
- }
- }
-
- //
- // Rule 255: simple_type_specifier ::= simple_type_specifier_token
- //
- static final class Action255 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclSpecToken();
- }
- }
-
- //
- // Rule 271: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
- //
- static final class Action271 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeQualifiedId(false);
- }
- }
-
- //
- // Rule 272: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
- //
- static final class Action272 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeQualifiedId(false);
- }
- }
-
- //
- // Rule 273: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
- //
- static final class Action273 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeQualifiedId(false);
- }
- }
-
- //
- // Rule 274: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
- //
- static final class Action274 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeQualifiedId(true);
- }
- }
-
- //
- // Rule 275: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
- //
- static final class Action275 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTypeSpecifierElaborated(false);
- }
- }
-
- //
- // Rule 276: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
- //
- static final class Action276 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTypeSpecifierElaborated(true);
- }
- }
-
- //
- // Rule 277: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
- //
- static final class Action277 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTypeSpecifierElaborated(false);
- }
- }
-
- //
- // Rule 279: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
- //
- static final class Action279 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTypeSpecifierEnumeration(false);
- }
- }
-
- //
- // Rule 280: enum_specifier ::= enum identifier { <openscope-ast> enumerator_list_opt }
- //
- static final class Action280 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTypeSpecifierEnumeration(true);
- }
- }
-
- //
- // Rule 285: enumerator_definition ::= enumerator
- //
- static final class Action285 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEnumerator(false);
- }
- }
-
- //
- // Rule 286: enumerator_definition ::= enumerator = constant_expression
- //
- static final class Action286 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEnumerator(true);
- }
- }
-
- //
- // Rule 295: original_namespace_definition ::= namespace identifier_name { <openscope-ast> declaration_seq_opt }
- //
- static final class Action295 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeNamespaceDefinition(true);
- }
- }
-
- //
- // Rule 296: extension_namespace_definition ::= namespace original_namespace_name { <openscope-ast> declaration_seq_opt }
- //
- static final class Action296 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeNamespaceDefinition(true);
- }
- }
-
- //
- // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
- //
- static final class Action297 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeNamespaceDefinition(false);
- }
- }
-
- //
- // Rule 299: namespace_alias_definition ::= namespace identifier = dcolon_opt nested_name_specifier_opt namespace_name ;
- //
- static final class Action299 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeNamespaceAliasDefinition();
- }
- }
-
- //
- // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
- //
- static final class Action300 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeUsingDeclaration();
- }
- }
-
- //
- // Rule 301: typename_opt ::= typename
- //
- static final class Action301 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumePlaceHolder();
- }
- }
-
- //
- // Rule 302: typename_opt ::= $Empty
- //
- static final class Action302 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
- //
- static final class Action303 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeUsingDirective();
- }
- }
-
- //
- // Rule 304: asm_definition ::= asm ( stringlit ) ;
- //
- static final class Action304 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclarationASM();
- }
- }
-
- //
- // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
- //
- static final class Action305 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeLinkageSpecification();
- }
- }
-
- //
- // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration
- //
- static final class Action306 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeLinkageSpecification();
- }
- }
-
- //
- // Rule 312: init_declarator ::= declarator initializer
- //
- static final class Action312 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclaratorWithInitializer(true);
- }
- }
-
- //
- // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
- //
- static final class Action314 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclaratorWithPointer(true);
- }
- }
-
- //
- // Rule 318: basic_direct_declarator ::= declarator_id_name
- //
- static final class Action318 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorIdentifier();
- }
- }
-
- //
- // Rule 319: basic_direct_declarator ::= ( declarator )
- //
- static final class Action319 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorBracketed();
- }
- }
-
- //
- // Rule 320: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
- //
- static final class Action320 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true);
- }
- }
-
- //
- // Rule 321: array_direct_declarator ::= array_direct_declarator array_modifier
- //
- static final class Action321 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true);
- }
- }
-
- //
- // Rule 322: array_direct_declarator ::= basic_direct_declarator array_modifier
- //
- static final class Action322 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true);
- }
- }
-
- //
- // Rule 323: array_modifier ::= [ constant_expression ]
- //
- static final class Action323 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorArrayModifier(true);
- }
- }
-
- //
- // Rule 324: array_modifier ::= [ ]
- //
- static final class Action324 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorArrayModifier(false);
- }
- }
-
- //
- // Rule 325: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
- //
- static final class Action325 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumePointer();
- }
- }
-
- //
- // Rule 326: ptr_operator ::= &
- //
- static final class Action326 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeReferenceOperator();
- }
- }
-
- //
- // Rule 327: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
- //
- static final class Action327 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumePointerToMember();
- }
- }
-
- //
- // Rule 333: cv_qualifier ::= const
- //
- static final class Action333 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclSpecToken();
- }
- }
-
- //
- // Rule 334: cv_qualifier ::= volatile
- //
- static final class Action334 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclSpecToken();
- }
- }
-
- //
- // Rule 336: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
- //
- static final class Action336 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeQualifiedId(false);
- }
- }
-
- //
- // Rule 337: type_id ::= type_specifier_seq
- //
- static final class Action337 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTypeId(false);
- }
- }
-
- //
- // Rule 338: type_id ::= type_specifier_seq abstract_declarator
- //
- static final class Action338 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTypeId(true);
- }
- }
-
- //
- // Rule 341: abstract_declarator ::= <openscope-ast> ptr_operator_seq
- //
- static final class Action341 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclaratorWithPointer(false);
- }
- }
-
- //
- // Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
- //
- static final class Action342 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclaratorWithPointer(true);
- }
- }
-
- //
- // Rule 346: basic_direct_abstract_declarator ::= ( abstract_declarator )
- //
- static final class Action346 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorBracketed();
- }
- }
-
- //
- // Rule 347: array_direct_abstract_declarator ::= array_modifier
- //
- static final class Action347 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorArrayDeclarator(false);
- }
- }
-
- //
- // Rule 348: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
- //
- static final class Action348 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true);
- }
- }
-
- //
- // Rule 349: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
- //
- static final class Action349 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorArrayDeclarator(true);
- }
- }
-
- //
- // 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
- //
- static final class Action350 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(true);
- }
- }
-
- //
- // Rule 351: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
- //
- static final class Action351 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorFunctionDeclarator(false);
- }
- }
-
- //
- // Rule 352: parameter_declaration_clause ::= parameter_declaration_list_opt ...
- //
- static final class Action352 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumePlaceHolder();
- }
- }
-
- //
- // Rule 353: parameter_declaration_clause ::= parameter_declaration_list_opt
- //
- static final class Action353 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 354: parameter_declaration_clause ::= parameter_declaration_list , ...
- //
- static final class Action354 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumePlaceHolder();
- }
- }
-
- //
- // Rule 360: abstract_declarator_opt ::= $Empty
- //
- static final class Action360 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 361: parameter_declaration ::= declaration_specifiers parameter_init_declarator
- //
- static final class Action361 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeParameterDeclaration();
- }
- }
-
- //
- // Rule 362: parameter_declaration ::= declaration_specifiers
- //
- static final class Action362 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeParameterDeclarationWithoutDeclarator();
- }
- }
-
- //
- // Rule 364: parameter_init_declarator ::= declarator = parameter_initializer
- //
- static final class Action364 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclaratorWithInitializer(true);
- }
- }
-
- //
- // Rule 366: parameter_init_declarator ::= abstract_declarator = parameter_initializer
- //
- static final class Action366 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclaratorWithInitializer(true);
- }
- }
-
- //
- // Rule 367: parameter_init_declarator ::= = parameter_initializer
- //
- static final class Action367 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclaratorWithInitializer(false);
- }
- }
-
- //
- // Rule 368: parameter_initializer ::= assignment_expression
- //
- static final class Action368 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeInitializer();
- }
- }
-
- //
- // Rule 369: function_definition ::= declaration_specifiers_opt function_direct_declarator <openscope-ast> ctor_initializer_list_opt function_body
- //
- static final class Action369 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeFunctionDefinition(false);
- }
- }
-
- //
- // Rule 370: function_definition ::= declaration_specifiers_opt function_direct_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
- //
- static final class Action370 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeFunctionDefinition(true);
- }
- }
-
- //
- // Rule 373: initializer ::= ( expression_list )
- //
- static final class Action373 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeInitializerConstructor();
- }
- }
-
- //
- // Rule 374: initializer_clause ::= assignment_expression
- //
- static final class Action374 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeInitializer();
- }
- }
-
- //
- // Rule 375: initializer_clause ::= { <openscope-ast> initializer_list , }
- //
- static final class Action375 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeInitializerList();
- }
- }
-
- //
- // Rule 376: initializer_clause ::= { <openscope-ast> initializer_list }
- //
- static final class Action376 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeInitializerList();
- }
- }
-
- //
- // Rule 377: initializer_clause ::= { <openscope-ast> }
- //
- static final class Action377 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeInitializerList();
- }
- }
-
- //
- // Rule 382: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
- //
- static final class Action382 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeClassSpecifier();
- }
- }
-
- //
- // Rule 383: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
- //
- static final class Action383 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeClassHead(false);
- }
- }
-
- //
- // Rule 384: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt
- //
- static final class Action384 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeClassHead(false);
- }
- }
-
- //
- // Rule 385: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
- //
- static final class Action385 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeClassHead(true);
- }
- }
-
- //
- // Rule 386: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
- //
- static final class Action386 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeClassHead(true);
- }
- }
-
- //
- // Rule 390: identifier_name_opt ::= $Empty
- //
- static final class Action390 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 394: visibility_label ::= access_specifier_keyword :
- //
- static final class Action394 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeVisibilityLabel();
- }
- }
-
- //
- // Rule 395: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
- //
- static final class Action395 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclarationSimple(true);
- }
- }
-
- //
- // Rule 396: member_declaration ::= declaration_specifiers_opt ;
- //
- static final class Action396 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclarationSimple(false);
- }
- }
-
- //
- // Rule 399: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
- //
- static final class Action399 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeMemberDeclarationQualifiedId();
- }
- }
-
- //
- // Rule 410: member_declarator ::= declarator constant_initializer
- //
- static final class Action410 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeMemberDeclaratorWithInitializer();
- }
- }
-
- //
- // Rule 411: member_declarator ::= bit_field_declarator : constant_expression
- //
- static final class Action411 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeBitField(true);
- }
- }
-
- //
- // Rule 412: member_declarator ::= : constant_expression
- //
- static final class Action412 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeBitField(false);
- }
- }
-
- //
- // Rule 413: bit_field_declarator ::= identifier_name
- //
- static final class Action413 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDirectDeclaratorIdentifier();
- }
- }
-
- //
- // Rule 420: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
- //
- static final class Action420 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeBaseSpecifier(false);
- }
- }
-
- //
- // Rule 421: base_specifier ::= virtual_opt access_specifier_keyword virtual_opt dcolon_opt nested_name_specifier_opt class_name
- //
- static final class Action421 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeBaseSpecifier(true);
- }
- }
-
- //
- // Rule 422: virtual_opt ::= virtual
- //
- static final class Action422 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumePlaceHolder();
- }
- }
-
- //
- // Rule 423: virtual_opt ::= $Empty
- //
- static final class Action423 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 429: conversion_function_id_name ::= operator conversion_type_id
- //
- static final class Action429 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeConversionName();
- }
- }
-
- //
- // Rule 430: conversion_type_id ::= type_specifier_seq conversion_declarator
- //
- static final class Action430 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTypeId(true);
- }
- }
-
- //
- // Rule 431: conversion_type_id ::= type_specifier_seq
- //
- static final class Action431 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTypeId(false);
- }
- }
-
- //
- // Rule 432: conversion_declarator ::= <openscope-ast> ptr_operator_seq
- //
- static final class Action432 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclaratorWithPointer(false);
- }
- }
-
- //
- // Rule 438: mem_initializer ::= mem_initializer_name ( expression_list_opt )
- //
- static final class Action438 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeConstructorChainInitializer();
- }
- }
-
- //
- // Rule 439: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
- //
- static final class Action439 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeQualifiedId(false);
- }
- }
-
- //
- // Rule 442: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
- //
- static final class Action442 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTemplateId();
- }
- }
-
- //
- // Rule 443: operator_id_name ::= operator overloadable_operator
- //
- static final class Action443 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeOperatorName();
- }
- }
-
- //
- // Rule 486: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
- //
- static final class Action486 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTemplateDeclaration();
- }
- }
-
- //
- // Rule 487: export_opt ::= export
- //
- static final class Action487 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumePlaceHolder();
- }
- }
-
- //
- // Rule 488: export_opt ::= $Empty
- //
- static final class Action488 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeEmpty();
- }
- }
-
- //
- // Rule 493: type_parameter ::= class identifier_name_opt
- //
- static final class Action493 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeSimpleTypeTemplateParameter(false);
- }
- }
-
- //
- // Rule 494: type_parameter ::= class identifier_name_opt = type_id
- //
- static final class Action494 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeSimpleTypeTemplateParameter(true);
- }
- }
-
- //
- // Rule 495: type_parameter ::= typename identifier_name_opt
- //
- static final class Action495 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeSimpleTypeTemplateParameter(false);
- }
- }
-
- //
- // Rule 496: type_parameter ::= typename identifier_name_opt = type_id
- //
- static final class Action496 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeSimpleTypeTemplateParameter(true);
- }
- }
-
- //
- // Rule 497: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
- //
- static final class Action497 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTemplatedTypeTemplateParameter(false);
- }
- }
-
- //
- // Rule 498: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
- //
- static final class Action498 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTemplatedTypeTemplateParameter(true);
- }
- }
-
- //
- // Rule 499: template_id_name ::= template_identifier < <openscope-ast> template_argument_list_opt >
- //
- static final class Action499 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTemplateId();
- }
- }
-
- //
- // Rule 508: explicit_instantiation ::= template declaration
- //
- static final class Action508 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTemplateExplicitInstantiation();
- }
- }
-
- //
- // Rule 509: explicit_specialization ::= template < > declaration
- //
- static final class Action509 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeTemplateExplicitSpecialization();
- }
- }
-
- //
- // Rule 510: try_block ::= try compound_statement <openscope-ast> handler_seq
- //
- static final class Action510 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementTryBlock();
- }
- }
-
- //
- // Rule 513: handler ::= catch ( exception_declaration ) compound_statement
- //
- static final class Action513 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementCatchHandler(false);
- }
- }
-
- //
- // Rule 514: handler ::= catch ( ... ) compound_statement
- //
- static final class Action514 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeStatementCatchHandler(true);
- }
- }
-
- //
- // Rule 515: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
- //
- static final class Action515 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclarationSimple(true);
- }
- }
-
- //
- // Rule 516: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
- //
- static final class Action516 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclarationSimple(true);
- }
- }
-
- //
- // Rule 517: exception_declaration ::= type_specifier_seq
- //
- static final class Action517 extends DeclaredAction< CPPParserAction , Object > {
-
- public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder.
- consumeDeclarationSimple(false);
- }
- }
+ public void ruleAction(int ruleNumber)
+ {
+ switch (ruleNumber)
+ {
+
+ //
+ // Rule 1: <openscope-ast> ::= $Empty
+ //
+ case 1: { action.builder.
+ openASTScope(); break;
+ }
+
+ //
+ // Rule 4: <placeholder> ::= $Empty
+ //
+ case 4: { action.builder.
+ consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 5: <empty> ::= $Empty
+ //
+ case 5: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 10: translation_unit ::= declaration_seq
+ //
+ case 10: { action.builder.
+ consumeTranslationUnit(); break;
+ }
+
+ //
+ // Rule 11: translation_unit ::= $Empty
+ //
+ case 11: { action.builder.
+ consumeTranslationUnit(); break;
+ }
+
+ //
+ // Rule 12: literal ::= integer
+ //
+ case 12: { action.builder.
+ consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ }
+
+ //
+ // Rule 13: literal ::= 0
+ //
+ case 13: { action.builder.
+ consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ }
+
+ //
+ // Rule 14: literal ::= floating
+ //
+ case 14: { action.builder.
+ consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ }
+
+ //
+ // Rule 15: literal ::= charconst
+ //
+ case 15: { action.builder.
+ consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ }
+
+ //
+ // Rule 16: literal ::= stringlit
+ //
+ case 16: { action.builder.
+ consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ }
+
+ //
+ // Rule 17: literal ::= true
+ //
+ case 17: { action.builder.
+ consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ }
+
+ //
+ // Rule 18: literal ::= false
+ //
+ case 18: { action.builder.
+ consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ }
+
+ //
+ // Rule 19: literal ::= this
+ //
+ case 19: { action.builder.
+ consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ }
+
+ //
+ // Rule 21: primary_expression ::= ( expression )
+ //
+ case 21: { action.builder.
+ consumeExpressionBracketed(); break;
+ }
+
+ //
+ // Rule 23: id_expression ::= qualified_or_unqualified_name
+ //
+ case 23: { action.builder.
+ consumeExpressionName(); break;
+ }
+
+ //
+ // Rule 30: unqualified_id_name ::= ~ class_name
+ //
+ case 30: { action.builder.
+ consumeDestructorName(); break;
+ }
+
+ //
+ // Rule 31: identifier_name ::= identifier
+ //
+ case 31: { action.builder.
+ consumeIdentifierName(); break;
+ }
+
+ //
+ // Rule 32: template_opt ::= template
+ //
+ case 32: { action.builder.
+ consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 33: template_opt ::= $Empty
+ //
+ case 33: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 34: dcolon_opt ::= ::
+ //
+ case 34: { action.builder.
+ consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 35: dcolon_opt ::= $Empty
+ //
+ case 35: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 36: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
+ //
+ case 36: { action.builder.
+ consumeQualifiedId(true); break;
+ }
+
+ //
+ // Rule 37: qualified_id_name ::= :: identifier_name
+ //
+ case 37: { action.builder.
+ consumeGlobalQualifiedId(); break;
+ }
+
+ //
+ // Rule 38: qualified_id_name ::= :: operator_function_id_name
+ //
+ case 38: { action.builder.
+ consumeGlobalQualifiedId(); break;
+ }
+
+ //
+ // Rule 39: qualified_id_name ::= :: template_id_name
+ //
+ case 39: { action.builder.
+ consumeGlobalQualifiedId(); break;
+ }
+
+ //
+ // Rule 40: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
+ //
+ case 40: { action.builder.
+ consumeNestedNameSpecifier(true); break;
+ }
+
+ //
+ // Rule 41: nested_name_specifier ::= class_or_namespace_name ::
+ //
+ case 41: { action.builder.
+ consumeNestedNameSpecifier(false); break;
+ }
+
+ //
+ // Rule 42: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
+ //
+ case 42: { action.builder.
+ consumeNestedNameSpecifier(true); break;
+ }
+
+ //
+ // Rule 43: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
+ //
+ case 43: { action.builder.
+ consumeNestedNameSpecifier(false); break;
+ }
+
+ //
+ // Rule 44: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
+ //
+ case 44: { action.builder.
+ consumeNameWithTemplateKeyword(); break;
+ }
+
+ //
+ // Rule 46: nested_name_specifier_opt ::= $Empty
+ //
+ case 46: { action.builder.
+ consumeNestedNameSpecifierEmpty(); break;
+ }
+
+ //
+ // Rule 50: postfix_expression ::= postfix_expression [ expression ]
+ //
+ case 50: { action.builder.
+ consumeExpressionArraySubscript(); break;
+ }
+
+ //
+ // Rule 51: postfix_expression ::= postfix_expression ( expression_list_opt )
+ //
+ case 51: { action.builder.
+ consumeExpressionFunctionCall(); break;
+ }
+
+ //
+ // Rule 52: postfix_expression ::= simple_type_specifier ( expression_list_opt )
+ //
+ case 52: { action.builder.
+ consumeExpressionSimpleTypeConstructor(); break;
+ }
+
+ //
+ // Rule 53: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
+ //
+ case 53: { action.builder.
+ consumeExpressionTypeName(); break;
+ }
+
+ //
+ // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
+ //
+ case 54: { action.builder.
+ consumeExpressionTypeName(); break;
+ }
+
+ //
+ // Rule 55: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
+ //
+ case 55: { action.builder.
+ consumeExpressionFieldReference(false, false); break;
+ }
+
+ //
+ // Rule 56: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
+ //
+ case 56: { action.builder.
+ consumeExpressionFieldReference(true, false); break;
+ }
+
+ //
+ // Rule 57: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
+ //
+ case 57: { action.builder.
+ consumeExpressionFieldReference(false, true); break;
+ }
+
+ //
+ // Rule 58: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
+ //
+ case 58: { action.builder.
+ consumeExpressionFieldReference(true, true); break;
+ }
+
+ //
+ // Rule 59: postfix_expression ::= postfix_expression . pseudo_destructor_name
+ //
+ case 59: { action.builder.
+ consumeExpressionFieldReference(false, false); break;
+ }
+
+ //
+ // Rule 60: postfix_expression ::= postfix_expression -> pseudo_destructor_name
+ //
+ case 60: { action.builder.
+ consumeExpressionFieldReference(true, false); break;
+ }
+
+ //
+ // Rule 61: postfix_expression ::= postfix_expression ++
+ //
+ case 61: { action.builder.
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ }
+
+ //
+ // Rule 62: postfix_expression ::= postfix_expression --
+ //
+ case 62: { action.builder.
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ }
+
+ //
+ // Rule 63: postfix_expression ::= dynamic_cast < type_id > ( expression )
+ //
+ case 63: { action.builder.
+ consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ }
+
+ //
+ // Rule 64: postfix_expression ::= static_cast < type_id > ( expression )
+ //
+ case 64: { action.builder.
+ consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ }
+
+ //
+ // Rule 65: postfix_expression ::= reinterpret_cast < type_id > ( expression )
+ //
+ case 65: { action.builder.
+ consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ }
+
+ //
+ // Rule 66: postfix_expression ::= const_cast < type_id > ( expression )
+ //
+ case 66: { action.builder.
+ consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ }
+
+ //
+ // Rule 67: postfix_expression ::= typeid ( expression )
+ //
+ case 67: { action.builder.
+ consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ }
+
+ //
+ // Rule 68: postfix_expression ::= typeid ( type_id )
+ //
+ case 68: { action.builder.
+ consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ }
+
+ //
+ // Rule 69: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: ~ type_name
+ //
+ case 69: { action.builder.
+ consumePsudoDestructorName(true); break;
+ }
+
+ //
+ // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: ~ type_name
+ //
+ case 70: { action.builder.
+ consumePsudoDestructorName(true); break;
+ }
+
+ //
+ // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt ~ type_name
+ //
+ case 71: { action.builder.
+ consumePsudoDestructorName(false); break;
+ }
+
+ //
+ // Rule 75: unary_expression ::= ++ cast_expression
+ //
+ case 75: { action.builder.
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ }
+
+ //
+ // Rule 76: unary_expression ::= -- cast_expression
+ //
+ case 76: { action.builder.
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ }
+
+ //
+ // Rule 77: unary_expression ::= & cast_expression
+ //
+ case 77: { action.builder.
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ }
+
+ //
+ // Rule 78: unary_expression ::= * cast_expression
+ //
+ case 78: { action.builder.
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ }
+
+ //
+ // Rule 79: unary_expression ::= + cast_expression
+ //
+ case 79: { action.builder.
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ }
+
+ //
+ // Rule 80: unary_expression ::= - cast_expression
+ //
+ case 80: { action.builder.
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ }
+
+ //
+ // Rule 81: unary_expression ::= ~ cast_expression
+ //
+ case 81: { action.builder.
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ }
+
+ //
+ // Rule 82: unary_expression ::= ! cast_expression
+ //
+ case 82: { action.builder.
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ }
+
+ //
+ // Rule 83: unary_expression ::= sizeof unary_expression
+ //
+ case 83: { action.builder.
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ }
+
+ //
+ // Rule 84: unary_expression ::= sizeof ( type_id )
+ //
+ case 84: { action.builder.
+ consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
+ }
+
+ //
+ // Rule 85: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
+ //
+ case 85: { action.builder.
+ consumeExpressionNew(false); break;
+ }
+
+ //
+ // Rule 86: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) new_initializer_opt
+ //
+ case 86: { action.builder.
+ consumeExpressionNew(true); break;
+ }
+
+ //
+ // Rule 89: new_placement_opt ::= $Empty
+ //
+ case 89: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 90: new_type_id ::= type_specifier_seq
+ //
+ case 90: { action.builder.
+ consumeTypeId(false); break;
+ }
+
+ //
+ // Rule 91: new_type_id ::= type_specifier_seq new_declarator
+ //
+ case 91: { action.builder.
+ consumeTypeId(true); break;
+ }
+
+ //
+ // Rule 92: new_declarator ::= <openscope-ast> new_pointer_operators
+ //
+ case 92: { action.builder.
+ consumeNewDeclarator(); break;
+ }
+
+ //
+ // Rule 101: new_initializer_opt ::= $Empty
+ //
+ case 101: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 102: delete_expression ::= dcolon_opt delete cast_expression
+ //
+ case 102: { action.builder.
+ consumeExpressionDelete(false); break;
+ }
+
+ //
+ // Rule 103: delete_expression ::= dcolon_opt delete [ ] cast_expression
+ //
+ case 103: { action.builder.
+ consumeExpressionDelete(true); break;
+ }
+
+ //
+ // Rule 105: cast_expression ::= ( type_id ) cast_expression
+ //
+ case 105: { action.builder.
+ consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
+ }
+
+ //
+ // Rule 107: pm_expression ::= pm_expression .* cast_expression
+ //
+ case 107: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ }
+
+ //
+ // Rule 108: pm_expression ::= pm_expression ->* cast_expression
+ //
+ case 108: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ }
+
+ //
+ // Rule 110: multiplicative_expression ::= multiplicative_expression * pm_expression
+ //
+ case 110: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ }
+
+ //
+ // Rule 111: multiplicative_expression ::= multiplicative_expression / pm_expression
+ //
+ case 111: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ }
+
+ //
+ // Rule 112: multiplicative_expression ::= multiplicative_expression % pm_expression
+ //
+ case 112: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ }
+
+ //
+ // Rule 114: additive_expression ::= additive_expression + multiplicative_expression
+ //
+ case 114: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ }
+
+ //
+ // Rule 115: additive_expression ::= additive_expression - multiplicative_expression
+ //
+ case 115: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ }
+
+ //
+ // Rule 117: shift_expression ::= shift_expression << additive_expression
+ //
+ case 117: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ }
+
+ //
+ // Rule 118: shift_expression ::= shift_expression >> additive_expression
+ //
+ case 118: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ }
+
+ //
+ // Rule 120: relational_expression ::= relational_expression < shift_expression
+ //
+ case 120: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ }
+
+ //
+ // Rule 121: relational_expression ::= relational_expression > shift_expression
+ //
+ case 121: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ }
+
+ //
+ // Rule 122: relational_expression ::= relational_expression <= shift_expression
+ //
+ case 122: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ }
+
+ //
+ // Rule 123: relational_expression ::= relational_expression >= shift_expression
+ //
+ case 123: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ }
+
+ //
+ // Rule 125: equality_expression ::= equality_expression == relational_expression
+ //
+ case 125: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ }
+
+ //
+ // Rule 126: equality_expression ::= equality_expression != relational_expression
+ //
+ case 126: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ }
+
+ //
+ // Rule 128: and_expression ::= and_expression & equality_expression
+ //
+ case 128: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ }
+
+ //
+ // Rule 130: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ //
+ case 130: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ }
+
+ //
+ // Rule 132: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ //
+ case 132: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ }
+
+ //
+ // Rule 134: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ //
+ case 134: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ }
+
+ //
+ // Rule 136: logical_or_expression ::= logical_or_expression || logical_and_expression
+ //
+ case 136: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ }
+
+ //
+ // Rule 138: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ //
+ case 138: { action.builder.
+ consumeExpressionConditional(); break;
+ }
+
+ //
+ // Rule 139: throw_expression ::= throw
+ //
+ case 139: { action.builder.
+ consumeExpressionThrow(false); break;
+ }
+
+ //
+ // Rule 140: throw_expression ::= throw assignment_expression
+ //
+ case 140: { action.builder.
+ consumeExpressionThrow(true); break;
+ }
+
+ //
+ // Rule 143: assignment_expression ::= logical_or_expression = assignment_expression
+ //
+ case 143: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ }
+
+ //
+ // Rule 144: assignment_expression ::= logical_or_expression *= assignment_expression
+ //
+ case 144: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ }
+
+ //
+ // Rule 145: assignment_expression ::= logical_or_expression /= assignment_expression
+ //
+ case 145: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ }
+
+ //
+ // Rule 146: assignment_expression ::= logical_or_expression %= assignment_expression
+ //
+ case 146: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ }
+
+ //
+ // Rule 147: assignment_expression ::= logical_or_expression += assignment_expression
+ //
+ case 147: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ }
+
+ //
+ // Rule 148: assignment_expression ::= logical_or_expression -= assignment_expression
+ //
+ case 148: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ }
+
+ //
+ // Rule 149: assignment_expression ::= logical_or_expression >>= assignment_expression
+ //
+ case 149: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ }
+
+ //
+ // Rule 150: assignment_expression ::= logical_or_expression <<= assignment_expression
+ //
+ case 150: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ }
+
+ //
+ // Rule 151: assignment_expression ::= logical_or_expression &= assignment_expression
+ //
+ case 151: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ }
+
+ //
+ // Rule 152: assignment_expression ::= logical_or_expression ^= assignment_expression
+ //
+ case 152: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ }
+
+ //
+ // Rule 153: assignment_expression ::= logical_or_expression |= assignment_expression
+ //
+ case 153: { action.builder.
+ consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ }
+
+ //
+ // Rule 155: expression ::= ERROR_TOKEN
+ //
+ case 155: { action.builder.
+ consumeExpressionProblem(); break;
+ }
+
+ //
+ // Rule 156: expression_list ::= <openscope-ast> expression_list_actual
+ //
+ case 156: { action.builder.
+ consumeExpressionList(); break;
+ }
+
+ //
+ // Rule 160: expression_list_opt ::= $Empty
+ //
+ case 160: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 162: expression_opt ::= $Empty
+ //
+ case 162: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 165: constant_expression_opt ::= $Empty
+ //
+ case 165: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 174: statement ::= ERROR_TOKEN
+ //
+ case 174: { action.builder.
+ consumeStatementProblem(); break;
+ }
+
+ //
+ // Rule 175: labeled_statement ::= identifier : statement
+ //
+ case 175: { action.builder.
+ consumeStatementLabeled(); break;
+ }
+
+ //
+ // Rule 176: labeled_statement ::= case constant_expression :
+ //
+ case 176: { action.builder.
+ consumeStatementCase(); break;
+ }
+
+ //
+ // Rule 177: labeled_statement ::= default :
+ //
+ case 177: { action.builder.
+ consumeStatementDefault(); break;
+ }
+
+ //
+ // Rule 178: expression_statement ::= expression ;
+ //
+ case 178: { action.builder.
+ consumeStatementExpression(); break;
+ }
+
+ //
+ // Rule 179: expression_statement ::= ;
+ //
+ case 179: { action.builder.
+ consumeStatementNull(); break;
+ }
+
+ //
+ // Rule 180: compound_statement ::= { <openscope-ast> statement_seq }
+ //
+ case 180: { action.builder.
+ consumeStatementCompoundStatement(true); break;
+ }
+
+ //
+ // Rule 181: compound_statement ::= { }
+ //
+ case 181: { action.builder.
+ consumeStatementCompoundStatement(false); break;
+ }
+
+ //
+ // Rule 184: selection_statement ::= if ( condition ) statement
+ //
+ case 184: { action.builder.
+ consumeStatementIf(false); break;
+ }
+
+ //
+ // Rule 185: selection_statement ::= if ( condition ) statement else statement
+ //
+ case 185: { action.builder.
+ consumeStatementIf(true); break;
+ }
+
+ //
+ // Rule 186: selection_statement ::= switch ( condition ) statement
+ //
+ case 186: { action.builder.
+ consumeStatementSwitch(); break;
+ }
+
+ //
+ // Rule 188: condition ::= type_specifier_seq declarator = assignment_expression
+ //
+ case 188: { action.builder.
+ consumeConditionDeclaration(); break;
+ }
+
+ //
+ // Rule 189: iteration_statement ::= while ( condition ) statement
+ //
+ case 189: { action.builder.
+ consumeStatementWhileLoop(); break;
+ }
+
+ //
+ // Rule 190: iteration_statement ::= do statement while ( expression ) ;
+ //
+ case 190: { action.builder.
+ consumeStatementDoLoop(); break;
+ }
+
+ //
+ // Rule 191: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ //
+ case 191: { action.builder.
+ consumeStatementForLoop(); break;
+ }
+
+ //
+ // Rule 192: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement
+ //
+ case 192: { action.builder.
+ consumeStatementForLoop(); break;
+ }
+
+ //
+ // Rule 193: jump_statement ::= break ;
+ //
+ case 193: { action.builder.
+ consumeStatementBreak(); break;
+ }
+
+ //
+ // Rule 194: jump_statement ::= continue ;
+ //
+ case 194: { action.builder.
+ consumeStatementContinue(); break;
+ }
+
+ //
+ // Rule 195: jump_statement ::= return expression ;
+ //
+ case 195: { action.builder.
+ consumeStatementReturn(true); break;
+ }
+
+ //
+ // Rule 196: jump_statement ::= return ;
+ //
+ case 196: { action.builder.
+ consumeStatementReturn(false); break;
+ }
+
+ //
+ // Rule 197: jump_statement ::= goto identifier ;
+ //
+ case 197: { action.builder.
+ consumeStatementGoto(); break;
+ }
+
+ //
+ // Rule 198: declaration_statement ::= block_declaration
+ //
+ case 198: { action.builder.
+ consumeStatementDeclaration(); break;
+ }
+
+ //
+ // Rule 215: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ //
+ case 215: { action.builder.
+ consumeDeclarationSimple(true); break;
+ }
+
+ //
+ // Rule 216: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ //
+ case 216: { action.builder.
+ consumeDeclarationSpecifiersSimple(); break;
+ }
+
+ //
+ // Rule 217: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ //
+ case 217: { action.builder.
+ consumeDeclarationSpecifiersComposite(); break;
+ }
+
+ //
+ // Rule 218: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ //
+ case 218: { action.builder.
+ consumeDeclarationSpecifiersComposite(); break;
+ }
+
+ //
+ // Rule 219: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ //
+ case 219: { action.builder.
+ consumeDeclarationSpecifiersComposite(); break;
+ }
+
+ //
+ // Rule 220: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ //
+ case 220: { action.builder.
+ consumeDeclarationSpecifiersTypeName(); break;
+ }
+
+ //
+ // Rule 222: declaration_specifiers_opt ::= $Empty
+ //
+ case 222: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 226: no_type_declaration_specifier ::= friend
+ //
+ case 226: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 227: no_type_declaration_specifier ::= typedef
+ //
+ case 227: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 255: simple_type_specifier ::= simple_type_specifier_token
+ //
+ case 255: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 271: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ //
+ case 271: { action.builder.
+ consumeQualifiedId(false); break;
+ }
+
+ //
+ // Rule 272: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ //
+ case 272: { action.builder.
+ consumeQualifiedId(false); break;
+ }
+
+ //
+ // Rule 273: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ //
+ case 273: { action.builder.
+ consumeQualifiedId(false); break;
+ }
+
+ //
+ // Rule 274: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ //
+ case 274: { action.builder.
+ consumeQualifiedId(true); break;
+ }
+
+ //
+ // Rule 275: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
+ //
+ case 275: { action.builder.
+ consumeTypeSpecifierElaborated(false); break;
+ }
+
+ //
+ // Rule 276: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ //
+ case 276: { action.builder.
+ consumeTypeSpecifierElaborated(true); break;
+ }
+
+ //
+ // Rule 277: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
+ //
+ case 277: { action.builder.
+ consumeTypeSpecifierElaborated(false); break;
+ }
+
+ //
+ // Rule 279: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
+ //
+ case 279: { action.builder.
+ consumeTypeSpecifierEnumeration(false); break;
+ }
+
+ //
+ // Rule 280: enum_specifier ::= enum identifier { <openscope-ast> enumerator_list_opt }
+ //
+ case 280: { action.builder.
+ consumeTypeSpecifierEnumeration(true); break;
+ }
+
+ //
+ // Rule 285: enumerator_definition ::= enumerator
+ //
+ case 285: { action.builder.
+ consumeEnumerator(false); break;
+ }
+
+ //
+ // Rule 286: enumerator_definition ::= enumerator = constant_expression
+ //
+ case 286: { action.builder.
+ consumeEnumerator(true); break;
+ }
+
+ //
+ // Rule 295: original_namespace_definition ::= namespace identifier_name { <openscope-ast> declaration_seq_opt }
+ //
+ case 295: { action.builder.
+ consumeNamespaceDefinition(true); break;
+ }
+
+ //
+ // Rule 296: extension_namespace_definition ::= namespace original_namespace_name { <openscope-ast> declaration_seq_opt }
+ //
+ case 296: { action.builder.
+ consumeNamespaceDefinition(true); break;
+ }
+
+ //
+ // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
+ //
+ case 297: { action.builder.
+ consumeNamespaceDefinition(false); break;
+ }
+
+ //
+ // Rule 299: namespace_alias_definition ::= namespace identifier = dcolon_opt nested_name_specifier_opt namespace_name ;
+ //
+ case 299: { action.builder.
+ consumeNamespaceAliasDefinition(); break;
+ }
+
+ //
+ // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ //
+ case 300: { action.builder.
+ consumeUsingDeclaration(); break;
+ }
+
+ //
+ // Rule 301: typename_opt ::= typename
+ //
+ case 301: { action.builder.
+ consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 302: typename_opt ::= $Empty
+ //
+ case 302: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ //
+ case 303: { action.builder.
+ consumeUsingDirective(); break;
+ }
+
+ //
+ // Rule 304: asm_definition ::= asm ( stringlit ) ;
+ //
+ case 304: { action.builder.
+ consumeDeclarationASM(); break;
+ }
+
+ //
+ // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ //
+ case 305: { action.builder.
+ consumeLinkageSpecification(); break;
+ }
+
+ //
+ // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ //
+ case 306: { action.builder.
+ consumeLinkageSpecification(); break;
+ }
+
+ //
+ // Rule 312: init_declarator ::= declarator initializer
+ //
+ case 312: { action.builder.
+ consumeDeclaratorWithInitializer(true); break;
+ }
+
+ //
+ // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ //
+ case 314: { action.builder.
+ consumeDeclaratorWithPointer(true); break;
+ }
+
+ //
+ // Rule 318: basic_direct_declarator ::= declarator_id_name
+ //
+ case 318: { action.builder.
+ consumeDirectDeclaratorIdentifier(); break;
+ }
+
+ //
+ // Rule 319: basic_direct_declarator ::= ( declarator )
+ //
+ case 319: { action.builder.
+ 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;
+ }
+
+ //
+ // Rule 321: array_direct_declarator ::= array_direct_declarator array_modifier
+ //
+ case 321: { action.builder.
+ consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 322: array_direct_declarator ::= basic_direct_declarator array_modifier
+ //
+ case 322: { action.builder.
+ consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 323: array_modifier ::= [ constant_expression ]
+ //
+ case 323: { action.builder.
+ consumeDirectDeclaratorArrayModifier(true); break;
+ }
+
+ //
+ // Rule 324: array_modifier ::= [ ]
+ //
+ case 324: { action.builder.
+ consumeDirectDeclaratorArrayModifier(false); break;
+ }
+
+ //
+ // Rule 325: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
+ //
+ case 325: { action.builder.
+ consumePointer(); break;
+ }
+
+ //
+ // Rule 326: ptr_operator ::= &
+ //
+ case 326: { action.builder.
+ consumeReferenceOperator(); break;
+ }
+
+ //
+ // Rule 327: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
+ //
+ case 327: { action.builder.
+ consumePointerToMember(); break;
+ }
+
+ //
+ // Rule 333: cv_qualifier ::= const
+ //
+ case 333: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 334: cv_qualifier ::= volatile
+ //
+ case 334: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 336: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ //
+ case 336: { action.builder.
+ consumeQualifiedId(false); break;
+ }
+
+ //
+ // Rule 337: type_id ::= type_specifier_seq
+ //
+ case 337: { action.builder.
+ consumeTypeId(false); break;
+ }
+
+ //
+ // Rule 338: type_id ::= type_specifier_seq abstract_declarator
+ //
+ case 338: { action.builder.
+ consumeTypeId(true); break;
+ }
+
+ //
+ // Rule 341: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ //
+ case 341: { action.builder.
+ consumeDeclaratorWithPointer(false); break;
+ }
+
+ //
+ // Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ //
+ case 342: { action.builder.
+ consumeDeclaratorWithPointer(true); break;
+ }
+
+ //
+ // Rule 346: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ //
+ case 346: { action.builder.
+ consumeDirectDeclaratorBracketed(); break;
+ }
+
+ //
+ // Rule 347: array_direct_abstract_declarator ::= array_modifier
+ //
+ case 347: { action.builder.
+ consumeDirectDeclaratorArrayDeclarator(false); break;
+ }
+
+ //
+ // Rule 348: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ //
+ case 348: { action.builder.
+ consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 349: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ //
+ case 349: { action.builder.
+ 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;
+ }
+
+ //
+ // 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;
+ }
+
+ //
+ // Rule 352: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ //
+ case 352: { action.builder.
+ consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 353: parameter_declaration_clause ::= parameter_declaration_list_opt
+ //
+ case 353: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 354: parameter_declaration_clause ::= parameter_declaration_list , ...
+ //
+ case 354: { action.builder.
+ consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 360: abstract_declarator_opt ::= $Empty
+ //
+ case 360: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 361: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ //
+ case 361: { action.builder.
+ consumeParameterDeclaration(); break;
+ }
+
+ //
+ // Rule 362: parameter_declaration ::= declaration_specifiers
+ //
+ case 362: { action.builder.
+ consumeParameterDeclarationWithoutDeclarator(); break;
+ }
+
+ //
+ // Rule 364: parameter_init_declarator ::= declarator = parameter_initializer
+ //
+ case 364: { action.builder.
+ consumeDeclaratorWithInitializer(true); break;
+ }
+
+ //
+ // Rule 366: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ //
+ case 366: { action.builder.
+ consumeDeclaratorWithInitializer(true); break;
+ }
+
+ //
+ // Rule 367: parameter_init_declarator ::= = parameter_initializer
+ //
+ case 367: { action.builder.
+ consumeDeclaratorWithInitializer(false); break;
+ }
+
+ //
+ // Rule 368: parameter_initializer ::= assignment_expression
+ //
+ case 368: { action.builder.
+ consumeInitializer(); break;
+ }
+
+ //
+ // Rule 369: function_definition ::= declaration_specifiers_opt function_direct_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ //
+ case 369: { action.builder.
+ consumeFunctionDefinition(false); break;
+ }
+
+ //
+ // Rule 370: function_definition ::= declaration_specifiers_opt function_direct_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
+ //
+ case 370: { action.builder.
+ consumeFunctionDefinition(true); break;
+ }
+
+ //
+ // Rule 373: initializer ::= ( expression_list )
+ //
+ case 373: { action.builder.
+ consumeInitializerConstructor(); break;
+ }
+
+ //
+ // Rule 374: initializer_clause ::= assignment_expression
+ //
+ case 374: { action.builder.
+ consumeInitializer(); break;
+ }
+
+ //
+ // Rule 375: initializer_clause ::= { <openscope-ast> initializer_list , }
+ //
+ case 375: { action.builder.
+ consumeInitializerList(); break;
+ }
+
+ //
+ // Rule 376: initializer_clause ::= { <openscope-ast> initializer_list }
+ //
+ case 376: { action.builder.
+ consumeInitializerList(); break;
+ }
+
+ //
+ // Rule 377: initializer_clause ::= { <openscope-ast> }
+ //
+ case 377: { action.builder.
+ consumeInitializerList(); break;
+ }
+
+ //
+ // Rule 382: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ //
+ case 382: { action.builder.
+ consumeClassSpecifier(); break;
+ }
+
+ //
+ // Rule 383: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
+ //
+ case 383: { action.builder.
+ consumeClassHead(false); break;
+ }
+
+ //
+ // Rule 384: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt
+ //
+ case 384: { action.builder.
+ consumeClassHead(false); break;
+ }
+
+ //
+ // Rule 385: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
+ //
+ case 385: { action.builder.
+ consumeClassHead(true); break;
+ }
+
+ //
+ // Rule 386: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
+ //
+ case 386: { action.builder.
+ consumeClassHead(true); break;
+ }
+
+ //
+ // Rule 390: identifier_name_opt ::= $Empty
+ //
+ case 390: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 394: visibility_label ::= access_specifier_keyword :
+ //
+ case 394: { action.builder.
+ consumeVisibilityLabel(); break;
+ }
+
+ //
+ // Rule 395: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ //
+ case 395: { action.builder.
+ consumeDeclarationSimple(true); break;
+ }
+
+ //
+ // Rule 396: member_declaration ::= declaration_specifiers_opt ;
+ //
+ case 396: { action.builder.
+ consumeDeclarationSimple(false); break;
+ }
+
+ //
+ // Rule 399: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ //
+ case 399: { action.builder.
+ consumeMemberDeclarationQualifiedId(); break;
+ }
+
+ //
+ // Rule 410: member_declarator ::= declarator constant_initializer
+ //
+ case 410: { action.builder.
+ consumeMemberDeclaratorWithInitializer(); break;
+ }
+
+ //
+ // Rule 411: member_declarator ::= bit_field_declarator : constant_expression
+ //
+ case 411: { action.builder.
+ consumeBitField(true); break;
+ }
+
+ //
+ // Rule 412: member_declarator ::= : constant_expression
+ //
+ case 412: { action.builder.
+ consumeBitField(false); break;
+ }
+
+ //
+ // Rule 413: bit_field_declarator ::= identifier_name
+ //
+ case 413: { action.builder.
+ consumeDirectDeclaratorIdentifier(); break;
+ }
+
+ //
+ // Rule 420: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ //
+ case 420: { action.builder.
+ consumeBaseSpecifier(false); break;
+ }
+
+ //
+ // Rule 421: base_specifier ::= virtual_opt access_specifier_keyword virtual_opt dcolon_opt nested_name_specifier_opt class_name
+ //
+ case 421: { action.builder.
+ consumeBaseSpecifier(true); break;
+ }
+
+ //
+ // Rule 422: virtual_opt ::= virtual
+ //
+ case 422: { action.builder.
+ consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 423: virtual_opt ::= $Empty
+ //
+ case 423: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 429: conversion_function_id_name ::= operator conversion_type_id
+ //
+ case 429: { action.builder.
+ consumeConversionName(); break;
+ }
+
+ //
+ // Rule 430: conversion_type_id ::= type_specifier_seq conversion_declarator
+ //
+ case 430: { action.builder.
+ consumeTypeId(true); break;
+ }
+
+ //
+ // Rule 431: conversion_type_id ::= type_specifier_seq
+ //
+ case 431: { action.builder.
+ consumeTypeId(false); break;
+ }
+
+ //
+ // Rule 432: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ //
+ case 432: { action.builder.
+ consumeDeclaratorWithPointer(false); break;
+ }
+
+ //
+ // Rule 438: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ //
+ case 438: { action.builder.
+ consumeConstructorChainInitializer(); break;
+ }
+
+ //
+ // Rule 439: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ //
+ case 439: { action.builder.
+ consumeQualifiedId(false); break;
+ }
+
+ //
+ // Rule 442: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ //
+ case 442: { action.builder.
+ consumeTemplateId(); break;
+ }
+
+ //
+ // Rule 443: operator_id_name ::= operator overloadable_operator
+ //
+ case 443: { action.builder.
+ consumeOperatorName(); break;
+ }
+
+ //
+ // Rule 486: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ //
+ case 486: { action.builder.
+ consumeTemplateDeclaration(); break;
+ }
+
+ //
+ // Rule 487: export_opt ::= export
+ //
+ case 487: { action.builder.
+ consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 488: export_opt ::= $Empty
+ //
+ case 488: { action.builder.
+ consumeEmpty(); break;
+ }
+
+ //
+ // Rule 493: type_parameter ::= class identifier_name_opt
+ //
+ case 493: { action.builder.
+ consumeSimpleTypeTemplateParameter(false); break;
+ }
+
+ //
+ // Rule 494: type_parameter ::= class identifier_name_opt = type_id
+ //
+ case 494: { action.builder.
+ consumeSimpleTypeTemplateParameter(true); break;
+ }
+
+ //
+ // Rule 495: type_parameter ::= typename identifier_name_opt
+ //
+ case 495: { action.builder.
+ consumeSimpleTypeTemplateParameter(false); break;
+ }
+
+ //
+ // Rule 496: type_parameter ::= typename identifier_name_opt = type_id
+ //
+ case 496: { action.builder.
+ consumeSimpleTypeTemplateParameter(true); break;
+ }
+
+ //
+ // Rule 497: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ //
+ case 497: { action.builder.
+ consumeTemplatedTypeTemplateParameter(false); break;
+ }
+
+ //
+ // Rule 498: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ //
+ case 498: { action.builder.
+ consumeTemplatedTypeTemplateParameter(true); break;
+ }
+
+ //
+ // Rule 499: template_id_name ::= template_identifier < <openscope-ast> template_argument_list_opt >
+ //
+ case 499: { action.builder.
+ consumeTemplateId(); break;
+ }
+
+ //
+ // Rule 508: explicit_instantiation ::= template declaration
+ //
+ case 508: { action.builder.
+ consumeTemplateExplicitInstantiation(); break;
+ }
+
+ //
+ // Rule 509: explicit_specialization ::= template < > declaration
+ //
+ case 509: { action.builder.
+ consumeTemplateExplicitSpecialization(); break;
+ }
+
+ //
+ // Rule 510: try_block ::= try compound_statement <openscope-ast> handler_seq
+ //
+ case 510: { action.builder.
+ consumeStatementTryBlock(); break;
+ }
+
+ //
+ // Rule 513: handler ::= catch ( exception_declaration ) compound_statement
+ //
+ case 513: { action.builder.
+ consumeStatementCatchHandler(false); break;
+ }
+
+ //
+ // Rule 514: handler ::= catch ( ... ) compound_statement
+ //
+ case 514: { action.builder.
+ consumeStatementCatchHandler(true); break;
+ }
+
+ //
+ // Rule 515: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ //
+ case 515: { action.builder.
+ consumeDeclarationSimple(true); break;
+ }
+
+ //
+ // Rule 516: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
+ //
+ case 516: { action.builder.
+ consumeDeclarationSimple(true); break;
+ }
+
+ //
+ // Rule 517: exception_declaration ::= type_specifier_seq
+ //
+ case 517: { action.builder.
+ consumeDeclarationSimple(false); break;
+ }
+
+ default:
+ break;
+ }
+ return;
+ }
}
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 c261ac53dfa..fbdd8da30ef 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
@@ -29,7 +29,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0
+ 0,0,0
};
};
public final static byte isKeyword[] = IsKeyword.isKeyword;
@@ -1445,7 +1445,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0
+ 0,0,0,0,0,0,0,0,0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@@ -2103,15 +2103,15 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
8,9,50,54,62,70,76,77,88,89,
104,107,109,114,15,57,63,69,86,90,
92,96,99,101,111,112,113,46,97,60,
- 68,80,123,95,124,106,56,108,49,66,
+ 68,80,122,95,123,106,56,108,49,66,
72,75,78,85,91,100,55,105,3,79,
1,48,20,65,93,103,21,45,34,31,
- 122,67,121,98,110,51,52,58,59,61,
+ 121,67,120,98,110,51,52,58,59,61,
71,73,74,87,94,18,19,7,16,17,
22,23,33,5,24,25,26,27,28,29,
6,35,36,37,38,39,40,41,42,43,
- 44,30,120,4,53,82,83,84,125,64,
- 116,117,118,119
+ 44,30,119,4,53,82,83,84,124,64,
+ 116,117,118
};
};
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
@@ -2119,25 +2119,25 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 135,137,238,0,0,136,234,134,0,133,
- 0,145,0,132,0,0,144,149,0,0,
- 150,180,159,160,161,162,163,152,164,165,
- 138,166,127,167,168,169,0,131,129,170,
- 0,197,143,0,0,0,140,177,139,153,
- 0,0,0,0,147,173,187,0,179,0,
- 203,204,0,0,128,0,156,178,0,0,
- 0,0,0,0,0,0,201,205,206,172,
- 0,0,0,0,0,0,0,126,148,176,
- 0,0,186,0,0,212,158,208,209,210,
- 0,0,202,0,0,130,0,207,0,0,
- 0,211,0,0,0,241,175,189,190,191,
- 192,193,195,196,0,214,217,219,220,0,
- 237,0,240,0,0,141,142,146,0,155,
- 0,171,181,182,183,184,185,188,0,194,
- 0,199,0,215,216,0,221,224,226,228,
- 0,231,232,233,0,235,236,239,0,0,
- 151,0,0,154,157,174,0,198,200,213,
- 218,0,222,223,225,227,229,230,242,243,
+ 134,136,237,0,0,135,233,133,0,132,
+ 0,144,0,131,0,0,143,148,0,0,
+ 149,179,158,159,160,161,162,151,163,164,
+ 137,165,126,166,167,168,0,130,128,169,
+ 0,196,142,0,0,0,139,176,138,152,
+ 0,0,0,0,146,172,186,0,178,0,
+ 202,203,0,0,127,0,155,177,0,0,
+ 0,0,0,0,0,0,200,204,205,171,
+ 0,0,0,0,0,0,0,125,147,175,
+ 0,0,185,0,0,211,157,207,208,209,
+ 0,0,201,0,0,129,0,206,0,0,
+ 0,210,0,0,0,240,174,188,189,190,
+ 191,192,194,195,0,213,216,218,219,0,
+ 236,0,239,0,0,140,141,145,0,154,
+ 0,170,180,181,182,183,184,187,0,193,
+ 0,198,0,214,215,0,220,223,225,227,
+ 0,230,231,232,0,234,235,238,0,0,
+ 150,0,0,153,156,173,0,197,199,212,
+ 217,0,221,222,224,226,228,229,241,242,
0,0,0,0,0,0,0,0
};
};
@@ -2241,70 +2241,70 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 314,2,39,0,127,0,313,2,115,0,
- 127,173,0,128,180,74,0,216,0,289,
- 128,63,127,0,21,0,291,128,63,44,
- 0,21,55,0,34,132,0,21,55,0,
- 0,291,128,63,44,188,0,21,178,0,
- 289,128,63,131,0,182,129,0,138,0,
- 226,2,288,0,288,0,2,0,127,0,
- 182,129,254,253,254,0,132,190,173,129,
- 0,129,0,190,173,129,0,134,129,0,
- 168,0,307,128,168,0,128,168,0,222,
- 129,0,173,246,0,137,0,0,0,135,
- 0,0,0,306,128,59,252,0,128,0,
- 252,0,3,0,0,128,0,305,128,59,
- 0,45,128,0,152,2,0,128,278,277,
- 128,74,186,168,0,277,128,74,186,168,
- 0,215,0,216,0,186,168,0,98,0,
- 0,215,0,216,0,204,98,0,0,215,
- 0,216,0,277,128,186,168,0,215,0,
- 204,0,0,215,0,234,128,2,0,127,
- 0,0,0,0,0,234,128,2,223,0,
- 232,2,0,227,128,0,208,0,148,0,
- 173,129,0,11,0,0,0,221,61,0,
- 126,0,234,128,2,185,0,185,0,2,
- 0,0,127,0,0,0,0,0,214,2,
- 0,201,0,233,128,59,24,41,0,182,
- 129,60,58,0,143,129,0,132,182,129,
- 275,58,0,182,129,275,58,0,182,129,
- 69,1,60,0,233,128,59,60,0,233,
- 128,59,166,60,0,233,128,59,125,60,
- 0,273,128,59,1,64,0,273,128,59,
- 64,0,182,129,64,0,135,0,190,182,
- 129,246,0,137,0,182,129,246,0,190,
- 173,129,10,0,173,129,10,0,95,137,
- 0,301,128,168,0,162,84,0,231,163,
- 231,172,2,81,0,127,172,0,231,172,
- 2,81,0,129,0,127,172,0,231,163,
- 231,163,231,2,81,0,231,163,231,2,
- 81,0,231,2,81,0,129,0,129,0,
- 127,172,0,162,2,75,204,80,0,127,
- 129,0,204,80,0,110,2,131,127,129,
- 0,241,2,75,0,214,174,0,34,170,
- 0,174,0,176,34,170,0,241,2,85,
- 0,204,157,241,2,83,0,64,172,0,
- 241,2,83,0,127,172,64,172,0,300,
- 128,59,0,162,0,221,77,0,31,0,
- 162,112,160,0,31,170,0,179,2,0,
- 127,150,0,226,2,0,221,61,299,0,
- 162,61,0,179,2,294,42,129,0,127,
- 0,0,294,42,129,0,2,147,127,0,
- 0,179,2,30,0,14,148,0,126,44,
- 173,129,0,32,14,148,0,95,137,32,
- 14,148,0,213,182,129,0,148,32,14,
- 148,0,179,2,34,0,162,2,34,0,
- 162,2,67,179,63,26,0,179,63,26,
- 0,21,2,131,127,0,162,2,67,179,
- 63,29,0,179,63,29,0,162,2,67,
- 179,63,31,0,179,63,31,0,162,2,
- 67,179,63,27,0,179,63,27,0,226,
- 2,126,190,173,129,10,0,126,190,173,
- 129,10,0,137,2,0,127,0,226,2,
- 125,259,173,129,10,0,259,173,129,10,
- 0,135,2,0,127,0,226,2,136,0,
- 226,2,141,0,162,61,141,0,261,0,
- 32,0,32,141,0,171,0,134,0,162,
+ 313,2,39,0,126,0,312,2,115,0,
+ 126,172,0,127,179,74,0,215,0,288,
+ 127,63,126,0,21,0,290,127,63,44,
+ 0,21,55,0,34,131,0,21,55,0,
+ 0,290,127,63,44,187,0,21,177,0,
+ 288,127,63,130,0,181,128,0,137,0,
+ 225,2,287,0,287,0,2,0,126,0,
+ 181,128,253,252,253,0,131,189,172,128,
+ 0,128,0,189,172,128,0,133,128,0,
+ 167,0,306,127,167,0,127,167,0,221,
+ 128,0,172,245,0,136,0,0,0,134,
+ 0,0,0,305,127,59,251,0,127,0,
+ 251,0,3,0,0,127,0,304,127,59,
+ 0,45,127,0,151,2,0,127,277,276,
+ 127,74,185,167,0,276,127,74,185,167,
+ 0,214,0,215,0,185,167,0,98,0,
+ 0,214,0,215,0,203,98,0,0,214,
+ 0,215,0,276,127,185,167,0,214,0,
+ 203,0,0,214,0,233,127,2,0,126,
+ 0,0,0,0,0,233,127,2,222,0,
+ 231,2,0,226,127,0,207,0,147,0,
+ 172,128,0,11,0,0,0,220,61,0,
+ 125,0,233,127,2,184,0,184,0,2,
+ 0,0,126,0,0,0,0,0,213,2,
+ 0,200,0,232,127,59,24,41,0,181,
+ 128,60,58,0,142,128,0,131,181,128,
+ 274,58,0,181,128,274,58,0,181,128,
+ 69,1,60,0,232,127,59,60,0,232,
+ 127,59,165,60,0,232,127,59,124,60,
+ 0,272,127,59,1,64,0,272,127,59,
+ 64,0,181,128,64,0,134,0,189,181,
+ 128,245,0,136,0,181,128,245,0,189,
+ 172,128,10,0,172,128,10,0,95,136,
+ 0,300,127,167,0,161,84,0,230,162,
+ 230,171,2,81,0,126,171,0,230,171,
+ 2,81,0,128,0,126,171,0,230,162,
+ 230,162,230,2,81,0,230,162,230,2,
+ 81,0,230,2,81,0,128,0,128,0,
+ 126,171,0,161,2,75,203,80,0,126,
+ 128,0,203,80,0,110,2,130,126,128,
+ 0,240,2,75,0,213,173,0,34,169,
+ 0,173,0,175,34,169,0,240,2,85,
+ 0,203,156,240,2,83,0,64,171,0,
+ 240,2,83,0,126,171,64,171,0,299,
+ 127,59,0,161,0,220,77,0,31,0,
+ 161,112,159,0,31,169,0,178,2,0,
+ 126,149,0,225,2,0,220,61,298,0,
+ 161,61,0,178,2,293,42,128,0,126,
+ 0,0,293,42,128,0,2,146,126,0,
+ 0,178,2,30,0,14,147,0,125,44,
+ 172,128,0,32,14,147,0,95,136,32,
+ 14,147,0,212,181,128,0,147,32,14,
+ 147,0,178,2,34,0,161,2,34,0,
+ 161,2,67,178,63,26,0,178,63,26,
+ 0,21,2,130,126,0,161,2,67,178,
+ 63,29,0,178,63,29,0,161,2,67,
+ 178,63,31,0,178,63,31,0,161,2,
+ 67,178,63,27,0,178,63,27,0,225,
+ 2,125,189,172,128,10,0,125,189,172,
+ 128,10,0,136,2,0,126,0,225,2,
+ 124,258,172,128,10,0,258,172,128,10,
+ 0,134,2,0,126,0,225,2,135,0,
+ 225,2,140,0,161,61,140,0,260,0,
+ 32,0,32,140,0,170,0,133,0,161,
2,0
};
};
@@ -2351,58 +2351,58 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public interface InSymb {
public final static char inSymb[] = {0,
- 0,293,41,44,188,168,128,62,60,58,
- 230,24,63,44,186,128,185,4,127,6,
- 131,1,129,3,2,267,268,252,269,246,
- 270,64,271,272,1,10,129,2,59,166,
- 125,1,60,275,128,59,67,63,74,128,
- 301,214,202,185,128,302,2,63,174,61,
- 2,40,42,63,182,171,1,173,6,214,
- 59,173,237,129,126,125,1,59,129,129,
- 182,173,24,128,59,59,69,129,129,128,
- 128,128,277,70,2,69,61,227,129,5,
- 68,128,128,128,61,61,128,3,190,128,
- 126,125,128,182,128,59,128,182,173,44,
- 157,233,230,128,128,129,182,182,233,291,
- 44,10,57,146,277,59,287,129,288,152,
- 128,59,34,26,29,31,27,10,136,2,
- 129,30,25,4,9,8,5,7,12,11,
- 141,147,149,148,151,150,154,153,158,156,
- 159,39,160,221,160,129,173,128,234,235,
- 236,289,174,134,292,227,289,261,190,306,
- 129,183,253,58,168,308,128,128,70,190,
- 128,273,248,274,190,233,233,182,167,1,
- 132,68,67,63,237,237,69,232,214,223,
- 224,2,128,278,128,68,182,2,266,128,
- 2,63,63,63,63,129,2,179,162,128,
- 40,42,173,2,126,125,101,114,2,61,
+ 0,292,41,44,187,167,127,62,60,58,
+ 229,24,63,44,185,127,184,4,126,6,
+ 130,1,128,3,2,266,267,251,268,245,
+ 269,64,270,271,1,10,128,2,59,165,
+ 124,1,60,274,127,59,67,63,74,127,
+ 300,213,201,184,127,301,2,63,173,61,
+ 2,40,42,63,181,170,1,172,6,213,
+ 59,172,236,128,125,124,1,59,128,128,
+ 181,172,24,127,59,59,69,128,128,127,
+ 127,127,276,70,2,69,61,226,128,5,
+ 68,127,127,127,61,61,127,3,189,127,
+ 125,124,127,181,127,59,127,181,172,44,
+ 156,232,229,127,127,128,181,181,232,290,
+ 44,10,57,145,276,59,286,128,287,151,
+ 127,59,34,26,29,31,27,10,135,2,
+ 128,30,25,4,9,8,5,7,12,11,
+ 140,146,148,147,150,149,153,152,157,155,
+ 158,39,159,220,159,128,172,127,233,234,
+ 235,288,173,133,291,226,288,260,189,305,
+ 128,182,252,58,167,307,127,127,70,189,
+ 127,272,247,273,189,232,232,181,166,1,
+ 131,68,67,63,236,236,69,231,213,222,
+ 223,2,127,277,127,68,181,2,265,127,
+ 2,63,63,63,63,128,2,178,161,127,
+ 40,42,172,2,125,124,101,114,2,61,
88,94,9,8,90,89,5,92,91,67,
63,86,87,7,96,95,98,97,99,111,
110,109,108,107,106,105,104,103,102,69,
- 112,100,173,5,181,157,68,128,2,68,
- 3,173,128,310,254,129,273,69,68,167,
- 128,69,69,69,69,2,232,128,227,128,
- 300,79,77,1,162,85,83,81,80,75,
- 82,84,78,76,168,60,74,45,226,68,
- 305,179,162,179,179,179,179,173,226,157,
- 136,10,129,61,294,2,179,44,129,44,
- 226,162,148,148,147,147,147,150,150,150,
- 150,149,149,153,151,151,156,154,158,162,
- 159,128,128,227,128,190,307,125,70,283,
- 214,68,253,182,291,128,234,279,115,221,
- 70,2,2,2,204,2,1,162,1,180,
- 68,67,67,67,67,190,259,129,173,212,
- 2,295,174,152,129,182,173,70,228,132,
- 68,70,69,254,67,234,157,2,241,174,
- 241,172,231,75,241,128,2,2,2,2,
- 126,125,173,44,179,128,128,4,213,44,
- 128,129,57,157,128,93,313,174,157,214,
- 157,231,163,2,157,279,162,162,162,162,
- 2,2,190,157,296,299,61,191,3,126,
- 39,182,237,128,228,157,157,128,69,204,
- 163,231,162,226,226,126,2,61,162,4,
- 3,2,69,228,128,120,231,163,157,226,
- 221,4,314,128,157,231,68,157
+ 112,100,172,5,180,156,68,127,2,68,
+ 3,172,127,309,253,128,272,69,68,166,
+ 127,69,69,69,69,2,231,127,226,127,
+ 299,79,77,1,161,85,83,81,80,75,
+ 82,84,78,76,167,60,74,45,225,68,
+ 304,178,161,178,178,178,178,172,225,156,
+ 135,10,128,61,293,2,178,44,128,44,
+ 225,161,147,147,146,146,146,149,149,149,
+ 149,148,148,152,150,150,155,153,157,161,
+ 158,127,127,226,127,189,306,124,70,282,
+ 213,68,252,181,290,127,233,278,115,220,
+ 70,2,2,2,203,2,1,161,1,179,
+ 68,67,67,67,67,189,258,128,172,211,
+ 2,294,173,151,128,181,172,70,227,131,
+ 68,70,69,253,67,233,156,2,240,173,
+ 240,171,230,75,240,127,2,2,2,2,
+ 125,124,172,44,178,127,127,4,212,44,
+ 127,128,57,156,127,93,312,173,156,213,
+ 156,230,162,2,156,278,161,161,161,161,
+ 2,2,189,156,295,298,61,190,3,125,
+ 39,181,236,127,227,156,156,127,69,203,
+ 162,230,161,225,225,125,2,61,161,4,
+ 3,2,69,227,127,120,230,162,156,225,
+ 220,4,313,127,156,230,68,156
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -2526,7 +2526,6 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
"charconst",
"stringlit",
"identifier",
- "TypedefName",
"Completion",
"EndOfCompletion",
"Invalid",
@@ -2678,12 +2677,12 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public final static int
NUM_STATES = 518,
- NT_OFFSET = 124,
+ NT_OFFSET = 123,
LA_STATE_OFFSET = 5698,
MAX_LA = 2147483647,
NUM_RULES = 523,
NUM_NONTERMINALS = 198,
- NUM_SYMBOLS = 322,
+ NUM_SYMBOLS = 321,
SEGMENT_SIZE = 8192,
START_STATE = 2612,
IDENTIFIER_SYMBOL = 0,
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 b8a99338a38..960815e5a79 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
@@ -83,10 +83,9 @@ public interface CPPParsersym {
TK_charconst = 37,
TK_stringlit = 24,
TK_identifier = 1,
- TK_TypedefName = 121,
- TK_Completion = 122,
- TK_EndOfCompletion = 123,
- TK_Invalid = 124,
+ TK_Completion = 121,
+ TK_EndOfCompletion = 122,
+ TK_Invalid = 123,
TK_LeftBracket = 61,
TK_LeftParen = 2,
TK_LeftBrace = 59,
@@ -262,7 +261,6 @@ public interface CPPParsersym {
"public",
"EOF_TOKEN",
"else",
- "TypedefName",
"Completion",
"EndOfCompletion",
"Invalid"

Back to the top