1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-10 21:24:12 +01:00
Arduino/app/preproc/StdCParser.java

5887 lines
148 KiB
Java
Raw Normal View History

// $ANTLR 2.7.2: "StdCParser.g" -> "StdCParser.java"$
package processing.app.preproc;
import java.io.*;
import antlr.CommonAST;
import antlr.DumpASTVisitor;
import antlr.TokenBuffer;
import antlr.TokenStreamException;
import antlr.TokenStreamIOException;
import antlr.ANTLRException;
import antlr.LLkParser;
import antlr.Token;
import antlr.TokenStream;
import antlr.RecognitionException;
import antlr.NoViableAltException;
import antlr.MismatchedTokenException;
import antlr.SemanticException;
import antlr.ParserSharedInputState;
import antlr.collections.impl.BitSet;
import antlr.collections.AST;
import java.util.Hashtable;
import antlr.ASTFactory;
import antlr.ASTPair;
import antlr.collections.impl.ASTArray;
public class StdCParser extends antlr.LLkParser implements STDCTokenTypes
{
// Suppport C++-style single-line comments?
public static boolean CPPComments = true;
// access to symbol table
public CSymbolTable symbolTable = new CSymbolTable();
// source for names to unnamed scopes
protected int unnamedScopeCounter = 0;
public boolean isTypedefName(String name) {
boolean returnValue = false;
TNode node = symbolTable.lookupNameInCurrentScope(name);
for (; node != null; node = (TNode) node.getNextSibling() ) {
if(node.getType() == LITERAL_typedef) {
returnValue = true;
break;
}
}
return returnValue;
}
public String getAScopeName() {
return "" + (unnamedScopeCounter++);
}
public void pushScope(String scopeName) {
symbolTable.pushScope(scopeName);
}
public void popScope() {
symbolTable.popScope();
}
int traceDepth = 0;
public void reportError(RecognitionException ex) {
try {
System.err.println("ANTLR Parsing Error: "+ex + " token name:" + tokenNames[LA(1)]);
ex.printStackTrace(System.err);
}
catch (TokenStreamException e) {
System.err.println("ANTLR Parsing Error: "+ex);
ex.printStackTrace(System.err);
}
}
public void reportError(String s) {
System.err.println("ANTLR Parsing Error from String: " + s);
}
public void reportWarning(String s) {
System.err.println("ANTLR Parsing Warning from String: " + s);
}
public void match(int t) throws MismatchedTokenException {
boolean debugging = false;
if ( debugging ) {
for (int x=0; x<traceDepth; x++) System.out.print(" ");
try {
System.out.println("Match("+tokenNames[t]+") with LA(1)="+
tokenNames[LA(1)] + ((inputState.guessing>0)?" [inputState.guessing "+ inputState.guessing + "]":""));
}
catch (TokenStreamException e) {
System.out.println("Match("+tokenNames[t]+") " + ((inputState.guessing>0)?" [inputState.guessing "+ inputState.guessing + "]":""));
}
}
try {
if ( LA(1)!=t ) {
if ( debugging ){
for (int x=0; x<traceDepth; x++) System.out.print(" ");
System.out.println("token mismatch: "+tokenNames[LA(1)]
+ "!="+tokenNames[t]);
}
throw new MismatchedTokenException(tokenNames, LT(1), t, false, getFilename());
} else {
// mark token as consumed -- fetch next token deferred until LA/LT
consume();
}
}
catch (TokenStreamException e) {
}
}
public void traceIn(String rname) {
traceDepth += 1;
for (int x=0; x<traceDepth; x++) System.out.print(" ");
try {
System.out.println("> "+rname+"; LA(1)==("+ tokenNames[LT(1).getType()]
+ ") " + LT(1).getText() + " [inputState.guessing "+ inputState.guessing + "]");
}
catch (TokenStreamException e) {
}
}
public void traceOut(String rname) {
for (int x=0; x<traceDepth; x++) System.out.print(" ");
try {
System.out.println("< "+rname+"; LA(1)==("+ tokenNames[LT(1).getType()]
+ ") "+LT(1).getText() + " [inputState.guessing "+ inputState.guessing + "]");
}
catch (TokenStreamException e) {
}
traceDepth -= 1;
}
protected StdCParser(TokenBuffer tokenBuf, int k) {
super(tokenBuf,k);
tokenNames = _tokenNames;
buildTokenTypeASTClassMap();
astFactory = new ASTFactory(getTokenTypeToASTClassMap());
}
public StdCParser(TokenBuffer tokenBuf) {
this(tokenBuf,2);
}
protected StdCParser(TokenStream lexer, int k) {
super(lexer,k);
tokenNames = _tokenNames;
buildTokenTypeASTClassMap();
astFactory = new ASTFactory(getTokenTypeToASTClassMap());
}
public StdCParser(TokenStream lexer) {
this(lexer,2);
}
public StdCParser(ParserSharedInputState state) {
super(state,2);
tokenNames = _tokenNames;
buildTokenTypeASTClassMap();
astFactory = new ASTFactory(getTokenTypeToASTClassMap());
}
public final void translationUnit() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode translationUnit_AST = null;
try { // for error handling
switch ( LA(1)) {
case LITERAL_typedef:
case LITERAL_asm:
case LITERAL_volatile:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_enum:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_extern:
case LITERAL_static:
case LITERAL_const:
case LITERAL_void:
case LITERAL_char:
case LITERAL_short:
case LITERAL_int:
case LITERAL_long:
case LITERAL_float:
case LITERAL_double:
case LITERAL_signed:
case LITERAL_unsigned:
case ID:
case STAR:
case LPAREN:
{
externalList();
astFactory.addASTChild(currentAST, returnAST);
translationUnit_AST = (TNode)currentAST.root;
break;
}
case EOF:
{
if ( inputState.guessing==0 ) {
System.err.println ( "Empty source file!" );
}
translationUnit_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_0);
} else {
throw ex;
}
}
returnAST = translationUnit_AST;
}
public final void externalList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode externalList_AST = null;
try { // for error handling
{
int _cnt4=0;
_loop4:
do {
if ((_tokenSet_1.member(LA(1)))) {
externalDef();
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt4>=1 ) { break _loop4; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt4++;
} while (true);
}
externalList_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_0);
} else {
throw ex;
}
}
returnAST = externalList_AST;
}
public final void externalDef() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode externalDef_AST = null;
try { // for error handling
boolean synPredMatched7 = false;
if (((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2))))) {
int _m7 = mark();
synPredMatched7 = true;
inputState.guessing++;
try {
{
if ((LA(1)==LITERAL_typedef) && (true)) {
match(LITERAL_typedef);
}
else if ((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2)))) {
declaration();
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException pe) {
synPredMatched7 = false;
}
rewind(_m7);
inputState.guessing--;
}
if ( synPredMatched7 ) {
declaration();
astFactory.addASTChild(currentAST, returnAST);
externalDef_AST = (TNode)currentAST.root;
}
else if ((_tokenSet_4.member(LA(1))) && (_tokenSet_5.member(LA(2)))) {
functionDef();
astFactory.addASTChild(currentAST, returnAST);
externalDef_AST = (TNode)currentAST.root;
}
else if ((LA(1)==LITERAL_asm)) {
asm_expr();
astFactory.addASTChild(currentAST, returnAST);
externalDef_AST = (TNode)currentAST.root;
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_6);
} else {
throw ex;
}
}
returnAST = externalDef_AST;
}
public final void declaration() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode declaration_AST = null;
TNode ds_AST = null;
AST ds1 = null;
try { // for error handling
declSpecifiers();
ds_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
if ( inputState.guessing==0 ) {
ds1 = astFactory.dupList(ds_AST);
}
{
switch ( LA(1)) {
case ID:
case STAR:
case LPAREN:
{
initDeclList(ds1);
astFactory.addASTChild(currentAST, returnAST);
break;
}
case SEMI:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMI);
if ( inputState.guessing==0 ) {
declaration_AST = (TNode)currentAST.root;
declaration_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NDeclaration)).add(declaration_AST));
currentAST.root = declaration_AST;
currentAST.child = declaration_AST!=null &&declaration_AST.getFirstChild()!=null ?
declaration_AST.getFirstChild() : declaration_AST;
currentAST.advanceChildToEnd();
}
declaration_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_7);
} else {
throw ex;
}
}
returnAST = declaration_AST;
}
public final void functionDef() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode functionDef_AST = null;
TNode ds_AST = null;
TNode d_AST = null;
String declName;
try { // for error handling
{
boolean synPredMatched94 = false;
if (((_tokenSet_8.member(LA(1))) && (_tokenSet_9.member(LA(2))))) {
int _m94 = mark();
synPredMatched94 = true;
inputState.guessing++;
try {
{
functionDeclSpecifiers();
}
}
catch (RecognitionException pe) {
synPredMatched94 = false;
}
rewind(_m94);
inputState.guessing--;
}
if ( synPredMatched94 ) {
functionDeclSpecifiers();
ds_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_10.member(LA(1))) && (_tokenSet_5.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
declName=declarator(true);
d_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
if ( inputState.guessing==0 ) {
AST d2, ds2;
d2 = astFactory.dupList(d_AST);
ds2 = astFactory.dupList(ds_AST);
symbolTable.add(declName, (TNode)astFactory.make( (new ASTArray(3)).add(null).add(ds2).add(d2)));
pushScope(declName);
}
{
_loop96:
do {
if ((_tokenSet_2.member(LA(1)))) {
declaration();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop96;
}
} while (true);
}
{
switch ( LA(1)) {
case VARARGS:
{
TNode tmp2_AST = null;
tmp2_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp2_AST);
match(VARARGS);
break;
}
case LCURLY:
case SEMI:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
_loop99:
do {
if ((LA(1)==SEMI)) {
match(SEMI);
}
else {
break _loop99;
}
} while (true);
}
if ( inputState.guessing==0 ) {
popScope();
}
compoundStatement(declName);
astFactory.addASTChild(currentAST, returnAST);
if ( inputState.guessing==0 ) {
functionDef_AST = (TNode)currentAST.root;
functionDef_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NFunctionDef)).add(functionDef_AST));
currentAST.root = functionDef_AST;
currentAST.child = functionDef_AST!=null &&functionDef_AST.getFirstChild()!=null ?
functionDef_AST.getFirstChild() : functionDef_AST;
currentAST.advanceChildToEnd();
}
functionDef_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_6);
} else {
throw ex;
}
}
returnAST = functionDef_AST;
}
public final void asm_expr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode asm_expr_AST = null;
try { // for error handling
TNode tmp4_AST = null;
tmp4_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp4_AST);
match(LITERAL_asm);
{
switch ( LA(1)) {
case LITERAL_volatile:
{
TNode tmp5_AST = null;
tmp5_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp5_AST);
match(LITERAL_volatile);
break;
}
case LCURLY:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
match(LCURLY);
expr();
astFactory.addASTChild(currentAST, returnAST);
match(RCURLY);
match(SEMI);
asm_expr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_6);
} else {
throw ex;
}
}
returnAST = asm_expr_AST;
}
public final void expr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode expr_AST = null;
Token c = null;
TNode c_AST = null;
try { // for error handling
assignExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop129:
do {
if ((LA(1)==COMMA) && (_tokenSet_11.member(LA(2)))) {
c = LT(1);
c_AST = (TNode)astFactory.create(c);
astFactory.makeASTRoot(currentAST, c_AST);
match(COMMA);
if ( inputState.guessing==0 ) {
c_AST.setType(NCommaExpr);
}
assignExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop129;
}
} while (true);
}
expr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_12);
} else {
throw ex;
}
}
returnAST = expr_AST;
}
public final void declSpecifiers() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode declSpecifiers_AST = null;
TNode s_AST = null;
int specCount=0;
try { // for error handling
{
int _cnt16=0;
_loop16:
do {
switch ( LA(1)) {
case LITERAL_typedef:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_extern:
case LITERAL_static:
{
storageClassSpecifier();
s_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LITERAL_volatile:
case LITERAL_const:
{
typeQualifier();
astFactory.addASTChild(currentAST, returnAST);
break;
}
default:
boolean synPredMatched15 = false;
if (((_tokenSet_13.member(LA(1))) && (_tokenSet_14.member(LA(2))))) {
int _m15 = mark();
synPredMatched15 = true;
inputState.guessing++;
try {
{
if ((LA(1)==LITERAL_struct) && (true)) {
match(LITERAL_struct);
}
else if ((LA(1)==LITERAL_union) && (true)) {
match(LITERAL_union);
}
else if ((LA(1)==LITERAL_enum) && (true)) {
match(LITERAL_enum);
}
else if ((_tokenSet_13.member(LA(1))) && (true)) {
typeSpecifier(specCount);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException pe) {
synPredMatched15 = false;
}
rewind(_m15);
inputState.guessing--;
}
if ( synPredMatched15 ) {
specCount=typeSpecifier(specCount);
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt16>=1 ) { break _loop16; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt16++;
} while (true);
}
declSpecifiers_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_15);
} else {
throw ex;
}
}
returnAST = declSpecifiers_AST;
}
public final void initDeclList(
AST declarationSpecifiers
) throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode initDeclList_AST = null;
try { // for error handling
initDecl(declarationSpecifiers);
astFactory.addASTChild(currentAST, returnAST);
{
_loop56:
do {
if ((LA(1)==COMMA)) {
match(COMMA);
initDecl(declarationSpecifiers);
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop56;
}
} while (true);
}
initDeclList_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_16);
} else {
throw ex;
}
}
returnAST = initDeclList_AST;
}
public final void storageClassSpecifier() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode storageClassSpecifier_AST = null;
try { // for error handling
switch ( LA(1)) {
case LITERAL_auto:
{
TNode tmp10_AST = null;
tmp10_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp10_AST);
match(LITERAL_auto);
storageClassSpecifier_AST = (TNode)currentAST.root;
break;
}
case LITERAL_register:
{
TNode tmp11_AST = null;
tmp11_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp11_AST);
match(LITERAL_register);
storageClassSpecifier_AST = (TNode)currentAST.root;
break;
}
case LITERAL_typedef:
{
TNode tmp12_AST = null;
tmp12_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp12_AST);
match(LITERAL_typedef);
storageClassSpecifier_AST = (TNode)currentAST.root;
break;
}
case LITERAL_extern:
case LITERAL_static:
{
functionStorageClassSpecifier();
astFactory.addASTChild(currentAST, returnAST);
storageClassSpecifier_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_17);
} else {
throw ex;
}
}
returnAST = storageClassSpecifier_AST;
}
public final void typeQualifier() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode typeQualifier_AST = null;
try { // for error handling
switch ( LA(1)) {
case LITERAL_const:
{
TNode tmp13_AST = null;
tmp13_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp13_AST);
match(LITERAL_const);
typeQualifier_AST = (TNode)currentAST.root;
break;
}
case LITERAL_volatile:
{
TNode tmp14_AST = null;
tmp14_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp14_AST);
match(LITERAL_volatile);
typeQualifier_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_18);
} else {
throw ex;
}
}
returnAST = typeQualifier_AST;
}
public final int typeSpecifier(
int specCount
) throws RecognitionException, TokenStreamException {
int retSpecCount;
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode typeSpecifier_AST = null;
retSpecCount = specCount + 1;
try { // for error handling
{
switch ( LA(1)) {
case LITERAL_void:
{
TNode tmp15_AST = null;
tmp15_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp15_AST);
match(LITERAL_void);
break;
}
case LITERAL_char:
{
TNode tmp16_AST = null;
tmp16_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp16_AST);
match(LITERAL_char);
break;
}
case LITERAL_short:
{
TNode tmp17_AST = null;
tmp17_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp17_AST);
match(LITERAL_short);
break;
}
case LITERAL_int:
{
TNode tmp18_AST = null;
tmp18_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp18_AST);
match(LITERAL_int);
break;
}
case LITERAL_long:
{
TNode tmp19_AST = null;
tmp19_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp19_AST);
match(LITERAL_long);
break;
}
case LITERAL_float:
{
TNode tmp20_AST = null;
tmp20_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp20_AST);
match(LITERAL_float);
break;
}
case LITERAL_double:
{
TNode tmp21_AST = null;
tmp21_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp21_AST);
match(LITERAL_double);
break;
}
case LITERAL_signed:
{
TNode tmp22_AST = null;
tmp22_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp22_AST);
match(LITERAL_signed);
break;
}
case LITERAL_unsigned:
{
TNode tmp23_AST = null;
tmp23_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp23_AST);
match(LITERAL_unsigned);
break;
}
case LITERAL_struct:
case LITERAL_union:
{
structOrUnionSpecifier();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LITERAL_enum:
{
enumSpecifier();
astFactory.addASTChild(currentAST, returnAST);
break;
}
default:
if (((LA(1)==ID))&&( specCount == 0 )) {
typedefName();
astFactory.addASTChild(currentAST, returnAST);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}
typeSpecifier_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_18);
} else {
throw ex;
}
}
returnAST = typeSpecifier_AST;
return retSpecCount;
}
public final void functionStorageClassSpecifier() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode functionStorageClassSpecifier_AST = null;
try { // for error handling
switch ( LA(1)) {
case LITERAL_extern:
{
TNode tmp24_AST = null;
tmp24_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp24_AST);
match(LITERAL_extern);
functionStorageClassSpecifier_AST = (TNode)currentAST.root;
break;
}
case LITERAL_static:
{
TNode tmp25_AST = null;
tmp25_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp25_AST);
match(LITERAL_static);
functionStorageClassSpecifier_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_17);
} else {
throw ex;
}
}
returnAST = functionStorageClassSpecifier_AST;
}
public final void structOrUnionSpecifier() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode structOrUnionSpecifier_AST = null;
TNode sou_AST = null;
Token i = null;
TNode i_AST = null;
Token l = null;
TNode l_AST = null;
Token l1 = null;
TNode l1_AST = null;
String scopeName;
try { // for error handling
structOrUnion();
sou_AST = (TNode)returnAST;
{
boolean synPredMatched26 = false;
if (((LA(1)==ID) && (LA(2)==LCURLY))) {
int _m26 = mark();
synPredMatched26 = true;
inputState.guessing++;
try {
{
match(ID);
match(LCURLY);
}
}
catch (RecognitionException pe) {
synPredMatched26 = false;
}
rewind(_m26);
inputState.guessing--;
}
if ( synPredMatched26 ) {
i = LT(1);
i_AST = (TNode)astFactory.create(i);
astFactory.addASTChild(currentAST, i_AST);
match(ID);
l = LT(1);
l_AST = (TNode)astFactory.create(l);
astFactory.addASTChild(currentAST, l_AST);
match(LCURLY);
if ( inputState.guessing==0 ) {
scopeName = sou_AST.getText() + " " + i_AST.getText();
l_AST.setText(scopeName);
pushScope(scopeName);
}
structDeclarationList();
astFactory.addASTChild(currentAST, returnAST);
if ( inputState.guessing==0 ) {
popScope();
}
match(RCURLY);
}
else if ((LA(1)==LCURLY)) {
l1 = LT(1);
l1_AST = (TNode)astFactory.create(l1);
astFactory.addASTChild(currentAST, l1_AST);
match(LCURLY);
if ( inputState.guessing==0 ) {
scopeName = getAScopeName();
l1_AST.setText(scopeName);
pushScope(scopeName);
}
structDeclarationList();
astFactory.addASTChild(currentAST, returnAST);
if ( inputState.guessing==0 ) {
popScope();
}
match(RCURLY);
}
else if ((LA(1)==ID) && (_tokenSet_18.member(LA(2)))) {
TNode tmp28_AST = null;
tmp28_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp28_AST);
match(ID);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
if ( inputState.guessing==0 ) {
structOrUnionSpecifier_AST = (TNode)currentAST.root;
structOrUnionSpecifier_AST = (TNode)astFactory.make( (new ASTArray(2)).add(sou_AST).add(structOrUnionSpecifier_AST));
currentAST.root = structOrUnionSpecifier_AST;
currentAST.child = structOrUnionSpecifier_AST!=null &&structOrUnionSpecifier_AST.getFirstChild()!=null ?
structOrUnionSpecifier_AST.getFirstChild() : structOrUnionSpecifier_AST;
currentAST.advanceChildToEnd();
}
structOrUnionSpecifier_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_18);
} else {
throw ex;
}
}
returnAST = structOrUnionSpecifier_AST;
}
public final void enumSpecifier() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode enumSpecifier_AST = null;
Token i = null;
TNode i_AST = null;
try { // for error handling
TNode tmp29_AST = null;
tmp29_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp29_AST);
match(LITERAL_enum);
{
boolean synPredMatched48 = false;
if (((LA(1)==ID) && (LA(2)==LCURLY))) {
int _m48 = mark();
synPredMatched48 = true;
inputState.guessing++;
try {
{
match(ID);
match(LCURLY);
}
}
catch (RecognitionException pe) {
synPredMatched48 = false;
}
rewind(_m48);
inputState.guessing--;
}
if ( synPredMatched48 ) {
i = LT(1);
i_AST = (TNode)astFactory.create(i);
astFactory.addASTChild(currentAST, i_AST);
match(ID);
TNode tmp30_AST = null;
tmp30_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp30_AST);
match(LCURLY);
enumList(i.getText());
astFactory.addASTChild(currentAST, returnAST);
match(RCURLY);
}
else if ((LA(1)==LCURLY)) {
TNode tmp32_AST = null;
tmp32_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp32_AST);
match(LCURLY);
enumList("anonymous");
astFactory.addASTChild(currentAST, returnAST);
match(RCURLY);
}
else if ((LA(1)==ID) && (_tokenSet_18.member(LA(2)))) {
TNode tmp34_AST = null;
tmp34_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp34_AST);
match(ID);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
enumSpecifier_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_18);
} else {
throw ex;
}
}
returnAST = enumSpecifier_AST;
}
public final void typedefName() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode typedefName_AST = null;
Token i = null;
TNode i_AST = null;
try { // for error handling
if (!( isTypedefName ( LT(1).getText() ) ))
throw new SemanticException(" isTypedefName ( LT(1).getText() ) ");
i = LT(1);
i_AST = (TNode)astFactory.create(i);
astFactory.addASTChild(currentAST, i_AST);
match(ID);
if ( inputState.guessing==0 ) {
typedefName_AST = (TNode)currentAST.root;
typedefName_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NTypedefName)).add(i_AST));
currentAST.root = typedefName_AST;
currentAST.child = typedefName_AST!=null &&typedefName_AST.getFirstChild()!=null ?
typedefName_AST.getFirstChild() : typedefName_AST;
currentAST.advanceChildToEnd();
}
typedefName_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_18);
} else {
throw ex;
}
}
returnAST = typedefName_AST;
}
public final void structOrUnion() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode structOrUnion_AST = null;
try { // for error handling
switch ( LA(1)) {
case LITERAL_struct:
{
TNode tmp35_AST = null;
tmp35_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp35_AST);
match(LITERAL_struct);
structOrUnion_AST = (TNode)currentAST.root;
break;
}
case LITERAL_union:
{
TNode tmp36_AST = null;
tmp36_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp36_AST);
match(LITERAL_union);
structOrUnion_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_19);
} else {
throw ex;
}
}
returnAST = structOrUnion_AST;
}
public final void structDeclarationList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode structDeclarationList_AST = null;
try { // for error handling
{
int _cnt30=0;
_loop30:
do {
if ((_tokenSet_20.member(LA(1)))) {
structDeclaration();
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt30>=1 ) { break _loop30; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt30++;
} while (true);
}
structDeclarationList_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_21);
} else {
throw ex;
}
}
returnAST = structDeclarationList_AST;
}
public final void structDeclaration() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode structDeclaration_AST = null;
try { // for error handling
specifierQualifierList();
astFactory.addASTChild(currentAST, returnAST);
structDeclaratorList();
astFactory.addASTChild(currentAST, returnAST);
{
int _cnt33=0;
_loop33:
do {
if ((LA(1)==SEMI)) {
match(SEMI);
}
else {
if ( _cnt33>=1 ) { break _loop33; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt33++;
} while (true);
}
structDeclaration_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_22);
} else {
throw ex;
}
}
returnAST = structDeclaration_AST;
}
public final void specifierQualifierList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode specifierQualifierList_AST = null;
int specCount = 0;
try { // for error handling
{
int _cnt38=0;
_loop38:
do {
boolean synPredMatched37 = false;
if (((_tokenSet_13.member(LA(1))) && (_tokenSet_23.member(LA(2))))) {
int _m37 = mark();
synPredMatched37 = true;
inputState.guessing++;
try {
{
if ((LA(1)==LITERAL_struct) && (true)) {
match(LITERAL_struct);
}
else if ((LA(1)==LITERAL_union) && (true)) {
match(LITERAL_union);
}
else if ((LA(1)==LITERAL_enum) && (true)) {
match(LITERAL_enum);
}
else if ((_tokenSet_13.member(LA(1))) && (true)) {
typeSpecifier(specCount);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException pe) {
synPredMatched37 = false;
}
rewind(_m37);
inputState.guessing--;
}
if ( synPredMatched37 ) {
specCount=typeSpecifier(specCount);
astFactory.addASTChild(currentAST, returnAST);
}
else if ((LA(1)==LITERAL_volatile||LA(1)==LITERAL_const)) {
typeQualifier();
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt38>=1 ) { break _loop38; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt38++;
} while (true);
}
specifierQualifierList_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_24);
} else {
throw ex;
}
}
returnAST = specifierQualifierList_AST;
}
public final void structDeclaratorList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode structDeclaratorList_AST = null;
try { // for error handling
structDeclarator();
astFactory.addASTChild(currentAST, returnAST);
{
_loop41:
do {
if ((LA(1)==COMMA)) {
match(COMMA);
structDeclarator();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop41;
}
} while (true);
}
structDeclaratorList_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_16);
} else {
throw ex;
}
}
returnAST = structDeclaratorList_AST;
}
public final void structDeclarator() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode structDeclarator_AST = null;
try { // for error handling
{
switch ( LA(1)) {
case COLON:
{
TNode tmp39_AST = null;
tmp39_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp39_AST);
match(COLON);
constExpr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case ID:
case STAR:
case LPAREN:
{
declarator(false);
astFactory.addASTChild(currentAST, returnAST);
{
switch ( LA(1)) {
case COLON:
{
TNode tmp40_AST = null;
tmp40_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp40_AST);
match(COLON);
constExpr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case SEMI:
case COMMA:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
structDeclarator_AST = (TNode)currentAST.root;
structDeclarator_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NStructDeclarator)).add(structDeclarator_AST));
currentAST.root = structDeclarator_AST;
currentAST.child = structDeclarator_AST!=null &&structDeclarator_AST.getFirstChild()!=null ?
structDeclarator_AST.getFirstChild() : structDeclarator_AST;
currentAST.advanceChildToEnd();
}
structDeclarator_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_25);
} else {
throw ex;
}
}
returnAST = structDeclarator_AST;
}
public final void constExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode constExpr_AST = null;
try { // for error handling
conditionalExpr();
astFactory.addASTChild(currentAST, returnAST);
constExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_26);
} else {
throw ex;
}
}
returnAST = constExpr_AST;
}
public final String declarator(
boolean isFunctionDefinition
) throws RecognitionException, TokenStreamException {
String declName;
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode declarator_AST = null;
Token id = null;
TNode id_AST = null;
TNode p_AST = null;
TNode i_AST = null;
declName = "";
try { // for error handling
{
switch ( LA(1)) {
case STAR:
{
pointerGroup();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case ID:
case LPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
switch ( LA(1)) {
case ID:
{
id = LT(1);
id_AST = (TNode)astFactory.create(id);
astFactory.addASTChild(currentAST, id_AST);
match(ID);
if ( inputState.guessing==0 ) {
declName = id.getText();
}
break;
}
case LPAREN:
{
TNode tmp41_AST = null;
tmp41_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp41_AST);
match(LPAREN);
declName=declarator(false);
astFactory.addASTChild(currentAST, returnAST);
TNode tmp42_AST = null;
tmp42_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp42_AST);
match(RPAREN);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
_loop82:
do {
switch ( LA(1)) {
case LPAREN:
{
TNode tmp43_AST = null;
tmp43_AST = (TNode)astFactory.create(LT(1));
match(LPAREN);
if ( inputState.guessing==0 ) {
if (isFunctionDefinition) {
pushScope(declName);
}
else {
pushScope("!"+declName);
}
}
{
boolean synPredMatched79 = false;
if (((_tokenSet_2.member(LA(1))) && (_tokenSet_27.member(LA(2))))) {
int _m79 = mark();
synPredMatched79 = true;
inputState.guessing++;
try {
{
declSpecifiers();
}
}
catch (RecognitionException pe) {
synPredMatched79 = false;
}
rewind(_m79);
inputState.guessing--;
}
if ( synPredMatched79 ) {
parameterTypeList();
p_AST = (TNode)returnAST;
if ( inputState.guessing==0 ) {
declarator_AST = (TNode)currentAST.root;
declarator_AST = (TNode)astFactory.make( (new ASTArray(3)).add(null).add(declarator_AST).add((TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NParameterTypeList)).add(p_AST))));
currentAST.root = declarator_AST;
currentAST.child = declarator_AST!=null &&declarator_AST.getFirstChild()!=null ?
declarator_AST.getFirstChild() : declarator_AST;
currentAST.advanceChildToEnd();
}
}
else if ((LA(1)==ID||LA(1)==RPAREN) && (_tokenSet_28.member(LA(2)))) {
{
switch ( LA(1)) {
case ID:
{
idList();
i_AST = (TNode)returnAST;
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
declarator_AST = (TNode)currentAST.root;
declarator_AST = (TNode)astFactory.make( (new ASTArray(3)).add(null).add(declarator_AST).add((TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NParameterTypeList)).add(i_AST))));
currentAST.root = declarator_AST;
currentAST.child = declarator_AST!=null &&declarator_AST.getFirstChild()!=null ?
declarator_AST.getFirstChild() : declarator_AST;
currentAST.advanceChildToEnd();
}
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
if ( inputState.guessing==0 ) {
popScope();
}
TNode tmp44_AST = null;
tmp44_AST = (TNode)astFactory.create(LT(1));
match(RPAREN);
break;
}
case LBRACKET:
{
TNode tmp45_AST = null;
tmp45_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp45_AST);
match(LBRACKET);
{
switch ( LA(1)) {
case ID:
case STAR:
case LPAREN:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case IntOctalConst:
case LongOctalConst:
case UnsignedOctalConst:
case IntIntConst:
case LongIntConst:
case UnsignedIntConst:
case IntHexConst:
case LongHexConst:
case UnsignedHexConst:
case FloatDoubleConst:
case DoubleDoubleConst:
case LongDoubleConst:
{
constExpr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RBRACKET:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp46_AST = null;
tmp46_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp46_AST);
match(RBRACKET);
break;
}
default:
{
break _loop82;
}
}
} while (true);
}
if ( inputState.guessing==0 ) {
declarator_AST = (TNode)currentAST.root;
declarator_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NDeclarator)).add(declarator_AST));
currentAST.root = declarator_AST;
currentAST.child = declarator_AST!=null &&declarator_AST.getFirstChild()!=null ?
declarator_AST.getFirstChild() : declarator_AST;
currentAST.advanceChildToEnd();
}
declarator_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_29);
} else {
throw ex;
}
}
returnAST = declarator_AST;
return declName;
}
public final void enumList(
String enumName
) throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode enumList_AST = null;
try { // for error handling
enumerator(enumName);
astFactory.addASTChild(currentAST, returnAST);
{
_loop51:
do {
if ((LA(1)==COMMA)) {
match(COMMA);
enumerator(enumName);
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop51;
}
} while (true);
}
enumList_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_21);
} else {
throw ex;
}
}
returnAST = enumList_AST;
}
public final void enumerator(
String enumName
) throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode enumerator_AST = null;
Token i = null;
TNode i_AST = null;
try { // for error handling
i = LT(1);
i_AST = (TNode)astFactory.create(i);
astFactory.addASTChild(currentAST, i_AST);
match(ID);
if ( inputState.guessing==0 ) {
symbolTable.add( i.getText(),
(TNode)astFactory.make( (new ASTArray(3)).add(null).add((TNode)astFactory.create(LITERAL_enum,"enum")).add((TNode)astFactory.create(ID,enumName)))
);
}
{
switch ( LA(1)) {
case ASSIGN:
{
TNode tmp48_AST = null;
tmp48_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp48_AST);
match(ASSIGN);
constExpr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RCURLY:
case COMMA:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
enumerator_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_30);
} else {
throw ex;
}
}
returnAST = enumerator_AST;
}
public final void initDecl(
AST declarationSpecifiers
) throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode initDecl_AST = null;
TNode d_AST = null;
String declName = "";
try { // for error handling
declName=declarator(false);
d_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
if ( inputState.guessing==0 ) {
AST ds1, d1;
ds1 = astFactory.dupList(declarationSpecifiers);
d1 = astFactory.dupList(d_AST);
symbolTable.add(declName, (TNode)astFactory.make( (new ASTArray(3)).add(null).add(ds1).add(d1)) );
}
{
switch ( LA(1)) {
case ASSIGN:
{
TNode tmp49_AST = null;
tmp49_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp49_AST);
match(ASSIGN);
initializer();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case COLON:
{
TNode tmp50_AST = null;
tmp50_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp50_AST);
match(COLON);
expr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case SEMI:
case COMMA:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
initDecl_AST = (TNode)currentAST.root;
initDecl_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NInitDecl)).add(initDecl_AST));
currentAST.root = initDecl_AST;
currentAST.child = initDecl_AST!=null &&initDecl_AST.getFirstChild()!=null ?
initDecl_AST.getFirstChild() : initDecl_AST;
currentAST.advanceChildToEnd();
}
initDecl_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_25);
} else {
throw ex;
}
}
returnAST = initDecl_AST;
}
public final void initializer() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode initializer_AST = null;
try { // for error handling
{
switch ( LA(1)) {
case ID:
case STAR:
case LPAREN:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case IntOctalConst:
case LongOctalConst:
case UnsignedOctalConst:
case IntIntConst:
case LongIntConst:
case UnsignedIntConst:
case IntHexConst:
case LongHexConst:
case UnsignedHexConst:
case FloatDoubleConst:
case DoubleDoubleConst:
case LongDoubleConst:
{
assignExpr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LCURLY:
{
TNode tmp51_AST = null;
tmp51_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp51_AST);
match(LCURLY);
initializerList();
astFactory.addASTChild(currentAST, returnAST);
{
switch ( LA(1)) {
case COMMA:
{
match(COMMA);
break;
}
case RCURLY:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
match(RCURLY);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
initializer_AST = (TNode)currentAST.root;
initializer_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NInitializer)).add(initializer_AST));
currentAST.root = initializer_AST;
currentAST.child = initializer_AST!=null &&initializer_AST.getFirstChild()!=null ?
initializer_AST.getFirstChild() : initializer_AST;
currentAST.advanceChildToEnd();
}
initializer_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_31);
} else {
throw ex;
}
}
returnAST = initializer_AST;
}
public final void pointerGroup() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode pointerGroup_AST = null;
try { // for error handling
{
int _cnt63=0;
_loop63:
do {
if ((LA(1)==STAR)) {
TNode tmp54_AST = null;
tmp54_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp54_AST);
match(STAR);
{
_loop62:
do {
if ((LA(1)==LITERAL_volatile||LA(1)==LITERAL_const)) {
typeQualifier();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop62;
}
} while (true);
}
}
else {
if ( _cnt63>=1 ) { break _loop63; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt63++;
} while (true);
}
if ( inputState.guessing==0 ) {
pointerGroup_AST = (TNode)currentAST.root;
pointerGroup_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NPointerGroup)).add(pointerGroup_AST));
currentAST.root = pointerGroup_AST;
currentAST.child = pointerGroup_AST!=null &&pointerGroup_AST.getFirstChild()!=null ?
pointerGroup_AST.getFirstChild() : pointerGroup_AST;
currentAST.advanceChildToEnd();
}
pointerGroup_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_32);
} else {
throw ex;
}
}
returnAST = pointerGroup_AST;
}
public final void idList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode idList_AST = null;
try { // for error handling
TNode tmp55_AST = null;
tmp55_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp55_AST);
match(ID);
{
_loop66:
do {
if ((LA(1)==COMMA)) {
match(COMMA);
TNode tmp57_AST = null;
tmp57_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp57_AST);
match(ID);
}
else {
break _loop66;
}
} while (true);
}
idList_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_33);
} else {
throw ex;
}
}
returnAST = idList_AST;
}
public final void assignExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode assignExpr_AST = null;
TNode a_AST = null;
try { // for error handling
conditionalExpr();
astFactory.addASTChild(currentAST, returnAST);
{
switch ( LA(1)) {
case ASSIGN:
case DIV_ASSIGN:
case PLUS_ASSIGN:
case MINUS_ASSIGN:
case STAR_ASSIGN:
case MOD_ASSIGN:
case RSHIFT_ASSIGN:
case LSHIFT_ASSIGN:
case BAND_ASSIGN:
case BOR_ASSIGN:
case BXOR_ASSIGN:
{
assignOperator();
a_AST = (TNode)returnAST;
assignExpr();
astFactory.addASTChild(currentAST, returnAST);
if ( inputState.guessing==0 ) {
assignExpr_AST = (TNode)currentAST.root;
assignExpr_AST = (TNode)astFactory.make( (new ASTArray(2)).add(a_AST).add(assignExpr_AST));
currentAST.root = assignExpr_AST;
currentAST.child = assignExpr_AST!=null &&assignExpr_AST.getFirstChild()!=null ?
assignExpr_AST.getFirstChild() : assignExpr_AST;
currentAST.advanceChildToEnd();
}
break;
}
case RCURLY:
case SEMI:
case COMMA:
case COLON:
case RPAREN:
case RBRACKET:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
assignExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_12);
} else {
throw ex;
}
}
returnAST = assignExpr_AST;
}
public final void initializerList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode initializerList_AST = null;
try { // for error handling
initializer();
astFactory.addASTChild(currentAST, returnAST);
{
_loop72:
do {
if ((LA(1)==COMMA) && (_tokenSet_34.member(LA(2)))) {
match(COMMA);
initializer();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop72;
}
} while (true);
}
initializerList_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_30);
} else {
throw ex;
}
}
returnAST = initializerList_AST;
}
public final void parameterTypeList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode parameterTypeList_AST = null;
try { // for error handling
parameterDeclaration();
astFactory.addASTChild(currentAST, returnAST);
{
_loop85:
do {
if ((LA(1)==COMMA) && (_tokenSet_2.member(LA(2)))) {
match(COMMA);
parameterDeclaration();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop85;
}
} while (true);
}
{
switch ( LA(1)) {
case COMMA:
{
match(COMMA);
TNode tmp61_AST = null;
tmp61_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp61_AST);
match(VARARGS);
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
parameterTypeList_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_33);
} else {
throw ex;
}
}
returnAST = parameterTypeList_AST;
}
public final void parameterDeclaration() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode parameterDeclaration_AST = null;
TNode ds_AST = null;
TNode d_AST = null;
String declName;
try { // for error handling
declSpecifiers();
ds_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
{
boolean synPredMatched90 = false;
if (((_tokenSet_10.member(LA(1))) && (_tokenSet_35.member(LA(2))))) {
int _m90 = mark();
synPredMatched90 = true;
inputState.guessing++;
try {
{
declarator(false);
}
}
catch (RecognitionException pe) {
synPredMatched90 = false;
}
rewind(_m90);
inputState.guessing--;
}
if ( synPredMatched90 ) {
declName=declarator(false);
d_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
if ( inputState.guessing==0 ) {
AST d2, ds2;
d2 = astFactory.dupList(d_AST);
ds2 = astFactory.dupList(ds_AST);
symbolTable.add(declName, (TNode)astFactory.make( (new ASTArray(3)).add(null).add(ds2).add(d2)));
}
}
else if ((_tokenSet_36.member(LA(1))) && (_tokenSet_37.member(LA(2)))) {
nonemptyAbstractDeclarator();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((LA(1)==COMMA||LA(1)==RPAREN)) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
if ( inputState.guessing==0 ) {
parameterDeclaration_AST = (TNode)currentAST.root;
parameterDeclaration_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NParameterDeclaration)).add(parameterDeclaration_AST));
currentAST.root = parameterDeclaration_AST;
currentAST.child = parameterDeclaration_AST!=null &&parameterDeclaration_AST.getFirstChild()!=null ?
parameterDeclaration_AST.getFirstChild() : parameterDeclaration_AST;
currentAST.advanceChildToEnd();
}
parameterDeclaration_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_38);
} else {
throw ex;
}
}
returnAST = parameterDeclaration_AST;
}
public final void nonemptyAbstractDeclarator() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode nonemptyAbstractDeclarator_AST = null;
try { // for error handling
{
switch ( LA(1)) {
case STAR:
{
pointerGroup();
astFactory.addASTChild(currentAST, returnAST);
{
_loop184:
do {
switch ( LA(1)) {
case LPAREN:
{
{
TNode tmp62_AST = null;
tmp62_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp62_AST);
match(LPAREN);
{
switch ( LA(1)) {
case STAR:
case LPAREN:
case LBRACKET:
{
nonemptyAbstractDeclarator();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LITERAL_typedef:
case LITERAL_volatile:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_enum:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_extern:
case LITERAL_static:
case LITERAL_const:
case LITERAL_void:
case LITERAL_char:
case LITERAL_short:
case LITERAL_int:
case LITERAL_long:
case LITERAL_float:
case LITERAL_double:
case LITERAL_signed:
case LITERAL_unsigned:
case ID:
{
parameterTypeList();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp63_AST = null;
tmp63_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp63_AST);
match(RPAREN);
}
break;
}
case LBRACKET:
{
{
TNode tmp64_AST = null;
tmp64_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp64_AST);
match(LBRACKET);
{
switch ( LA(1)) {
case ID:
case STAR:
case LPAREN:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case IntOctalConst:
case LongOctalConst:
case UnsignedOctalConst:
case IntIntConst:
case LongIntConst:
case UnsignedIntConst:
case IntHexConst:
case LongHexConst:
case UnsignedHexConst:
case FloatDoubleConst:
case DoubleDoubleConst:
case LongDoubleConst:
{
expr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RBRACKET:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp65_AST = null;
tmp65_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp65_AST);
match(RBRACKET);
}
break;
}
default:
{
break _loop184;
}
}
} while (true);
}
break;
}
case LPAREN:
case LBRACKET:
{
{
int _cnt190=0;
_loop190:
do {
switch ( LA(1)) {
case LPAREN:
{
{
TNode tmp66_AST = null;
tmp66_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp66_AST);
match(LPAREN);
{
switch ( LA(1)) {
case STAR:
case LPAREN:
case LBRACKET:
{
nonemptyAbstractDeclarator();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LITERAL_typedef:
case LITERAL_volatile:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_enum:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_extern:
case LITERAL_static:
case LITERAL_const:
case LITERAL_void:
case LITERAL_char:
case LITERAL_short:
case LITERAL_int:
case LITERAL_long:
case LITERAL_float:
case LITERAL_double:
case LITERAL_signed:
case LITERAL_unsigned:
case ID:
{
parameterTypeList();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp67_AST = null;
tmp67_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp67_AST);
match(RPAREN);
}
break;
}
case LBRACKET:
{
{
TNode tmp68_AST = null;
tmp68_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp68_AST);
match(LBRACKET);
{
switch ( LA(1)) {
case ID:
case STAR:
case LPAREN:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case IntOctalConst:
case LongOctalConst:
case UnsignedOctalConst:
case IntIntConst:
case LongIntConst:
case UnsignedIntConst:
case IntHexConst:
case LongHexConst:
case UnsignedHexConst:
case FloatDoubleConst:
case DoubleDoubleConst:
case LongDoubleConst:
{
expr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RBRACKET:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp69_AST = null;
tmp69_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp69_AST);
match(RBRACKET);
}
break;
}
default:
{
if ( _cnt190>=1 ) { break _loop190; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt190++;
} while (true);
}
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
nonemptyAbstractDeclarator_AST = (TNode)currentAST.root;
nonemptyAbstractDeclarator_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NNonemptyAbstractDeclarator)).add(nonemptyAbstractDeclarator_AST));
currentAST.root = nonemptyAbstractDeclarator_AST;
currentAST.child = nonemptyAbstractDeclarator_AST!=null &&nonemptyAbstractDeclarator_AST.getFirstChild()!=null ?
nonemptyAbstractDeclarator_AST.getFirstChild() : nonemptyAbstractDeclarator_AST;
currentAST.advanceChildToEnd();
}
nonemptyAbstractDeclarator_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_38);
} else {
throw ex;
}
}
returnAST = nonemptyAbstractDeclarator_AST;
}
public final void functionDeclSpecifiers() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode functionDeclSpecifiers_AST = null;
int specCount = 0;
try { // for error handling
{
int _cnt104=0;
_loop104:
do {
switch ( LA(1)) {
case LITERAL_extern:
case LITERAL_static:
{
functionStorageClassSpecifier();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LITERAL_volatile:
case LITERAL_const:
{
typeQualifier();
astFactory.addASTChild(currentAST, returnAST);
break;
}
default:
boolean synPredMatched103 = false;
if (((_tokenSet_13.member(LA(1))) && (_tokenSet_9.member(LA(2))))) {
int _m103 = mark();
synPredMatched103 = true;
inputState.guessing++;
try {
{
if ((LA(1)==LITERAL_struct) && (true)) {
match(LITERAL_struct);
}
else if ((LA(1)==LITERAL_union) && (true)) {
match(LITERAL_union);
}
else if ((LA(1)==LITERAL_enum) && (true)) {
match(LITERAL_enum);
}
else if ((_tokenSet_13.member(LA(1))) && (true)) {
typeSpecifier(specCount);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException pe) {
synPredMatched103 = false;
}
rewind(_m103);
inputState.guessing--;
}
if ( synPredMatched103 ) {
specCount=typeSpecifier(specCount);
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt104>=1 ) { break _loop104; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt104++;
} while (true);
}
functionDeclSpecifiers_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_10);
} else {
throw ex;
}
}
returnAST = functionDeclSpecifiers_AST;
}
public final void compoundStatement(
String scopeName
) throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode compoundStatement_AST = null;
try { // for error handling
match(LCURLY);
if ( inputState.guessing==0 ) {
pushScope(scopeName);
}
{
boolean synPredMatched115 = false;
if (((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2))))) {
int _m115 = mark();
synPredMatched115 = true;
inputState.guessing++;
try {
{
declarationPredictor();
}
}
catch (RecognitionException pe) {
synPredMatched115 = false;
}
rewind(_m115);
inputState.guessing--;
}
if ( synPredMatched115 ) {
declarationList();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_39.member(LA(1))) && (_tokenSet_40.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
{
switch ( LA(1)) {
case LCURLY:
case SEMI:
case ID:
case STAR:
case LPAREN:
case LITERAL_while:
case LITERAL_do:
case LITERAL_for:
case LITERAL_goto:
case LITERAL_continue:
case LITERAL_break:
case LITERAL_return:
case LITERAL_case:
case LITERAL_default:
case LITERAL_if:
case LITERAL_switch:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case IntOctalConst:
case LongOctalConst:
case UnsignedOctalConst:
case IntIntConst:
case LongIntConst:
case UnsignedIntConst:
case IntHexConst:
case LongHexConst:
case UnsignedHexConst:
case FloatDoubleConst:
case DoubleDoubleConst:
case LongDoubleConst:
{
statementList();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RCURLY:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
popScope();
}
match(RCURLY);
if ( inputState.guessing==0 ) {
compoundStatement_AST = (TNode)currentAST.root;
compoundStatement_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NCompoundStatement,scopeName)).add(compoundStatement_AST));
currentAST.root = compoundStatement_AST;
currentAST.child = compoundStatement_AST!=null &&compoundStatement_AST.getFirstChild()!=null ?
compoundStatement_AST.getFirstChild() : compoundStatement_AST;
currentAST.advanceChildToEnd();
}
compoundStatement_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_41);
} else {
throw ex;
}
}
returnAST = compoundStatement_AST;
}
public final void declarationList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode declarationList_AST = null;
try { // for error handling
{
int _cnt109=0;
_loop109:
do {
boolean synPredMatched108 = false;
if (((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2))))) {
int _m108 = mark();
synPredMatched108 = true;
inputState.guessing++;
try {
{
declarationPredictor();
}
}
catch (RecognitionException pe) {
synPredMatched108 = false;
}
rewind(_m108);
inputState.guessing--;
}
if ( synPredMatched108 ) {
declaration();
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt109>=1 ) { break _loop109; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt109++;
} while (true);
}
declarationList_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_39);
} else {
throw ex;
}
}
returnAST = declarationList_AST;
}
public final void declarationPredictor() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode declarationPredictor_AST = null;
try { // for error handling
{
if ((LA(1)==LITERAL_typedef) && (LA(2)==EOF)) {
TNode tmp72_AST = null;
tmp72_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp72_AST);
match(LITERAL_typedef);
}
else if ((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2)))) {
declaration();
astFactory.addASTChild(currentAST, returnAST);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
declarationPredictor_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_0);
} else {
throw ex;
}
}
returnAST = declarationPredictor_AST;
}
public final void statementList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode statementList_AST = null;
try { // for error handling
{
int _cnt119=0;
_loop119:
do {
if ((_tokenSet_42.member(LA(1)))) {
statement();
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt119>=1 ) { break _loop119; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt119++;
} while (true);
}
statementList_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_21);
} else {
throw ex;
}
}
returnAST = statementList_AST;
}
public final void statement() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode statement_AST = null;
TNode e1_AST = null;
TNode e2_AST = null;
TNode e3_AST = null;
TNode s_AST = null;
try { // for error handling
switch ( LA(1)) {
case SEMI:
{
TNode tmp73_AST = null;
tmp73_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp73_AST);
match(SEMI);
statement_AST = (TNode)currentAST.root;
break;
}
case LCURLY:
{
compoundStatement(getAScopeName());
astFactory.addASTChild(currentAST, returnAST);
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_while:
{
TNode tmp74_AST = null;
tmp74_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp74_AST);
match(LITERAL_while);
match(LPAREN);
expr();
astFactory.addASTChild(currentAST, returnAST);
match(RPAREN);
statement();
astFactory.addASTChild(currentAST, returnAST);
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_do:
{
TNode tmp77_AST = null;
tmp77_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp77_AST);
match(LITERAL_do);
statement();
astFactory.addASTChild(currentAST, returnAST);
match(LITERAL_while);
match(LPAREN);
expr();
astFactory.addASTChild(currentAST, returnAST);
match(RPAREN);
match(SEMI);
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_for:
{
match(LITERAL_for);
TNode tmp83_AST = null;
tmp83_AST = (TNode)astFactory.create(LT(1));
match(LPAREN);
{
switch ( LA(1)) {
case ID:
case STAR:
case LPAREN:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case IntOctalConst:
case LongOctalConst:
case UnsignedOctalConst:
case IntIntConst:
case LongIntConst:
case UnsignedIntConst:
case IntHexConst:
case LongHexConst:
case UnsignedHexConst:
case FloatDoubleConst:
case DoubleDoubleConst:
case LongDoubleConst:
{
expr();
e1_AST = (TNode)returnAST;
break;
}
case SEMI:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp84_AST = null;
tmp84_AST = (TNode)astFactory.create(LT(1));
match(SEMI);
{
switch ( LA(1)) {
case ID:
case STAR:
case LPAREN:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case IntOctalConst:
case LongOctalConst:
case UnsignedOctalConst:
case IntIntConst:
case LongIntConst:
case UnsignedIntConst:
case IntHexConst:
case LongHexConst:
case UnsignedHexConst:
case FloatDoubleConst:
case DoubleDoubleConst:
case LongDoubleConst:
{
expr();
e2_AST = (TNode)returnAST;
break;
}
case SEMI:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp85_AST = null;
tmp85_AST = (TNode)astFactory.create(LT(1));
match(SEMI);
{
switch ( LA(1)) {
case ID:
case STAR:
case LPAREN:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case IntOctalConst:
case LongOctalConst:
case UnsignedOctalConst:
case IntIntConst:
case LongIntConst:
case UnsignedIntConst:
case IntHexConst:
case LongHexConst:
case UnsignedHexConst:
case FloatDoubleConst:
case DoubleDoubleConst:
case LongDoubleConst:
{
expr();
e3_AST = (TNode)returnAST;
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp86_AST = null;
tmp86_AST = (TNode)astFactory.create(LT(1));
match(RPAREN);
statement();
s_AST = (TNode)returnAST;
if ( inputState.guessing==0 ) {
statement_AST = (TNode)currentAST.root;
if ( e1_AST == null) { e1_AST = (TNode)astFactory.create(NEmptyExpression); }
if ( e2_AST == null) { e2_AST = (TNode)astFactory.create(NEmptyExpression); }
if ( e3_AST == null) { e3_AST = (TNode)astFactory.create(NEmptyExpression); }
statement_AST = (TNode)astFactory.make( (new ASTArray(5)).add((TNode)astFactory.create(LITERAL_for,"for")).add(e1_AST).add(e2_AST).add(e3_AST).add(s_AST));
currentAST.root = statement_AST;
currentAST.child = statement_AST!=null &&statement_AST.getFirstChild()!=null ?
statement_AST.getFirstChild() : statement_AST;
currentAST.advanceChildToEnd();
}
break;
}
case LITERAL_goto:
{
TNode tmp87_AST = null;
tmp87_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp87_AST);
match(LITERAL_goto);
TNode tmp88_AST = null;
tmp88_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp88_AST);
match(ID);
match(SEMI);
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_continue:
{
TNode tmp90_AST = null;
tmp90_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp90_AST);
match(LITERAL_continue);
match(SEMI);
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_break:
{
TNode tmp92_AST = null;
tmp92_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp92_AST);
match(LITERAL_break);
match(SEMI);
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_return:
{
TNode tmp94_AST = null;
tmp94_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp94_AST);
match(LITERAL_return);
{
switch ( LA(1)) {
case ID:
case STAR:
case LPAREN:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case IntOctalConst:
case LongOctalConst:
case UnsignedOctalConst:
case IntIntConst:
case LongIntConst:
case UnsignedIntConst:
case IntHexConst:
case LongHexConst:
case UnsignedHexConst:
case FloatDoubleConst:
case DoubleDoubleConst:
case LongDoubleConst:
{
expr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case SEMI:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
match(SEMI);
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_case:
{
TNode tmp96_AST = null;
tmp96_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp96_AST);
match(LITERAL_case);
constExpr();
astFactory.addASTChild(currentAST, returnAST);
match(COLON);
statement();
astFactory.addASTChild(currentAST, returnAST);
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_default:
{
TNode tmp98_AST = null;
tmp98_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp98_AST);
match(LITERAL_default);
match(COLON);
statement();
astFactory.addASTChild(currentAST, returnAST);
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_if:
{
TNode tmp100_AST = null;
tmp100_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp100_AST);
match(LITERAL_if);
match(LPAREN);
expr();
astFactory.addASTChild(currentAST, returnAST);
match(RPAREN);
statement();
astFactory.addASTChild(currentAST, returnAST);
{
if ((LA(1)==LITERAL_else) && (_tokenSet_42.member(LA(2)))) {
TNode tmp103_AST = null;
tmp103_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp103_AST);
match(LITERAL_else);
statement();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_43.member(LA(1))) && (_tokenSet_40.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_switch:
{
TNode tmp104_AST = null;
tmp104_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp104_AST);
match(LITERAL_switch);
match(LPAREN);
expr();
astFactory.addASTChild(currentAST, returnAST);
match(RPAREN);
statement();
astFactory.addASTChild(currentAST, returnAST);
statement_AST = (TNode)currentAST.root;
break;
}
default:
if ((_tokenSet_11.member(LA(1))) && (_tokenSet_44.member(LA(2)))) {
expr();
astFactory.addASTChild(currentAST, returnAST);
match(SEMI);
if ( inputState.guessing==0 ) {
statement_AST = (TNode)currentAST.root;
statement_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NStatementExpr)).add(statement_AST));
currentAST.root = statement_AST;
currentAST.child = statement_AST!=null &&statement_AST.getFirstChild()!=null ?
statement_AST.getFirstChild() : statement_AST;
currentAST.advanceChildToEnd();
}
statement_AST = (TNode)currentAST.root;
}
else if ((LA(1)==ID) && (LA(2)==COLON)) {
TNode tmp108_AST = null;
tmp108_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp108_AST);
match(ID);
match(COLON);
{
if ((_tokenSet_42.member(LA(1))) && (_tokenSet_45.member(LA(2)))) {
statement();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_43.member(LA(1))) && (_tokenSet_40.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
if ( inputState.guessing==0 ) {
statement_AST = (TNode)currentAST.root;
statement_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NLabel)).add(statement_AST));
currentAST.root = statement_AST;
currentAST.child = statement_AST!=null &&statement_AST.getFirstChild()!=null ?
statement_AST.getFirstChild() : statement_AST;
currentAST.advanceChildToEnd();
}
statement_AST = (TNode)currentAST.root;
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_43);
} else {
throw ex;
}
}
returnAST = statement_AST;
}
public final void conditionalExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode conditionalExpr_AST = null;
try { // for error handling
logicalOrExpr();
astFactory.addASTChild(currentAST, returnAST);
{
switch ( LA(1)) {
case QUESTION:
{
TNode tmp110_AST = null;
tmp110_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp110_AST);
match(QUESTION);
expr();
astFactory.addASTChild(currentAST, returnAST);
match(COLON);
conditionalExpr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RCURLY:
case SEMI:
case COMMA:
case COLON:
case ASSIGN:
case RPAREN:
case RBRACKET:
case DIV_ASSIGN:
case PLUS_ASSIGN:
case MINUS_ASSIGN:
case STAR_ASSIGN:
case MOD_ASSIGN:
case RSHIFT_ASSIGN:
case LSHIFT_ASSIGN:
case BAND_ASSIGN:
case BOR_ASSIGN:
case BXOR_ASSIGN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
conditionalExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_46);
} else {
throw ex;
}
}
returnAST = conditionalExpr_AST;
}
public final void assignOperator() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode assignOperator_AST = null;
try { // for error handling
switch ( LA(1)) {
case ASSIGN:
{
TNode tmp112_AST = null;
tmp112_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp112_AST);
match(ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case DIV_ASSIGN:
{
TNode tmp113_AST = null;
tmp113_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp113_AST);
match(DIV_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case PLUS_ASSIGN:
{
TNode tmp114_AST = null;
tmp114_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp114_AST);
match(PLUS_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case MINUS_ASSIGN:
{
TNode tmp115_AST = null;
tmp115_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp115_AST);
match(MINUS_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case STAR_ASSIGN:
{
TNode tmp116_AST = null;
tmp116_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp116_AST);
match(STAR_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case MOD_ASSIGN:
{
TNode tmp117_AST = null;
tmp117_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp117_AST);
match(MOD_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case RSHIFT_ASSIGN:
{
TNode tmp118_AST = null;
tmp118_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp118_AST);
match(RSHIFT_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case LSHIFT_ASSIGN:
{
TNode tmp119_AST = null;
tmp119_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp119_AST);
match(LSHIFT_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case BAND_ASSIGN:
{
TNode tmp120_AST = null;
tmp120_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp120_AST);
match(BAND_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case BOR_ASSIGN:
{
TNode tmp121_AST = null;
tmp121_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp121_AST);
match(BOR_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case BXOR_ASSIGN:
{
TNode tmp122_AST = null;
tmp122_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp122_AST);
match(BXOR_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_11);
} else {
throw ex;
}
}
returnAST = assignOperator_AST;
}
public final void logicalOrExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode logicalOrExpr_AST = null;
try { // for error handling
logicalAndExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop138:
do {
if ((LA(1)==LOR)) {
TNode tmp123_AST = null;
tmp123_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp123_AST);
match(LOR);
logicalAndExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop138;
}
} while (true);
}
logicalOrExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_47);
} else {
throw ex;
}
}
returnAST = logicalOrExpr_AST;
}
public final void logicalAndExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode logicalAndExpr_AST = null;
try { // for error handling
inclusiveOrExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop141:
do {
if ((LA(1)==LAND)) {
TNode tmp124_AST = null;
tmp124_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp124_AST);
match(LAND);
inclusiveOrExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop141;
}
} while (true);
}
logicalAndExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_48);
} else {
throw ex;
}
}
returnAST = logicalAndExpr_AST;
}
public final void inclusiveOrExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode inclusiveOrExpr_AST = null;
try { // for error handling
exclusiveOrExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop144:
do {
if ((LA(1)==BOR)) {
TNode tmp125_AST = null;
tmp125_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp125_AST);
match(BOR);
exclusiveOrExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop144;
}
} while (true);
}
inclusiveOrExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_49);
} else {
throw ex;
}
}
returnAST = inclusiveOrExpr_AST;
}
public final void exclusiveOrExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode exclusiveOrExpr_AST = null;
try { // for error handling
bitAndExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop147:
do {
if ((LA(1)==BXOR)) {
TNode tmp126_AST = null;
tmp126_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp126_AST);
match(BXOR);
bitAndExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop147;
}
} while (true);
}
exclusiveOrExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_50);
} else {
throw ex;
}
}
returnAST = exclusiveOrExpr_AST;
}
public final void bitAndExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode bitAndExpr_AST = null;
try { // for error handling
equalityExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop150:
do {
if ((LA(1)==BAND)) {
TNode tmp127_AST = null;
tmp127_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp127_AST);
match(BAND);
equalityExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop150;
}
} while (true);
}
bitAndExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_51);
} else {
throw ex;
}
}
returnAST = bitAndExpr_AST;
}
public final void equalityExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode equalityExpr_AST = null;
try { // for error handling
relationalExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop154:
do {
if ((LA(1)==EQUAL||LA(1)==NOT_EQUAL)) {
{
switch ( LA(1)) {
case EQUAL:
{
TNode tmp128_AST = null;
tmp128_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp128_AST);
match(EQUAL);
break;
}
case NOT_EQUAL:
{
TNode tmp129_AST = null;
tmp129_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp129_AST);
match(NOT_EQUAL);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
relationalExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop154;
}
} while (true);
}
equalityExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_52);
} else {
throw ex;
}
}
returnAST = equalityExpr_AST;
}
public final void relationalExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode relationalExpr_AST = null;
try { // for error handling
shiftExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop158:
do {
if (((LA(1) >= LT && LA(1) <= GTE))) {
{
switch ( LA(1)) {
case LT:
{
TNode tmp130_AST = null;
tmp130_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp130_AST);
match(LT);
break;
}
case LTE:
{
TNode tmp131_AST = null;
tmp131_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp131_AST);
match(LTE);
break;
}
case GT:
{
TNode tmp132_AST = null;
tmp132_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp132_AST);
match(GT);
break;
}
case GTE:
{
TNode tmp133_AST = null;
tmp133_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp133_AST);
match(GTE);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
shiftExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop158;
}
} while (true);
}
relationalExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_53);
} else {
throw ex;
}
}
returnAST = relationalExpr_AST;
}
public final void shiftExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode shiftExpr_AST = null;
try { // for error handling
additiveExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop162:
do {
if ((LA(1)==LSHIFT||LA(1)==RSHIFT)) {
{
switch ( LA(1)) {
case LSHIFT:
{
TNode tmp134_AST = null;
tmp134_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp134_AST);
match(LSHIFT);
break;
}
case RSHIFT:
{
TNode tmp135_AST = null;
tmp135_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp135_AST);
match(RSHIFT);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
additiveExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop162;
}
} while (true);
}
shiftExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_54);
} else {
throw ex;
}
}
returnAST = shiftExpr_AST;
}
public final void additiveExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode additiveExpr_AST = null;
try { // for error handling
multExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop166:
do {
if ((LA(1)==PLUS||LA(1)==MINUS)) {
{
switch ( LA(1)) {
case PLUS:
{
TNode tmp136_AST = null;
tmp136_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp136_AST);
match(PLUS);
break;
}
case MINUS:
{
TNode tmp137_AST = null;
tmp137_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp137_AST);
match(MINUS);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
multExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop166;
}
} while (true);
}
additiveExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_55);
} else {
throw ex;
}
}
returnAST = additiveExpr_AST;
}
public final void multExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode multExpr_AST = null;
try { // for error handling
castExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop170:
do {
if ((_tokenSet_56.member(LA(1)))) {
{
switch ( LA(1)) {
case STAR:
{
TNode tmp138_AST = null;
tmp138_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp138_AST);
match(STAR);
break;
}
case DIV:
{
TNode tmp139_AST = null;
tmp139_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp139_AST);
match(DIV);
break;
}
case MOD:
{
TNode tmp140_AST = null;
tmp140_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp140_AST);
match(MOD);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
castExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop170;
}
} while (true);
}
multExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_57);
} else {
throw ex;
}
}
returnAST = multExpr_AST;
}
public final void castExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode castExpr_AST = null;
try { // for error handling
boolean synPredMatched173 = false;
if (((LA(1)==LPAREN) && (_tokenSet_20.member(LA(2))))) {
int _m173 = mark();
synPredMatched173 = true;
inputState.guessing++;
try {
{
match(LPAREN);
typeName();
match(RPAREN);
}
}
catch (RecognitionException pe) {
synPredMatched173 = false;
}
rewind(_m173);
inputState.guessing--;
}
if ( synPredMatched173 ) {
match(LPAREN);
typeName();
astFactory.addASTChild(currentAST, returnAST);
match(RPAREN);
{
castExpr();
astFactory.addASTChild(currentAST, returnAST);
}
if ( inputState.guessing==0 ) {
castExpr_AST = (TNode)currentAST.root;
castExpr_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NCast,"(")).add(castExpr_AST));
currentAST.root = castExpr_AST;
currentAST.child = castExpr_AST!=null &&castExpr_AST.getFirstChild()!=null ?
castExpr_AST.getFirstChild() : castExpr_AST;
currentAST.advanceChildToEnd();
}
castExpr_AST = (TNode)currentAST.root;
}
else if ((_tokenSet_11.member(LA(1))) && (_tokenSet_58.member(LA(2)))) {
unaryExpr();
astFactory.addASTChild(currentAST, returnAST);
castExpr_AST = (TNode)currentAST.root;
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_59);
} else {
throw ex;
}
}
returnAST = castExpr_AST;
}
public final void typeName() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode typeName_AST = null;
try { // for error handling
specifierQualifierList();
astFactory.addASTChild(currentAST, returnAST);
{
switch ( LA(1)) {
case STAR:
case LPAREN:
case LBRACKET:
{
nonemptyAbstractDeclarator();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
typeName_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_33);
} else {
throw ex;
}
}
returnAST = typeName_AST;
}
public final void unaryExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode unaryExpr_AST = null;
TNode u_AST = null;
try { // for error handling
switch ( LA(1)) {
case ID:
case LPAREN:
case CharLiteral:
case StringLiteral:
case IntOctalConst:
case LongOctalConst:
case UnsignedOctalConst:
case IntIntConst:
case LongIntConst:
case UnsignedIntConst:
case IntHexConst:
case LongHexConst:
case UnsignedHexConst:
case FloatDoubleConst:
case DoubleDoubleConst:
case LongDoubleConst:
{
postfixExpr();
astFactory.addASTChild(currentAST, returnAST);
unaryExpr_AST = (TNode)currentAST.root;
break;
}
case INC:
{
TNode tmp143_AST = null;
tmp143_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp143_AST);
match(INC);
unaryExpr();
astFactory.addASTChild(currentAST, returnAST);
unaryExpr_AST = (TNode)currentAST.root;
break;
}
case DEC:
{
TNode tmp144_AST = null;
tmp144_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp144_AST);
match(DEC);
unaryExpr();
astFactory.addASTChild(currentAST, returnAST);
unaryExpr_AST = (TNode)currentAST.root;
break;
}
case STAR:
case BAND:
case PLUS:
case MINUS:
case BNOT:
case LNOT:
{
unaryOperator();
u_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
castExpr();
astFactory.addASTChild(currentAST, returnAST);
if ( inputState.guessing==0 ) {
unaryExpr_AST = (TNode)currentAST.root;
unaryExpr_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NUnaryExpr)).add(unaryExpr_AST));
currentAST.root = unaryExpr_AST;
currentAST.child = unaryExpr_AST!=null &&unaryExpr_AST.getFirstChild()!=null ?
unaryExpr_AST.getFirstChild() : unaryExpr_AST;
currentAST.advanceChildToEnd();
}
unaryExpr_AST = (TNode)currentAST.root;
break;
}
case LITERAL_sizeof:
{
TNode tmp145_AST = null;
tmp145_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp145_AST);
match(LITERAL_sizeof);
{
boolean synPredMatched194 = false;
if (((LA(1)==LPAREN) && (_tokenSet_20.member(LA(2))))) {
int _m194 = mark();
synPredMatched194 = true;
inputState.guessing++;
try {
{
match(LPAREN);
typeName();
}
}
catch (RecognitionException pe) {
synPredMatched194 = false;
}
rewind(_m194);
inputState.guessing--;
}
if ( synPredMatched194 ) {
TNode tmp146_AST = null;
tmp146_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp146_AST);
match(LPAREN);
typeName();
astFactory.addASTChild(currentAST, returnAST);
TNode tmp147_AST = null;
tmp147_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp147_AST);
match(RPAREN);
}
else if ((_tokenSet_11.member(LA(1))) && (_tokenSet_58.member(LA(2)))) {
unaryExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
unaryExpr_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_59);
} else {
throw ex;
}
}
returnAST = unaryExpr_AST;
}
public final void postfixExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode postfixExpr_AST = null;
try { // for error handling
primaryExpr();
astFactory.addASTChild(currentAST, returnAST);
{
switch ( LA(1)) {
case LPAREN:
case LBRACKET:
case INC:
case DEC:
case PTR:
case DOT:
{
postfixSuffix();
astFactory.addASTChild(currentAST, returnAST);
if ( inputState.guessing==0 ) {
postfixExpr_AST = (TNode)currentAST.root;
postfixExpr_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NPostfixExpr)).add(postfixExpr_AST));
currentAST.root = postfixExpr_AST;
currentAST.child = postfixExpr_AST!=null &&postfixExpr_AST.getFirstChild()!=null ?
postfixExpr_AST.getFirstChild() : postfixExpr_AST;
currentAST.advanceChildToEnd();
}
break;
}
case RCURLY:
case SEMI:
case COMMA:
case COLON:
case ASSIGN:
case STAR:
case RPAREN:
case RBRACKET:
case DIV_ASSIGN:
case PLUS_ASSIGN:
case MINUS_ASSIGN:
case STAR_ASSIGN:
case MOD_ASSIGN:
case RSHIFT_ASSIGN:
case LSHIFT_ASSIGN:
case BAND_ASSIGN:
case BOR_ASSIGN:
case BXOR_ASSIGN:
case QUESTION:
case LOR:
case LAND:
case BOR:
case BXOR:
case BAND:
case EQUAL:
case NOT_EQUAL:
case LT:
case LTE:
case GT:
case GTE:
case LSHIFT:
case RSHIFT:
case PLUS:
case MINUS:
case DIV:
case MOD:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
postfixExpr_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_59);
} else {
throw ex;
}
}
returnAST = postfixExpr_AST;
}
public final void unaryOperator() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode unaryOperator_AST = null;
try { // for error handling
switch ( LA(1)) {
case BAND:
{
TNode tmp148_AST = null;
tmp148_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp148_AST);
match(BAND);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
case STAR:
{
TNode tmp149_AST = null;
tmp149_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp149_AST);
match(STAR);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
case PLUS:
{
TNode tmp150_AST = null;
tmp150_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp150_AST);
match(PLUS);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
case MINUS:
{
TNode tmp151_AST = null;
tmp151_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp151_AST);
match(MINUS);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
case BNOT:
{
TNode tmp152_AST = null;
tmp152_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp152_AST);
match(BNOT);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
case LNOT:
{
TNode tmp153_AST = null;
tmp153_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp153_AST);
match(LNOT);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_11);
} else {
throw ex;
}
}
returnAST = unaryOperator_AST;
}
public final void primaryExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode primaryExpr_AST = null;
try { // for error handling
switch ( LA(1)) {
case ID:
{
TNode tmp154_AST = null;
tmp154_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp154_AST);
match(ID);
primaryExpr_AST = (TNode)currentAST.root;
break;
}
case CharLiteral:
{
charConst();
astFactory.addASTChild(currentAST, returnAST);
primaryExpr_AST = (TNode)currentAST.root;
break;
}
case IntOctalConst:
case LongOctalConst:
case UnsignedOctalConst:
case IntIntConst:
case LongIntConst:
case UnsignedIntConst:
case IntHexConst:
case LongHexConst:
case UnsignedHexConst:
{
intConst();
astFactory.addASTChild(currentAST, returnAST);
primaryExpr_AST = (TNode)currentAST.root;
break;
}
case FloatDoubleConst:
case DoubleDoubleConst:
case LongDoubleConst:
{
floatConst();
astFactory.addASTChild(currentAST, returnAST);
primaryExpr_AST = (TNode)currentAST.root;
break;
}
case StringLiteral:
{
stringConst();
astFactory.addASTChild(currentAST, returnAST);
primaryExpr_AST = (TNode)currentAST.root;
break;
}
case LPAREN:
{
match(LPAREN);
expr();
astFactory.addASTChild(currentAST, returnAST);
match(RPAREN);
if ( inputState.guessing==0 ) {
primaryExpr_AST = (TNode)currentAST.root;
primaryExpr_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NExpressionGroup,"(")).add(primaryExpr_AST));
currentAST.root = primaryExpr_AST;
currentAST.child = primaryExpr_AST!=null &&primaryExpr_AST.getFirstChild()!=null ?
primaryExpr_AST.getFirstChild() : primaryExpr_AST;
currentAST.advanceChildToEnd();
}
primaryExpr_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_60);
} else {
throw ex;
}
}
returnAST = primaryExpr_AST;
}
public final void postfixSuffix() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode postfixSuffix_AST = null;
try { // for error handling
{
int _cnt200=0;
_loop200:
do {
switch ( LA(1)) {
case PTR:
{
TNode tmp157_AST = null;
tmp157_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp157_AST);
match(PTR);
TNode tmp158_AST = null;
tmp158_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp158_AST);
match(ID);
break;
}
case DOT:
{
TNode tmp159_AST = null;
tmp159_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp159_AST);
match(DOT);
TNode tmp160_AST = null;
tmp160_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp160_AST);
match(ID);
break;
}
case LPAREN:
{
functionCall();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LBRACKET:
{
TNode tmp161_AST = null;
tmp161_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp161_AST);
match(LBRACKET);
expr();
astFactory.addASTChild(currentAST, returnAST);
TNode tmp162_AST = null;
tmp162_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp162_AST);
match(RBRACKET);
break;
}
case INC:
{
TNode tmp163_AST = null;
tmp163_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp163_AST);
match(INC);
break;
}
case DEC:
{
TNode tmp164_AST = null;
tmp164_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp164_AST);
match(DEC);
break;
}
default:
{
if ( _cnt200>=1 ) { break _loop200; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt200++;
} while (true);
}
postfixSuffix_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_59);
} else {
throw ex;
}
}
returnAST = postfixSuffix_AST;
}
public final void functionCall() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode functionCall_AST = null;
TNode a_AST = null;
try { // for error handling
TNode tmp165_AST = null;
tmp165_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp165_AST);
match(LPAREN);
{
switch ( LA(1)) {
case ID:
case STAR:
case LPAREN:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case IntOctalConst:
case LongOctalConst:
case UnsignedOctalConst:
case IntIntConst:
case LongIntConst:
case UnsignedIntConst:
case IntHexConst:
case LongHexConst:
case UnsignedHexConst:
case FloatDoubleConst:
case DoubleDoubleConst:
case LongDoubleConst:
{
argExprList();
a_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp166_AST = null;
tmp166_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp166_AST);
match(RPAREN);
if ( inputState.guessing==0 ) {
functionCall_AST = (TNode)currentAST.root;
functionCall_AST.setType( NFunctionCallArgs );
}
functionCall_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_60);
} else {
throw ex;
}
}
returnAST = functionCall_AST;
}
public final void argExprList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode argExprList_AST = null;
try { // for error handling
assignExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop206:
do {
if ((LA(1)==COMMA)) {
match(COMMA);
assignExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop206;
}
} while (true);
}
argExprList_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_33);
} else {
throw ex;
}
}
returnAST = argExprList_AST;
}
protected final void charConst() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode charConst_AST = null;
try { // for error handling
TNode tmp168_AST = null;
tmp168_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp168_AST);
match(CharLiteral);
charConst_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_60);
} else {
throw ex;
}
}
returnAST = charConst_AST;
}
protected final void intConst() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode intConst_AST = null;
try { // for error handling
switch ( LA(1)) {
case IntOctalConst:
{
TNode tmp169_AST = null;
tmp169_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp169_AST);
match(IntOctalConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case LongOctalConst:
{
TNode tmp170_AST = null;
tmp170_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp170_AST);
match(LongOctalConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case UnsignedOctalConst:
{
TNode tmp171_AST = null;
tmp171_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp171_AST);
match(UnsignedOctalConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case IntIntConst:
{
TNode tmp172_AST = null;
tmp172_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp172_AST);
match(IntIntConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case LongIntConst:
{
TNode tmp173_AST = null;
tmp173_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp173_AST);
match(LongIntConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case UnsignedIntConst:
{
TNode tmp174_AST = null;
tmp174_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp174_AST);
match(UnsignedIntConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case IntHexConst:
{
TNode tmp175_AST = null;
tmp175_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp175_AST);
match(IntHexConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case LongHexConst:
{
TNode tmp176_AST = null;
tmp176_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp176_AST);
match(LongHexConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case UnsignedHexConst:
{
TNode tmp177_AST = null;
tmp177_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp177_AST);
match(UnsignedHexConst);
intConst_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_60);
} else {
throw ex;
}
}
returnAST = intConst_AST;
}
protected final void floatConst() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode floatConst_AST = null;
try { // for error handling
switch ( LA(1)) {
case FloatDoubleConst:
{
TNode tmp178_AST = null;
tmp178_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp178_AST);
match(FloatDoubleConst);
floatConst_AST = (TNode)currentAST.root;
break;
}
case DoubleDoubleConst:
{
TNode tmp179_AST = null;
tmp179_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp179_AST);
match(DoubleDoubleConst);
floatConst_AST = (TNode)currentAST.root;
break;
}
case LongDoubleConst:
{
TNode tmp180_AST = null;
tmp180_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp180_AST);
match(LongDoubleConst);
floatConst_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_60);
} else {
throw ex;
}
}
returnAST = floatConst_AST;
}
protected final void stringConst() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode stringConst_AST = null;
try { // for error handling
{
int _cnt210=0;
_loop210:
do {
if ((LA(1)==StringLiteral)) {
TNode tmp181_AST = null;
tmp181_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp181_AST);
match(StringLiteral);
}
else {
if ( _cnt210>=1 ) { break _loop210; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt210++;
} while (true);
}
if ( inputState.guessing==0 ) {
stringConst_AST = (TNode)currentAST.root;
stringConst_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NStringSeq)).add(stringConst_AST));
currentAST.root = stringConst_AST;
currentAST.child = stringConst_AST!=null &&stringConst_AST.getFirstChild()!=null ?
stringConst_AST.getFirstChild() : stringConst_AST;
currentAST.advanceChildToEnd();
}
stringConst_AST = (TNode)currentAST.root;
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_60);
} else {
throw ex;
}
}
returnAST = stringConst_AST;
}
public final void dummy() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode dummy_AST = null;
try { // for error handling
switch ( LA(1)) {
case NTypedefName:
{
TNode tmp182_AST = null;
tmp182_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp182_AST);
match(NTypedefName);
dummy_AST = (TNode)currentAST.root;
break;
}
case NInitDecl:
{
TNode tmp183_AST = null;
tmp183_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp183_AST);
match(NInitDecl);
dummy_AST = (TNode)currentAST.root;
break;
}
case NDeclarator:
{
TNode tmp184_AST = null;
tmp184_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp184_AST);
match(NDeclarator);
dummy_AST = (TNode)currentAST.root;
break;
}
case NStructDeclarator:
{
TNode tmp185_AST = null;
tmp185_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp185_AST);
match(NStructDeclarator);
dummy_AST = (TNode)currentAST.root;
break;
}
case NDeclaration:
{
TNode tmp186_AST = null;
tmp186_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp186_AST);
match(NDeclaration);
dummy_AST = (TNode)currentAST.root;
break;
}
case NCast:
{
TNode tmp187_AST = null;
tmp187_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp187_AST);
match(NCast);
dummy_AST = (TNode)currentAST.root;
break;
}
case NPointerGroup:
{
TNode tmp188_AST = null;
tmp188_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp188_AST);
match(NPointerGroup);
dummy_AST = (TNode)currentAST.root;
break;
}
case NExpressionGroup:
{
TNode tmp189_AST = null;
tmp189_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp189_AST);
match(NExpressionGroup);
dummy_AST = (TNode)currentAST.root;
break;
}
case NFunctionCallArgs:
{
TNode tmp190_AST = null;
tmp190_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp190_AST);
match(NFunctionCallArgs);
dummy_AST = (TNode)currentAST.root;
break;
}
case NNonemptyAbstractDeclarator:
{
TNode tmp191_AST = null;
tmp191_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp191_AST);
match(NNonemptyAbstractDeclarator);
dummy_AST = (TNode)currentAST.root;
break;
}
case NInitializer:
{
TNode tmp192_AST = null;
tmp192_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp192_AST);
match(NInitializer);
dummy_AST = (TNode)currentAST.root;
break;
}
case NStatementExpr:
{
TNode tmp193_AST = null;
tmp193_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp193_AST);
match(NStatementExpr);
dummy_AST = (TNode)currentAST.root;
break;
}
case NEmptyExpression:
{
TNode tmp194_AST = null;
tmp194_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp194_AST);
match(NEmptyExpression);
dummy_AST = (TNode)currentAST.root;
break;
}
case NParameterTypeList:
{
TNode tmp195_AST = null;
tmp195_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp195_AST);
match(NParameterTypeList);
dummy_AST = (TNode)currentAST.root;
break;
}
case NFunctionDef:
{
TNode tmp196_AST = null;
tmp196_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp196_AST);
match(NFunctionDef);
dummy_AST = (TNode)currentAST.root;
break;
}
case NCompoundStatement:
{
TNode tmp197_AST = null;
tmp197_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp197_AST);
match(NCompoundStatement);
dummy_AST = (TNode)currentAST.root;
break;
}
case NParameterDeclaration:
{
TNode tmp198_AST = null;
tmp198_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp198_AST);
match(NParameterDeclaration);
dummy_AST = (TNode)currentAST.root;
break;
}
case NCommaExpr:
{
TNode tmp199_AST = null;
tmp199_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp199_AST);
match(NCommaExpr);
dummy_AST = (TNode)currentAST.root;
break;
}
case NUnaryExpr:
{
TNode tmp200_AST = null;
tmp200_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp200_AST);
match(NUnaryExpr);
dummy_AST = (TNode)currentAST.root;
break;
}
case NLabel:
{
TNode tmp201_AST = null;
tmp201_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp201_AST);
match(NLabel);
dummy_AST = (TNode)currentAST.root;
break;
}
case NPostfixExpr:
{
TNode tmp202_AST = null;
tmp202_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp202_AST);
match(NPostfixExpr);
dummy_AST = (TNode)currentAST.root;
break;
}
case NRangeExpr:
{
TNode tmp203_AST = null;
tmp203_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp203_AST);
match(NRangeExpr);
dummy_AST = (TNode)currentAST.root;
break;
}
case NStringSeq:
{
TNode tmp204_AST = null;
tmp204_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp204_AST);
match(NStringSeq);
dummy_AST = (TNode)currentAST.root;
break;
}
case NInitializerElementLabel:
{
TNode tmp205_AST = null;
tmp205_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp205_AST);
match(NInitializerElementLabel);
dummy_AST = (TNode)currentAST.root;
break;
}
case NLcurlyInitializer:
{
TNode tmp206_AST = null;
tmp206_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp206_AST);
match(NLcurlyInitializer);
dummy_AST = (TNode)currentAST.root;
break;
}
case NAsmAttribute:
{
TNode tmp207_AST = null;
tmp207_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp207_AST);
match(NAsmAttribute);
dummy_AST = (TNode)currentAST.root;
break;
}
case NGnuAsmExpr:
{
TNode tmp208_AST = null;
tmp208_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp208_AST);
match(NGnuAsmExpr);
dummy_AST = (TNode)currentAST.root;
break;
}
case NTypeMissing:
{
TNode tmp209_AST = null;
tmp209_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp209_AST);
match(NTypeMissing);
dummy_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex) {
if (inputState.guessing==0) {
reportError(ex);
consume();
consumeUntil(_tokenSet_0);
} else {
throw ex;
}
}
returnAST = dummy_AST;
}
public static final String[] _tokenNames = {
"<0>",
"EOF",
"<2>",
"NULL_TREE_LOOKAHEAD",
"\"typedef\"",
"\"asm\"",
"\"volatile\"",
"LCURLY",
"RCURLY",
"SEMI",
"\"struct\"",
"\"union\"",
"\"enum\"",
"\"auto\"",
"\"register\"",
"\"extern\"",
"\"static\"",
"\"const\"",
"\"void\"",
"\"char\"",
"\"short\"",
"\"int\"",
"\"long\"",
"\"float\"",
"\"double\"",
"\"signed\"",
"\"unsigned\"",
"ID",
"COMMA",
"COLON",
"ASSIGN",
"STAR",
"LPAREN",
"RPAREN",
"LBRACKET",
"RBRACKET",
"VARARGS",
"\"while\"",
"\"do\"",
"\"for\"",
"\"goto\"",
"\"continue\"",
"\"break\"",
"\"return\"",
"\"case\"",
"\"default\"",
"\"if\"",
"\"else\"",
"\"switch\"",
"DIV_ASSIGN",
"PLUS_ASSIGN",
"MINUS_ASSIGN",
"STAR_ASSIGN",
"MOD_ASSIGN",
"RSHIFT_ASSIGN",
"LSHIFT_ASSIGN",
"BAND_ASSIGN",
"BOR_ASSIGN",
"BXOR_ASSIGN",
"QUESTION",
"LOR",
"LAND",
"BOR",
"BXOR",
"BAND",
"EQUAL",
"NOT_EQUAL",
"LT",
"LTE",
"GT",
"GTE",
"LSHIFT",
"RSHIFT",
"PLUS",
"MINUS",
"DIV",
"MOD",
"INC",
"DEC",
"\"sizeof\"",
"BNOT",
"LNOT",
"PTR",
"DOT",
"CharLiteral",
"StringLiteral",
"IntOctalConst",
"LongOctalConst",
"UnsignedOctalConst",
"IntIntConst",
"LongIntConst",
"UnsignedIntConst",
"IntHexConst",
"LongHexConst",
"UnsignedHexConst",
"FloatDoubleConst",
"DoubleDoubleConst",
"LongDoubleConst",
"NTypedefName",
"NInitDecl",
"NDeclarator",
"NStructDeclarator",
"NDeclaration",
"NCast",
"NPointerGroup",
"NExpressionGroup",
"NFunctionCallArgs",
"NNonemptyAbstractDeclarator",
"NInitializer",
"NStatementExpr",
"NEmptyExpression",
"NParameterTypeList",
"NFunctionDef",
"NCompoundStatement",
"NParameterDeclaration",
"NCommaExpr",
"NUnaryExpr",
"NLabel",
"NPostfixExpr",
"NRangeExpr",
"NStringSeq",
"NInitializerElementLabel",
"NLcurlyInitializer",
"NAsmAttribute",
"NGnuAsmExpr",
"NTypeMissing",
"Vocabulary",
"Whitespace",
"Comment",
"CPPComment",
"a line directive",
"Space",
"LineDirective",
"BadStringLiteral",
"Escape",
"Digit",
"LongSuffix",
"UnsignedSuffix",
"FloatSuffix",
"Exponent",
"Number"
};
protected void buildTokenTypeASTClassMap() {
tokenTypeToASTClassMap=null;
};
private static final long[] mk_tokenSet_0() {
long[] data = { 2L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
private static final long[] mk_tokenSet_1() {
long[] data = { 6710885488L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
private static final long[] mk_tokenSet_2() {
long[] data = { 268434512L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
private static final long[] mk_tokenSet_3() {
long[] data = { 6710886096L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3());
private static final long[] mk_tokenSet_4() {
long[] data = { 6710860864L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4());
private static final long[] mk_tokenSet_5() {
long[] data = { 92610232016L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_5 = new BitSet(mk_tokenSet_5());
private static final long[] mk_tokenSet_6() {
long[] data = { 6710885490L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_6 = new BitSet(mk_tokenSet_6());
private static final long[] mk_tokenSet_7() {
long[] data = { 422150456475634L, 17179076097L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_7 = new BitSet(mk_tokenSet_7());
private static final long[] mk_tokenSet_8() {
long[] data = { 268409920L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_8 = new BitSet(mk_tokenSet_8());
private static final long[] mk_tokenSet_9() {
long[] data = { 6710860992L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_9 = new BitSet(mk_tokenSet_9());
private static final long[] mk_tokenSet_10() {
long[] data = { 6576668672L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_10 = new BitSet(mk_tokenSet_10());
private static final long[] mk_tokenSet_11() {
long[] data = { 6576668672L, 17179076097L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_11 = new BitSet(mk_tokenSet_11());
private static final long[] mk_tokenSet_12() {
long[] data = { 43754980096L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_12 = new BitSet(mk_tokenSet_12());
private static final long[] mk_tokenSet_13() {
long[] data = { 268180480L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_13 = new BitSet(mk_tokenSet_13());
private static final long[] mk_tokenSet_14() {
long[] data = { 32749125328L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_14 = new BitSet(mk_tokenSet_14());
private static final long[] mk_tokenSet_15() {
long[] data = { 32614908416L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_15 = new BitSet(mk_tokenSet_15());
private static final long[] mk_tokenSet_16() {
long[] data = { 512L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_16 = new BitSet(mk_tokenSet_16());
private static final long[] mk_tokenSet_17() {
long[] data = { 32749125200L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_17 = new BitSet(mk_tokenSet_17());
private static final long[] mk_tokenSet_18() {
long[] data = { 33285996112L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_18 = new BitSet(mk_tokenSet_18());
private static final long[] mk_tokenSet_19() {
long[] data = { 134217856L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_19 = new BitSet(mk_tokenSet_19());
private static final long[] mk_tokenSet_20() {
long[] data = { 268311616L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_20 = new BitSet(mk_tokenSet_20());
private static final long[] mk_tokenSet_21() {
long[] data = { 256L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_21 = new BitSet(mk_tokenSet_21());
private static final long[] mk_tokenSet_22() {
long[] data = { 268311872L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_22 = new BitSet(mk_tokenSet_22());
private static final long[] mk_tokenSet_23() {
long[] data = { 33017437376L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_23 = new BitSet(mk_tokenSet_23());
private static final long[] mk_tokenSet_24() {
long[] data = { 32883343360L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_24 = new BitSet(mk_tokenSet_24());
private static final long[] mk_tokenSet_25() {
long[] data = { 268435968L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_25 = new BitSet(mk_tokenSet_25());
private static final long[] mk_tokenSet_26() {
long[] data = { 35165045504L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_26 = new BitSet(mk_tokenSet_26());
private static final long[] mk_tokenSet_27() {
long[] data = { 32749124816L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_27 = new BitSet(mk_tokenSet_27());
private static final long[] mk_tokenSet_28() {
long[] data = { 100931731152L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_28 = new BitSet(mk_tokenSet_28());
private static final long[] mk_tokenSet_29() {
long[] data = { 79456894672L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_29 = new BitSet(mk_tokenSet_29());
private static final long[] mk_tokenSet_30() {
long[] data = { 268435712L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_30 = new BitSet(mk_tokenSet_30());
private static final long[] mk_tokenSet_31() {
long[] data = { 268436224L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_31 = new BitSet(mk_tokenSet_31());
private static final long[] mk_tokenSet_32() {
long[] data = { 30467424256L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_32 = new BitSet(mk_tokenSet_32());
private static final long[] mk_tokenSet_33() {
long[] data = { 8589934592L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_33 = new BitSet(mk_tokenSet_33());
private static final long[] mk_tokenSet_34() {
long[] data = { 6576668800L, 17179076097L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_34 = new BitSet(mk_tokenSet_34());
private static final long[] mk_tokenSet_35() {
long[] data = { 32615039040L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_35 = new BitSet(mk_tokenSet_35());
private static final long[] mk_tokenSet_36() {
long[] data = { 23622320128L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_36 = new BitSet(mk_tokenSet_36());
private static final long[] mk_tokenSet_37() {
long[] data = { 67108863056L, 17179076097L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_37 = new BitSet(mk_tokenSet_37());
private static final long[] mk_tokenSet_38() {
long[] data = { 8858370048L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_38 = new BitSet(mk_tokenSet_38());
private static final long[] mk_tokenSet_39() {
long[] data = { 422081602782080L, 17179076097L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_39 = new BitSet(mk_tokenSet_39());
private static final long[] mk_tokenSet_40() {
long[] data = { -111669149710L, 17179869183L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_40 = new BitSet(mk_tokenSet_40());
private static final long[] mk_tokenSet_41() {
long[] data = { 562819225354226L, 17179076097L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_41 = new BitSet(mk_tokenSet_41());
private static final long[] mk_tokenSet_42() {
long[] data = { 422081602781824L, 17179076097L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_42 = new BitSet(mk_tokenSet_42());
private static final long[] mk_tokenSet_43() {
long[] data = { 562819091137408L, 17179076097L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_43 = new BitSet(mk_tokenSet_43());
private static final long[] mk_tokenSet_44() {
long[] data = { -562924720611776L, 17179869183L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_44 = new BitSet(mk_tokenSet_44());
private static final long[] mk_tokenSet_45() {
long[] data = { -111669149744L, 17179869183L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_45 = new BitSet(mk_tokenSet_45());
private static final long[] mk_tokenSet_46() {
long[] data = { 575897847178724096L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_46 = new BitSet(mk_tokenSet_46());
private static final long[] mk_tokenSet_47() {
long[] data = { 1152358599482147584L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_47 = new BitSet(mk_tokenSet_47());
private static final long[] mk_tokenSet_48() {
long[] data = { 2305280104088994560L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_48 = new BitSet(mk_tokenSet_48());
private static final long[] mk_tokenSet_49() {
long[] data = { 4611123113302688512L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_49 = new BitSet(mk_tokenSet_49());
private static final long[] mk_tokenSet_50() {
long[] data = { 9222809131730076416L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_50 = new BitSet(mk_tokenSet_50());
private static final long[] mk_tokenSet_51() {
long[] data = { -562905124699392L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_51 = new BitSet(mk_tokenSet_51());
private static final long[] mk_tokenSet_52() {
long[] data = { -562905124699392L, 1L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_52 = new BitSet(mk_tokenSet_52());
private static final long[] mk_tokenSet_53() {
long[] data = { -562905124699392L, 7L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_53 = new BitSet(mk_tokenSet_53());
private static final long[] mk_tokenSet_54() {
long[] data = { -562905124699392L, 127L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_54 = new BitSet(mk_tokenSet_54());
private static final long[] mk_tokenSet_55() {
long[] data = { -562905124699392L, 511L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_55 = new BitSet(mk_tokenSet_55());
private static final long[] mk_tokenSet_56() {
long[] data = { 2147483648L, 6144L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_56 = new BitSet(mk_tokenSet_56());
private static final long[] mk_tokenSet_57() {
long[] data = { -562905124699392L, 2047L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_57 = new BitSet(mk_tokenSet_57());
private static final long[] mk_tokenSet_58() {
long[] data = { -562881368161536L, 17179869183L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_58 = new BitSet(mk_tokenSet_58());
private static final long[] mk_tokenSet_59() {
long[] data = { -562902977215744L, 8191L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_59 = new BitSet(mk_tokenSet_59());
private static final long[] mk_tokenSet_60() {
long[] data = { -562881502379264L, 819199L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_60 = new BitSet(mk_tokenSet_60());
}