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

6719 lines
159 KiB
Java

// $ANTLR 2.7.2: "expandedWParser.g" -> "WParser.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 WParser extends antlr.LLkParser implements WTokenTypes
{
// 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 WParser(TokenBuffer tokenBuf, int k) {
super(tokenBuf,k);
tokenNames = _tokenNames;
buildTokenTypeASTClassMap();
astFactory = new ASTFactory(getTokenTypeToASTClassMap());
}
public WParser(TokenBuffer tokenBuf) {
this(tokenBuf,2);
}
protected WParser(TokenStream lexer, int k) {
super(lexer,k);
tokenNames = _tokenNames;
buildTokenTypeASTClassMap();
astFactory = new ASTFactory(getTokenTypeToASTClassMap());
}
public WParser(TokenStream lexer) {
this(lexer,2);
}
public WParser(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;
{
switch ( LA(1)) {
case LITERAL_typedef:
case LITERAL_asm:
case LITERAL_volatile:
case SEMI:
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:
case LITERAL_inline:
case LITERAL_byte:
case LITERAL_boolean:
case LITERAL_Servo:
case LITERAL_Wire:
case LITERAL_typeof:
case LITERAL___complex:
{
externalList();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case EOF:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
translationUnit_AST = (TNode)currentAST.root;
returnAST = translationUnit_AST;
}
public final void externalList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode externalList_AST = null;
{
int _cnt209=0;
_loop209:
do {
if ((_tokenSet_0.member(LA(1)))) {
externalDef();
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt209>=1 ) { break _loop209; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt209++;
} while (true);
}
externalList_AST = (TNode)currentAST.root;
returnAST = externalList_AST;
}
public final void asm_expr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode asm_expr_AST = null;
TNode tmp1_AST = null;
tmp1_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp1_AST);
match(LITERAL_asm);
{
switch ( LA(1)) {
case LITERAL_volatile:
{
TNode tmp2_AST = null;
tmp2_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp2_AST);
match(LITERAL_volatile);
break;
}
case LCURLY:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp3_AST = null;
tmp3_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp3_AST);
match(LCURLY);
expr();
astFactory.addASTChild(currentAST, returnAST);
TNode tmp4_AST = null;
tmp4_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp4_AST);
match(RCURLY);
{
int _cnt6=0;
_loop6:
do {
if ((LA(1)==SEMI) && (_tokenSet_1.member(LA(2)))) {
TNode tmp5_AST = null;
tmp5_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp5_AST);
match(SEMI);
}
else {
if ( _cnt6>=1 ) { break _loop6; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt6++;
} while (true);
}
asm_expr_AST = (TNode)currentAST.root;
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;
assignExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop259:
do {
if ((LA(1)==COMMA) && (_tokenSet_2.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 _loop259;
}
} while (true);
}
expr_AST = (TNode)currentAST.root;
returnAST = expr_AST;
}
public final void idList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode idList_AST = null;
TNode tmp6_AST = null;
tmp6_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp6_AST);
match(ID);
{
_loop9:
do {
if ((LA(1)==COMMA) && (LA(2)==ID)) {
TNode tmp7_AST = null;
tmp7_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp7_AST);
match(COMMA);
TNode tmp8_AST = null;
tmp8_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp8_AST);
match(ID);
}
else {
break _loop9;
}
} while (true);
}
idList_AST = (TNode)currentAST.root;
returnAST = idList_AST;
}
public final void externalDef() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode externalDef_AST = null;
switch ( LA(1)) {
case LITERAL_asm:
{
asm_expr();
astFactory.addASTChild(currentAST, returnAST);
externalDef_AST = (TNode)currentAST.root;
break;
}
case SEMI:
{
TNode tmp9_AST = null;
tmp9_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp9_AST);
match(SEMI);
externalDef_AST = (TNode)currentAST.root;
break;
}
default:
boolean synPredMatched12 = false;
if (((_tokenSet_3.member(LA(1))) && (_tokenSet_4.member(LA(2))))) {
int _m12 = mark();
synPredMatched12 = true;
inputState.guessing++;
try {
{
if ((LA(1)==LITERAL_typedef) && (true)) {
match(LITERAL_typedef);
}
else if ((_tokenSet_3.member(LA(1))) && (_tokenSet_4.member(LA(2)))) {
declaration();
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException pe) {
synPredMatched12 = false;
}
rewind(_m12);
inputState.guessing--;
}
if ( synPredMatched12 ) {
declaration();
astFactory.addASTChild(currentAST, returnAST);
externalDef_AST = (TNode)currentAST.root;
}
else {
boolean synPredMatched14 = false;
if (((_tokenSet_5.member(LA(1))) && (_tokenSet_6.member(LA(2))))) {
int _m14 = mark();
synPredMatched14 = true;
inputState.guessing++;
try {
{
functionPrefix();
}
}
catch (RecognitionException pe) {
synPredMatched14 = false;
}
rewind(_m14);
inputState.guessing--;
}
if ( synPredMatched14 ) {
functionDef();
astFactory.addASTChild(currentAST, returnAST);
externalDef_AST = (TNode)currentAST.root;
}
else if ((_tokenSet_7.member(LA(1))) && (_tokenSet_8.member(LA(2)))) {
typelessDeclaration();
astFactory.addASTChild(currentAST, returnAST);
externalDef_AST = (TNode)currentAST.root;
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}}
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;
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());
}
}
}
{
int _cnt78=0;
_loop78:
do {
if ((LA(1)==SEMI) && (_tokenSet_9.member(LA(2)))) {
TNode tmp10_AST = null;
tmp10_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp10_AST);
match(SEMI);
}
else {
if ( _cnt78>=1 ) { break _loop78; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt78++;
} while (true);
}
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;
returnAST = declaration_AST;
}
public final void functionPrefix() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode functionPrefix_AST = null;
TNode ds_AST = null;
TNode d_AST = null;
String declName;
{
boolean synPredMatched18 = false;
if (((_tokenSet_10.member(LA(1))) && (_tokenSet_11.member(LA(2))))) {
int _m18 = mark();
synPredMatched18 = true;
inputState.guessing++;
try {
{
functionDeclSpecifiers();
}
}
catch (RecognitionException pe) {
synPredMatched18 = false;
}
rewind(_m18);
inputState.guessing--;
}
if ( synPredMatched18 ) {
functionDeclSpecifiers();
ds_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_7.member(LA(1))) && (_tokenSet_6.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
declName=declarator(true);
d_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
{
_loop20:
do {
if ((_tokenSet_3.member(LA(1)))) {
declaration();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop20;
}
} while (true);
}
{
switch ( LA(1)) {
case VARARGS:
{
TNode tmp11_AST = null;
tmp11_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp11_AST);
match(VARARGS);
break;
}
case LCURLY:
case SEMI:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
_loop23:
do {
if ((LA(1)==SEMI)) {
TNode tmp12_AST = null;
tmp12_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp12_AST);
match(SEMI);
}
else {
break _loop23;
}
} while (true);
}
TNode tmp13_AST = null;
tmp13_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp13_AST);
match(LCURLY);
functionPrefix_AST = (TNode)currentAST.root;
returnAST = functionPrefix_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;
{
boolean synPredMatched241 = false;
if (((_tokenSet_10.member(LA(1))) && (_tokenSet_11.member(LA(2))))) {
int _m241 = mark();
synPredMatched241 = true;
inputState.guessing++;
try {
{
functionDeclSpecifiers();
}
}
catch (RecognitionException pe) {
synPredMatched241 = false;
}
rewind(_m241);
inputState.guessing--;
}
if ( synPredMatched241 ) {
functionDeclSpecifiers();
ds_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_7.member(LA(1))) && (_tokenSet_6.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);
}
{
_loop243:
do {
if ((_tokenSet_3.member(LA(1)))) {
declaration();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop243;
}
} while (true);
}
{
switch ( LA(1)) {
case VARARGS:
{
TNode tmp14_AST = null;
tmp14_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp14_AST);
match(VARARGS);
break;
}
case LCURLY:
case SEMI:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
_loop246:
do {
if ((LA(1)==SEMI)) {
match(SEMI);
}
else {
break _loop246;
}
} 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;
returnAST = functionDef_AST;
}
public final void typelessDeclaration() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode typelessDeclaration_AST = null;
AST typeMissing = (TNode)astFactory.create(NTypeMissing);
initDeclList(typeMissing);
astFactory.addASTChild(currentAST, returnAST);
TNode tmp16_AST = null;
tmp16_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp16_AST);
match(SEMI);
if ( inputState.guessing==0 ) {
typelessDeclaration_AST = (TNode)currentAST.root;
typelessDeclaration_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NTypeMissing)).add(typelessDeclaration_AST));
currentAST.root = typelessDeclaration_AST;
currentAST.child = typelessDeclaration_AST!=null &&typelessDeclaration_AST.getFirstChild()!=null ?
typelessDeclaration_AST.getFirstChild() : typelessDeclaration_AST;
currentAST.advanceChildToEnd();
}
typelessDeclaration_AST = (TNode)currentAST.root;
returnAST = typelessDeclaration_AST;
}
public final void functionDeclSpecifiers() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode functionDeclSpecifiers_AST = null;
int specCount = 0;
{
int _cnt251=0;
_loop251:
do {
switch ( LA(1)) {
case LITERAL_extern:
case LITERAL_static:
case LITERAL_inline:
{
functionStorageClassSpecifier();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LITERAL_volatile:
case LITERAL_const:
{
typeQualifier();
astFactory.addASTChild(currentAST, returnAST);
break;
}
default:
boolean synPredMatched250 = false;
if (((_tokenSet_12.member(LA(1))) && (_tokenSet_11.member(LA(2))))) {
int _m250 = mark();
synPredMatched250 = 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_12.member(LA(1))) && (true)) {
typeSpecifier(specCount);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException pe) {
synPredMatched250 = false;
}
rewind(_m250);
inputState.guessing--;
}
if ( synPredMatched250 ) {
specCount=typeSpecifier(specCount);
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt251>=1 ) { break _loop251; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt251++;
} while (true);
}
functionDeclSpecifiers_AST = (TNode)currentAST.root;
returnAST = functionDeclSpecifiers_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;
declName = "";
{
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 tmp17_AST = null;
tmp17_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp17_AST);
match(LPAREN);
declName=declarator(false);
astFactory.addASTChild(currentAST, returnAST);
TNode tmp18_AST = null;
tmp18_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp18_AST);
match(RPAREN);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
_loop50:
do {
switch ( LA(1)) {
case LPAREN:
{
declaratorParamaterList(isFunctionDefinition, declName);
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LBRACKET:
{
TNode tmp19_AST = null;
tmp19_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp19_AST);
match(LBRACKET);
{
switch ( LA(1)) {
case LITERAL_asm:
case ID:
case STAR:
case LPAREN:
case LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
expr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RBRACKET:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp20_AST = null;
tmp20_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp20_AST);
match(RBRACKET);
break;
}
default:
{
break _loop50;
}
}
} 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;
returnAST = declarator_AST;
return declName;
}
public final void initDeclList(
AST declarationSpecifiers
) throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode initDeclList_AST = null;
initDecl(declarationSpecifiers);
astFactory.addASTChild(currentAST, returnAST);
{
_loop115:
do {
if ((LA(1)==COMMA) && (_tokenSet_7.member(LA(2)))) {
match(COMMA);
initDecl(declarationSpecifiers);
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop115;
}
} while (true);
}
{
switch ( LA(1)) {
case COMMA:
{
match(COMMA);
break;
}
case SEMI:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
initDeclList_AST = (TNode)currentAST.root;
returnAST = initDeclList_AST;
}
public final void initializer() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode initializer_AST = null;
{
if ((_tokenSet_13.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
{
{
boolean synPredMatched30 = false;
if (((_tokenSet_15.member(LA(1))) && (_tokenSet_16.member(LA(2))))) {
int _m30 = mark();
synPredMatched30 = true;
inputState.guessing++;
try {
{
initializerElementLabel();
}
}
catch (RecognitionException pe) {
synPredMatched30 = false;
}
rewind(_m30);
inputState.guessing--;
}
if ( synPredMatched30 ) {
initializerElementLabel();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_17.member(LA(1))) && (_tokenSet_18.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
{
switch ( LA(1)) {
case LITERAL_asm:
case ID:
case STAR:
case LPAREN:
case LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
assignExpr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LCURLY:
{
lcurlyInitializer();
astFactory.addASTChild(currentAST, returnAST);
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();
}
}
}
else if ((LA(1)==LCURLY) && (_tokenSet_19.member(LA(2)))) {
lcurlyInitializer();
astFactory.addASTChild(currentAST, returnAST);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
initializer_AST = (TNode)currentAST.root;
returnAST = initializer_AST;
}
public final void initializerElementLabel() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode initializerElementLabel_AST = null;
{
switch ( LA(1)) {
case LBRACKET:
{
{
TNode tmp23_AST = null;
tmp23_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp23_AST);
match(LBRACKET);
{
boolean synPredMatched37 = false;
if (((_tokenSet_2.member(LA(1))) && (_tokenSet_20.member(LA(2))))) {
int _m37 = mark();
synPredMatched37 = true;
inputState.guessing++;
try {
{
constExpr();
match(VARARGS);
}
}
catch (RecognitionException pe) {
synPredMatched37 = false;
}
rewind(_m37);
inputState.guessing--;
}
if ( synPredMatched37 ) {
rangeExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_2.member(LA(1))) && (_tokenSet_21.member(LA(2)))) {
constExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
TNode tmp24_AST = null;
tmp24_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp24_AST);
match(RBRACKET);
{
switch ( LA(1)) {
case ASSIGN:
{
TNode tmp25_AST = null;
tmp25_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp25_AST);
match(ASSIGN);
break;
}
case LITERAL_asm:
case LCURLY:
case ID:
case STAR:
case LPAREN:
case LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
}
break;
}
case ID:
{
TNode tmp26_AST = null;
tmp26_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp26_AST);
match(ID);
TNode tmp27_AST = null;
tmp27_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp27_AST);
match(COLON);
break;
}
case DOT:
{
TNode tmp28_AST = null;
tmp28_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp28_AST);
match(DOT);
TNode tmp29_AST = null;
tmp29_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp29_AST);
match(ID);
TNode tmp30_AST = null;
tmp30_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp30_AST);
match(ASSIGN);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
initializerElementLabel_AST = (TNode)currentAST.root;
initializerElementLabel_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NInitializerElementLabel)).add(initializerElementLabel_AST)) ;
currentAST.root = initializerElementLabel_AST;
currentAST.child = initializerElementLabel_AST!=null &&initializerElementLabel_AST.getFirstChild()!=null ?
initializerElementLabel_AST.getFirstChild() : initializerElementLabel_AST;
currentAST.advanceChildToEnd();
}
initializerElementLabel_AST = (TNode)currentAST.root;
returnAST = initializerElementLabel_AST;
}
public final void assignExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode assignExpr_AST = null;
TNode a_AST = null;
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;
returnAST = assignExpr_AST;
}
public final void lcurlyInitializer() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode lcurlyInitializer_AST = null;
TNode tmp31_AST = null;
tmp31_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp31_AST);
match(LCURLY);
{
switch ( LA(1)) {
case LITERAL_asm:
case LCURLY:
case ID:
case STAR:
case LPAREN:
case LBRACKET:
case LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case DOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
initializerList();
astFactory.addASTChild(currentAST, returnAST);
{
switch ( LA(1)) {
case COMMA:
{
match(COMMA);
break;
}
case RCURLY:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case RCURLY:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp33_AST = null;
tmp33_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp33_AST);
match(RCURLY);
if ( inputState.guessing==0 ) {
lcurlyInitializer_AST = (TNode)currentAST.root;
lcurlyInitializer_AST.setType( NLcurlyInitializer );
}
lcurlyInitializer_AST = (TNode)currentAST.root;
returnAST = lcurlyInitializer_AST;
}
public final void constExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode constExpr_AST = null;
conditionalExpr();
astFactory.addASTChild(currentAST, returnAST);
constExpr_AST = (TNode)currentAST.root;
returnAST = constExpr_AST;
}
public final void rangeExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode rangeExpr_AST = null;
constExpr();
astFactory.addASTChild(currentAST, returnAST);
TNode tmp34_AST = null;
tmp34_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp34_AST);
match(VARARGS);
constExpr();
astFactory.addASTChild(currentAST, returnAST);
if ( inputState.guessing==0 ) {
rangeExpr_AST = (TNode)currentAST.root;
rangeExpr_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NRangeExpr)).add(rangeExpr_AST));
currentAST.root = rangeExpr_AST;
currentAST.child = rangeExpr_AST!=null &&rangeExpr_AST.getFirstChild()!=null ?
rangeExpr_AST.getFirstChild() : rangeExpr_AST;
currentAST.advanceChildToEnd();
}
rangeExpr_AST = (TNode)currentAST.root;
returnAST = rangeExpr_AST;
}
public final void initializerList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode initializerList_AST = null;
initializer();
astFactory.addASTChild(currentAST, returnAST);
{
_loop44:
do {
if ((LA(1)==COMMA) && (_tokenSet_13.member(LA(2)))) {
match(COMMA);
initializer();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop44;
}
} while (true);
}
initializerList_AST = (TNode)currentAST.root;
returnAST = initializerList_AST;
}
public final void pointerGroup() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode pointerGroup_AST = null;
{
int _cnt233=0;
_loop233:
do {
if ((LA(1)==STAR)) {
TNode tmp36_AST = null;
tmp36_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp36_AST);
match(STAR);
{
_loop232:
do {
if ((LA(1)==LITERAL_volatile||LA(1)==LITERAL_const)) {
typeQualifier();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop232;
}
} while (true);
}
}
else {
if ( _cnt233>=1 ) { break _loop233; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt233++;
} 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;
returnAST = pointerGroup_AST;
}
public final void declaratorParamaterList(
boolean isFunctionDefinition, String declName
) throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode declaratorParamaterList_AST = null;
TNode tmp37_AST = null;
tmp37_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp37_AST);
match(LPAREN);
if ( inputState.guessing==0 ) {
if (isFunctionDefinition) {
pushScope(declName);
}
else {
pushScope("!"+declName);
}
}
{
boolean synPredMatched54 = false;
if (((_tokenSet_3.member(LA(1))) && (_tokenSet_22.member(LA(2))))) {
int _m54 = mark();
synPredMatched54 = true;
inputState.guessing++;
try {
{
declSpecifiers();
}
}
catch (RecognitionException pe) {
synPredMatched54 = false;
}
rewind(_m54);
inputState.guessing--;
}
if ( synPredMatched54 ) {
parameterTypeList();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_23.member(LA(1))) && (_tokenSet_24.member(LA(2)))) {
{
switch ( LA(1)) {
case ID:
{
idList();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case COMMA:
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
if ( inputState.guessing==0 ) {
popScope();
}
{
switch ( LA(1)) {
case COMMA:
{
match(COMMA);
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp39_AST = null;
tmp39_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp39_AST);
match(RPAREN);
if ( inputState.guessing==0 ) {
declaratorParamaterList_AST = (TNode)currentAST.root;
declaratorParamaterList_AST.setType(NParameterTypeList);
}
declaratorParamaterList_AST = (TNode)currentAST.root;
returnAST = declaratorParamaterList_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;
{
int _cnt214=0;
_loop214:
do {
switch ( LA(1)) {
case LITERAL_typedef:
case LITERAL_auto:
case LITERAL_register:
case LITERAL_extern:
case LITERAL_static:
case LITERAL_inline:
{
storageClassSpecifier();
s_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LITERAL_volatile:
case LITERAL_const:
{
typeQualifier();
astFactory.addASTChild(currentAST, returnAST);
break;
}
default:
boolean synPredMatched213 = false;
if (((_tokenSet_12.member(LA(1))) && (_tokenSet_22.member(LA(2))))) {
int _m213 = mark();
synPredMatched213 = 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_12.member(LA(1))) && (true)) {
typeSpecifier(specCount);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException pe) {
synPredMatched213 = false;
}
rewind(_m213);
inputState.guessing--;
}
if ( synPredMatched213 ) {
specCount=typeSpecifier(specCount);
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt214>=1 ) { break _loop214; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt214++;
} while (true);
}
declSpecifiers_AST = (TNode)currentAST.root;
returnAST = declSpecifiers_AST;
}
public final void parameterTypeList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode parameterTypeList_AST = null;
parameterDeclaration();
astFactory.addASTChild(currentAST, returnAST);
{
_loop60:
do {
if ((LA(1)==SEMI||LA(1)==COMMA) && (_tokenSet_3.member(LA(2)))) {
{
switch ( LA(1)) {
case COMMA:
{
TNode tmp40_AST = null;
tmp40_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp40_AST);
match(COMMA);
break;
}
case SEMI:
{
TNode tmp41_AST = null;
tmp41_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp41_AST);
match(SEMI);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
parameterDeclaration();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop60;
}
} while (true);
}
{
if ((LA(1)==SEMI||LA(1)==COMMA) && (LA(2)==VARARGS)) {
{
switch ( LA(1)) {
case COMMA:
{
TNode tmp42_AST = null;
tmp42_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp42_AST);
match(COMMA);
break;
}
case SEMI:
{
TNode tmp43_AST = null;
tmp43_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp43_AST);
match(SEMI);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp44_AST = null;
tmp44_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp44_AST);
match(VARARGS);
}
else if ((LA(1)==COMMA||LA(1)==RPAREN) && (_tokenSet_24.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
parameterTypeList_AST = (TNode)currentAST.root;
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;
declSpecifiers();
ds_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
{
boolean synPredMatched237 = false;
if (((_tokenSet_7.member(LA(1))) && (_tokenSet_25.member(LA(2))))) {
int _m237 = mark();
synPredMatched237 = true;
inputState.guessing++;
try {
{
declarator(false);
}
}
catch (RecognitionException pe) {
synPredMatched237 = false;
}
rewind(_m237);
inputState.guessing--;
}
if ( synPredMatched237 ) {
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_26.member(LA(1))) && (_tokenSet_27.member(LA(2)))) {
nonemptyAbstractDeclarator();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_28.member(LA(1)))) {
}
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;
returnAST = parameterDeclaration_AST;
}
public final void declarationList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode declarationList_AST = null;
{
int _cnt67=0;
_loop67:
do {
if ((LA(1)==LITERAL___label__) && (LA(2)==ID)) {
localLabelDeclaration();
astFactory.addASTChild(currentAST, returnAST);
}
else {
boolean synPredMatched66 = false;
if (((_tokenSet_3.member(LA(1))) && (_tokenSet_4.member(LA(2))))) {
int _m66 = mark();
synPredMatched66 = true;
inputState.guessing++;
try {
{
declarationPredictor();
}
}
catch (RecognitionException pe) {
synPredMatched66 = false;
}
rewind(_m66);
inputState.guessing--;
}
if ( synPredMatched66 ) {
declaration();
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt67>=1 ) { break _loop67; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt67++;
} while (true);
}
declarationList_AST = (TNode)currentAST.root;
returnAST = declarationList_AST;
}
public final void localLabelDeclaration() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode localLabelDeclaration_AST = null;
{
TNode tmp45_AST = null;
tmp45_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp45_AST);
match(LITERAL___label__);
TNode tmp46_AST = null;
tmp46_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp46_AST);
match(ID);
{
_loop71:
do {
if ((LA(1)==COMMA) && (LA(2)==ID)) {
match(COMMA);
TNode tmp48_AST = null;
tmp48_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp48_AST);
match(ID);
}
else {
break _loop71;
}
} while (true);
}
{
switch ( LA(1)) {
case COMMA:
{
match(COMMA);
break;
}
case SEMI:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
int _cnt74=0;
_loop74:
do {
if ((LA(1)==SEMI) && (_tokenSet_29.member(LA(2)))) {
match(SEMI);
}
else {
if ( _cnt74>=1 ) { break _loop74; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt74++;
} while (true);
}
}
localLabelDeclaration_AST = (TNode)currentAST.root;
returnAST = localLabelDeclaration_AST;
}
public final void declarationPredictor() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode declarationPredictor_AST = null;
{
if ((LA(1)==LITERAL_typedef) && (LA(2)==EOF)) {
TNode tmp51_AST = null;
tmp51_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp51_AST);
match(LITERAL_typedef);
}
else if ((_tokenSet_3.member(LA(1))) && (_tokenSet_4.member(LA(2)))) {
declaration();
astFactory.addASTChild(currentAST, returnAST);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
declarationPredictor_AST = (TNode)currentAST.root;
returnAST = declarationPredictor_AST;
}
public final void functionStorageClassSpecifier() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode functionStorageClassSpecifier_AST = null;
switch ( LA(1)) {
case LITERAL_extern:
{
TNode tmp52_AST = null;
tmp52_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp52_AST);
match(LITERAL_extern);
functionStorageClassSpecifier_AST = (TNode)currentAST.root;
break;
}
case LITERAL_static:
{
TNode tmp53_AST = null;
tmp53_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp53_AST);
match(LITERAL_static);
functionStorageClassSpecifier_AST = (TNode)currentAST.root;
break;
}
case LITERAL_inline:
{
TNode tmp54_AST = null;
tmp54_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp54_AST);
match(LITERAL_inline);
functionStorageClassSpecifier_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
returnAST = functionStorageClassSpecifier_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;
{
switch ( LA(1)) {
case LITERAL_void:
{
TNode tmp55_AST = null;
tmp55_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp55_AST);
match(LITERAL_void);
break;
}
case LITERAL_char:
{
TNode tmp56_AST = null;
tmp56_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp56_AST);
match(LITERAL_char);
break;
}
case LITERAL_short:
{
TNode tmp57_AST = null;
tmp57_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp57_AST);
match(LITERAL_short);
break;
}
case LITERAL_int:
{
TNode tmp58_AST = null;
tmp58_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp58_AST);
match(LITERAL_int);
break;
}
case LITERAL_long:
{
TNode tmp59_AST = null;
tmp59_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp59_AST);
match(LITERAL_long);
break;
}
case LITERAL_float:
{
TNode tmp60_AST = null;
tmp60_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp60_AST);
match(LITERAL_float);
break;
}
case LITERAL_double:
{
TNode tmp61_AST = null;
tmp61_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp61_AST);
match(LITERAL_double);
break;
}
case LITERAL_signed:
{
TNode tmp62_AST = null;
tmp62_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp62_AST);
match(LITERAL_signed);
break;
}
case LITERAL_unsigned:
{
TNode tmp63_AST = null;
tmp63_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp63_AST);
match(LITERAL_unsigned);
break;
}
case LITERAL_byte:
{
TNode tmp64_AST = null;
tmp64_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp64_AST);
match(LITERAL_byte);
break;
}
case LITERAL_boolean:
{
TNode tmp65_AST = null;
tmp65_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp65_AST);
match(LITERAL_boolean);
break;
}
case LITERAL_Servo:
{
TNode tmp66_AST = null;
tmp66_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp66_AST);
match(LITERAL_Servo);
break;
}
case LITERAL_Wire:
{
TNode tmp67_AST = null;
tmp67_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp67_AST);
match(LITERAL_Wire);
break;
}
case LITERAL_struct:
case LITERAL_union:
{
structOrUnionSpecifier();
astFactory.addASTChild(currentAST, returnAST);
{
_loop83:
do {
if ((LA(1)==LITERAL_asm||LA(1)==LITERAL___attribute) && (LA(2)==LPAREN)) {
attributeDecl();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop83;
}
} while (true);
}
break;
}
case LITERAL_enum:
{
enumSpecifier();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LITERAL_typeof:
{
TNode tmp68_AST = null;
tmp68_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp68_AST);
match(LITERAL_typeof);
TNode tmp69_AST = null;
tmp69_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp69_AST);
match(LPAREN);
{
boolean synPredMatched86 = false;
if (((_tokenSet_30.member(LA(1))) && (_tokenSet_31.member(LA(2))))) {
int _m86 = mark();
synPredMatched86 = true;
inputState.guessing++;
try {
{
typeName();
}
}
catch (RecognitionException pe) {
synPredMatched86 = false;
}
rewind(_m86);
inputState.guessing--;
}
if ( synPredMatched86 ) {
typeName();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_2.member(LA(1))) && (_tokenSet_32.member(LA(2)))) {
expr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
TNode tmp70_AST = null;
tmp70_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp70_AST);
match(RPAREN);
break;
}
case LITERAL___complex:
{
TNode tmp71_AST = null;
tmp71_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp71_AST);
match(LITERAL___complex);
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;
returnAST = typeSpecifier_AST;
return retSpecCount;
}
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;
structOrUnion();
sou_AST = (TNode)returnAST;
{
boolean synPredMatched90 = false;
if (((LA(1)==ID) && (LA(2)==LCURLY))) {
int _m90 = mark();
synPredMatched90 = true;
inputState.guessing++;
try {
{
match(ID);
match(LCURLY);
}
}
catch (RecognitionException pe) {
synPredMatched90 = false;
}
rewind(_m90);
inputState.guessing--;
}
if ( synPredMatched90 ) {
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);
}
{
switch ( LA(1)) {
case LITERAL_volatile:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_enum:
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 LITERAL_byte:
case LITERAL_boolean:
case LITERAL_Servo:
case LITERAL_Wire:
case LITERAL_typeof:
case LITERAL___complex:
{
structDeclarationList();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RCURLY:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
popScope();
}
TNode tmp72_AST = null;
tmp72_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp72_AST);
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);
}
{
switch ( LA(1)) {
case LITERAL_volatile:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_enum:
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 LITERAL_byte:
case LITERAL_boolean:
case LITERAL_Servo:
case LITERAL_Wire:
case LITERAL_typeof:
case LITERAL___complex:
{
structDeclarationList();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RCURLY:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
popScope();
}
TNode tmp73_AST = null;
tmp73_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp73_AST);
match(RCURLY);
}
else if ((LA(1)==ID) && (_tokenSet_33.member(LA(2)))) {
TNode tmp74_AST = null;
tmp74_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp74_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;
returnAST = structOrUnionSpecifier_AST;
}
public final void attributeDecl() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode attributeDecl_AST = null;
switch ( LA(1)) {
case LITERAL___attribute:
{
TNode tmp75_AST = null;
tmp75_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp75_AST);
match(LITERAL___attribute);
TNode tmp76_AST = null;
tmp76_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp76_AST);
match(LPAREN);
TNode tmp77_AST = null;
tmp77_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp77_AST);
match(LPAREN);
attributeList();
astFactory.addASTChild(currentAST, returnAST);
TNode tmp78_AST = null;
tmp78_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp78_AST);
match(RPAREN);
TNode tmp79_AST = null;
tmp79_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp79_AST);
match(RPAREN);
attributeDecl_AST = (TNode)currentAST.root;
break;
}
case LITERAL_asm:
{
TNode tmp80_AST = null;
tmp80_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp80_AST);
match(LITERAL_asm);
TNode tmp81_AST = null;
tmp81_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp81_AST);
match(LPAREN);
stringConst();
astFactory.addASTChild(currentAST, returnAST);
TNode tmp82_AST = null;
tmp82_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp82_AST);
match(RPAREN);
if ( inputState.guessing==0 ) {
attributeDecl_AST = (TNode)currentAST.root;
attributeDecl_AST.setType( NAsmAttribute );
}
attributeDecl_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
returnAST = attributeDecl_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;
TNode tmp83_AST = null;
tmp83_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp83_AST);
match(LITERAL_enum);
{
boolean synPredMatched108 = false;
if (((LA(1)==ID) && (LA(2)==LCURLY))) {
int _m108 = mark();
synPredMatched108 = true;
inputState.guessing++;
try {
{
match(ID);
match(LCURLY);
}
}
catch (RecognitionException pe) {
synPredMatched108 = false;
}
rewind(_m108);
inputState.guessing--;
}
if ( synPredMatched108 ) {
i = LT(1);
i_AST = (TNode)astFactory.create(i);
astFactory.addASTChild(currentAST, i_AST);
match(ID);
TNode tmp84_AST = null;
tmp84_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp84_AST);
match(LCURLY);
enumList(i.getText());
astFactory.addASTChild(currentAST, returnAST);
TNode tmp85_AST = null;
tmp85_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp85_AST);
match(RCURLY);
}
else if ((LA(1)==LCURLY)) {
TNode tmp86_AST = null;
tmp86_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp86_AST);
match(LCURLY);
enumList("anonymous");
astFactory.addASTChild(currentAST, returnAST);
TNode tmp87_AST = null;
tmp87_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp87_AST);
match(RCURLY);
}
else if ((LA(1)==ID) && (_tokenSet_33.member(LA(2)))) {
TNode tmp88_AST = null;
tmp88_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp88_AST);
match(ID);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
enumSpecifier_AST = (TNode)currentAST.root;
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;
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;
returnAST = typedefName_AST;
}
public final void typeName() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode typeName_AST = null;
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;
returnAST = typeName_AST;
}
public final void structOrUnion() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode structOrUnion_AST = null;
switch ( LA(1)) {
case LITERAL_struct:
{
TNode tmp89_AST = null;
tmp89_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp89_AST);
match(LITERAL_struct);
structOrUnion_AST = (TNode)currentAST.root;
break;
}
case LITERAL_union:
{
TNode tmp90_AST = null;
tmp90_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp90_AST);
match(LITERAL_union);
structOrUnion_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
returnAST = structOrUnion_AST;
}
public final void structDeclarationList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode structDeclarationList_AST = null;
{
int _cnt221=0;
_loop221:
do {
if ((_tokenSet_30.member(LA(1)))) {
structDeclaration();
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt221>=1 ) { break _loop221; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt221++;
} while (true);
}
structDeclarationList_AST = (TNode)currentAST.root;
returnAST = structDeclarationList_AST;
}
public final void structDeclaration() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode structDeclaration_AST = null;
specifierQualifierList();
astFactory.addASTChild(currentAST, returnAST);
structDeclaratorList();
astFactory.addASTChild(currentAST, returnAST);
{
switch ( LA(1)) {
case COMMA:
{
match(COMMA);
break;
}
case SEMI:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
int _cnt96=0;
_loop96:
do {
if ((LA(1)==SEMI)) {
match(SEMI);
}
else {
if ( _cnt96>=1 ) { break _loop96; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt96++;
} while (true);
}
structDeclaration_AST = (TNode)currentAST.root;
returnAST = structDeclaration_AST;
}
public final void specifierQualifierList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode specifierQualifierList_AST = null;
int specCount = 0;
{
int _cnt226=0;
_loop226:
do {
boolean synPredMatched225 = false;
if (((_tokenSet_12.member(LA(1))) && (_tokenSet_34.member(LA(2))))) {
int _m225 = mark();
synPredMatched225 = 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_12.member(LA(1))) && (true)) {
typeSpecifier(specCount);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException pe) {
synPredMatched225 = false;
}
rewind(_m225);
inputState.guessing--;
}
if ( synPredMatched225 ) {
specCount=typeSpecifier(specCount);
astFactory.addASTChild(currentAST, returnAST);
}
else if ((LA(1)==LITERAL_volatile||LA(1)==LITERAL_const)) {
typeQualifier();
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt226>=1 ) { break _loop226; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt226++;
} while (true);
}
specifierQualifierList_AST = (TNode)currentAST.root;
returnAST = specifierQualifierList_AST;
}
public final void structDeclaratorList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode structDeclaratorList_AST = null;
structDeclarator();
astFactory.addASTChild(currentAST, returnAST);
{
_loop99:
do {
if ((LA(1)==COMMA) && (_tokenSet_35.member(LA(2)))) {
match(COMMA);
structDeclarator();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop99;
}
} while (true);
}
structDeclaratorList_AST = (TNode)currentAST.root;
returnAST = structDeclaratorList_AST;
}
public final void structDeclarator() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode structDeclarator_AST = null;
{
switch ( LA(1)) {
case ID:
case STAR:
case LPAREN:
{
declarator(false);
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LITERAL_asm:
case SEMI:
case COMMA:
case COLON:
case LITERAL___attribute:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
switch ( LA(1)) {
case COLON:
{
TNode tmp94_AST = null;
tmp94_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp94_AST);
match(COLON);
constExpr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LITERAL_asm:
case SEMI:
case COMMA:
case LITERAL___attribute:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
_loop104:
do {
if ((LA(1)==LITERAL_asm||LA(1)==LITERAL___attribute)) {
attributeDecl();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop104;
}
} while (true);
}
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;
returnAST = structDeclarator_AST;
}
public final void enumList(
String enumName
) throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode enumList_AST = null;
enumerator(enumName);
astFactory.addASTChild(currentAST, returnAST);
{
_loop111:
do {
if ((LA(1)==COMMA) && (LA(2)==ID)) {
match(COMMA);
enumerator(enumName);
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop111;
}
} while (true);
}
{
switch ( LA(1)) {
case COMMA:
{
match(COMMA);
break;
}
case RCURLY:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
enumList_AST = (TNode)currentAST.root;
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;
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 tmp97_AST = null;
tmp97_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp97_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;
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 = "";
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)) );
}
{
_loop119:
do {
if ((LA(1)==LITERAL_asm||LA(1)==LITERAL___attribute)) {
attributeDecl();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop119;
}
} while (true);
}
{
switch ( LA(1)) {
case ASSIGN:
{
TNode tmp98_AST = null;
tmp98_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp98_AST);
match(ASSIGN);
initializer();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case COLON:
{
TNode tmp99_AST = null;
tmp99_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp99_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;
returnAST = initDecl_AST;
}
public final void attributeList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode attributeList_AST = null;
attribute();
astFactory.addASTChild(currentAST, returnAST);
{
_loop124:
do {
if ((LA(1)==COMMA) && ((LA(2) >= LITERAL_typedef && LA(2) <= LITERAL___imag))) {
TNode tmp100_AST = null;
tmp100_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp100_AST);
match(COMMA);
attribute();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop124;
}
} while (true);
}
{
switch ( LA(1)) {
case COMMA:
{
TNode tmp101_AST = null;
tmp101_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp101_AST);
match(COMMA);
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
attributeList_AST = (TNode)currentAST.root;
returnAST = attributeList_AST;
}
protected final void stringConst() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode stringConst_AST = null;
{
int _cnt314=0;
_loop314:
do {
if ((LA(1)==StringLiteral)) {
TNode tmp102_AST = null;
tmp102_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp102_AST);
match(StringLiteral);
}
else {
if ( _cnt314>=1 ) { break _loop314; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt314++;
} 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;
returnAST = stringConst_AST;
}
public final void attribute() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode attribute_AST = null;
{
_loop129:
do {
if ((_tokenSet_36.member(LA(1)))) {
{
TNode tmp103_AST = null;
tmp103_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp103_AST);
match(_tokenSet_36);
}
}
else if ((LA(1)==LPAREN)) {
TNode tmp104_AST = null;
tmp104_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp104_AST);
match(LPAREN);
attributeList();
astFactory.addASTChild(currentAST, returnAST);
TNode tmp105_AST = null;
tmp105_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp105_AST);
match(RPAREN);
}
else {
break _loop129;
}
} while (true);
}
attribute_AST = (TNode)currentAST.root;
returnAST = attribute_AST;
}
public final void compoundStatement(
String scopeName
) throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode compoundStatement_AST = null;
TNode tmp106_AST = null;
tmp106_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp106_AST);
match(LCURLY);
if ( inputState.guessing==0 ) {
pushScope(scopeName);
}
{
_loop136:
do {
boolean synPredMatched133 = false;
if (((_tokenSet_37.member(LA(1))) && (_tokenSet_4.member(LA(2))))) {
int _m133 = mark();
synPredMatched133 = true;
inputState.guessing++;
try {
{
if ((LA(1)==LITERAL_typedef) && (true)) {
match(LITERAL_typedef);
}
else if ((LA(1)==LITERAL___label__)) {
match(LITERAL___label__);
}
else if ((_tokenSet_3.member(LA(1))) && (_tokenSet_4.member(LA(2)))) {
declaration();
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException pe) {
synPredMatched133 = false;
}
rewind(_m133);
inputState.guessing--;
}
if ( synPredMatched133 ) {
declarationList();
astFactory.addASTChild(currentAST, returnAST);
}
else {
boolean synPredMatched135 = false;
if (((_tokenSet_38.member(LA(1))) && (_tokenSet_39.member(LA(2))))) {
int _m135 = mark();
synPredMatched135 = true;
inputState.guessing++;
try {
{
nestedFunctionDef();
}
}
catch (RecognitionException pe) {
synPredMatched135 = false;
}
rewind(_m135);
inputState.guessing--;
}
if ( synPredMatched135 ) {
nestedFunctionDef();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop136;
}
}
} while (true);
}
{
switch ( LA(1)) {
case LITERAL_asm:
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 LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
statementList();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RCURLY:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
popScope();
}
TNode tmp107_AST = null;
tmp107_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp107_AST);
match(RCURLY);
if ( inputState.guessing==0 ) {
compoundStatement_AST = (TNode)currentAST.root;
compoundStatement_AST.setType( NCompoundStatement ); compoundStatement_AST.setAttribute( "scopeName", scopeName );
}
compoundStatement_AST = (TNode)currentAST.root;
returnAST = compoundStatement_AST;
}
public final void nestedFunctionDef() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode nestedFunctionDef_AST = null;
TNode ds_AST = null;
TNode d_AST = null;
String declName;
{
switch ( LA(1)) {
case LITERAL_auto:
{
TNode tmp108_AST = null;
tmp108_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp108_AST);
match(LITERAL_auto);
break;
}
case LITERAL_volatile:
case LITERAL_struct:
case LITERAL_union:
case LITERAL_enum:
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:
case LITERAL_inline:
case LITERAL_byte:
case LITERAL_boolean:
case LITERAL_Servo:
case LITERAL_Wire:
case LITERAL_typeof:
case LITERAL___complex:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
boolean synPredMatched142 = false;
if (((_tokenSet_10.member(LA(1))) && (_tokenSet_11.member(LA(2))))) {
int _m142 = mark();
synPredMatched142 = true;
inputState.guessing++;
try {
{
functionDeclSpecifiers();
}
}
catch (RecognitionException pe) {
synPredMatched142 = false;
}
rewind(_m142);
inputState.guessing--;
}
if ( synPredMatched142 ) {
functionDeclSpecifiers();
ds_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_7.member(LA(1))) && (_tokenSet_39.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
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)));
pushScope(declName);
}
{
_loop144:
do {
if ((_tokenSet_3.member(LA(1)))) {
declaration();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop144;
}
} while (true);
}
if ( inputState.guessing==0 ) {
popScope();
}
compoundStatement(declName);
astFactory.addASTChild(currentAST, returnAST);
if ( inputState.guessing==0 ) {
nestedFunctionDef_AST = (TNode)currentAST.root;
nestedFunctionDef_AST = (TNode)astFactory.make( (new ASTArray(2)).add((TNode)astFactory.create(NFunctionDef)).add(nestedFunctionDef_AST));
currentAST.root = nestedFunctionDef_AST;
currentAST.child = nestedFunctionDef_AST!=null &&nestedFunctionDef_AST.getFirstChild()!=null ?
nestedFunctionDef_AST.getFirstChild() : nestedFunctionDef_AST;
currentAST.advanceChildToEnd();
}
nestedFunctionDef_AST = (TNode)currentAST.root;
returnAST = nestedFunctionDef_AST;
}
public final void statementList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode statementList_AST = null;
{
int _cnt256=0;
_loop256:
do {
if ((_tokenSet_40.member(LA(1)))) {
statement();
astFactory.addASTChild(currentAST, returnAST);
}
else {
if ( _cnt256>=1 ) { break _loop256; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt256++;
} while (true);
}
statementList_AST = (TNode)currentAST.root;
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;
switch ( LA(1)) {
case SEMI:
{
TNode tmp109_AST = null;
tmp109_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp109_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 tmp110_AST = null;
tmp110_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp110_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 tmp113_AST = null;
tmp113_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp113_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 tmp119_AST = null;
tmp119_AST = (TNode)astFactory.create(LT(1));
match(LPAREN);
{
switch ( LA(1)) {
case LITERAL_asm:
case ID:
case STAR:
case LPAREN:
case LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
expr();
e1_AST = (TNode)returnAST;
break;
}
case SEMI:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp120_AST = null;
tmp120_AST = (TNode)astFactory.create(LT(1));
match(SEMI);
{
switch ( LA(1)) {
case LITERAL_asm:
case ID:
case STAR:
case LPAREN:
case LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
expr();
e2_AST = (TNode)returnAST;
break;
}
case SEMI:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp121_AST = null;
tmp121_AST = (TNode)astFactory.create(LT(1));
match(SEMI);
{
switch ( LA(1)) {
case LITERAL_asm:
case ID:
case STAR:
case LPAREN:
case LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
expr();
e3_AST = (TNode)returnAST;
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp122_AST = null;
tmp122_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 tmp123_AST = null;
tmp123_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp123_AST);
match(LITERAL_goto);
expr();
astFactory.addASTChild(currentAST, returnAST);
match(SEMI);
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_continue:
{
TNode tmp125_AST = null;
tmp125_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp125_AST);
match(LITERAL_continue);
match(SEMI);
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_break:
{
TNode tmp127_AST = null;
tmp127_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp127_AST);
match(LITERAL_break);
match(SEMI);
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_return:
{
TNode tmp129_AST = null;
tmp129_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp129_AST);
match(LITERAL_return);
{
switch ( LA(1)) {
case LITERAL_asm:
case ID:
case STAR:
case LPAREN:
case LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
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 tmp131_AST = null;
tmp131_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp131_AST);
match(LITERAL_case);
{
boolean synPredMatched153 = false;
if (((_tokenSet_2.member(LA(1))) && (_tokenSet_20.member(LA(2))))) {
int _m153 = mark();
synPredMatched153 = true;
inputState.guessing++;
try {
{
constExpr();
match(VARARGS);
}
}
catch (RecognitionException pe) {
synPredMatched153 = false;
}
rewind(_m153);
inputState.guessing--;
}
if ( synPredMatched153 ) {
rangeExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_2.member(LA(1))) && (_tokenSet_41.member(LA(2)))) {
constExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
match(COLON);
{
if ((_tokenSet_40.member(LA(1))) && (_tokenSet_42.member(LA(2)))) {
statement();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_43.member(LA(1))) && (_tokenSet_44.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_default:
{
TNode tmp133_AST = null;
tmp133_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp133_AST);
match(LITERAL_default);
match(COLON);
{
if ((_tokenSet_40.member(LA(1))) && (_tokenSet_42.member(LA(2)))) {
statement();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_43.member(LA(1))) && (_tokenSet_44.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_if:
{
TNode tmp135_AST = null;
tmp135_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp135_AST);
match(LITERAL_if);
match(LPAREN);
expr();
astFactory.addASTChild(currentAST, returnAST);
match(RPAREN);
statement();
astFactory.addASTChild(currentAST, returnAST);
{
if ((LA(1)==LITERAL_else) && (_tokenSet_40.member(LA(2)))) {
TNode tmp138_AST = null;
tmp138_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp138_AST);
match(LITERAL_else);
statement();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_43.member(LA(1))) && (_tokenSet_44.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
statement_AST = (TNode)currentAST.root;
break;
}
case LITERAL_switch:
{
TNode tmp139_AST = null;
tmp139_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp139_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_2.member(LA(1))) && (_tokenSet_45.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 tmp143_AST = null;
tmp143_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp143_AST);
match(ID);
match(COLON);
{
if ((_tokenSet_40.member(LA(1))) && (_tokenSet_42.member(LA(2)))) {
statement();
astFactory.addASTChild(currentAST, returnAST);
}
else if ((_tokenSet_43.member(LA(1))) && (_tokenSet_44.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());
}
}
returnAST = statement_AST;
}
public final void conditionalExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode conditionalExpr_AST = null;
logicalOrExpr();
astFactory.addASTChild(currentAST, returnAST);
{
switch ( LA(1)) {
case QUESTION:
{
TNode tmp145_AST = null;
tmp145_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp145_AST);
match(QUESTION);
{
switch ( LA(1)) {
case LITERAL_asm:
case ID:
case STAR:
case LPAREN:
case LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
expr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case COLON:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp146_AST = null;
tmp146_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp146_AST);
match(COLON);
conditionalExpr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LITERAL_asm:
case RCURLY:
case SEMI:
case COMMA:
case COLON:
case ASSIGN:
case RPAREN:
case RBRACKET:
case VARARGS:
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 LITERAL___attribute:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
conditionalExpr_AST = (TNode)currentAST.root;
returnAST = conditionalExpr_AST;
}
public final void logicalOrExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode logicalOrExpr_AST = null;
logicalAndExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop266:
do {
if ((LA(1)==LOR)) {
TNode tmp147_AST = null;
tmp147_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp147_AST);
match(LOR);
logicalAndExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop266;
}
} while (true);
}
logicalOrExpr_AST = (TNode)currentAST.root;
returnAST = logicalOrExpr_AST;
}
public final void castExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode castExpr_AST = null;
boolean synPredMatched163 = false;
if (((LA(1)==LPAREN) && (_tokenSet_30.member(LA(2))))) {
int _m163 = mark();
synPredMatched163 = true;
inputState.guessing++;
try {
{
match(LPAREN);
typeName();
match(RPAREN);
}
}
catch (RecognitionException pe) {
synPredMatched163 = false;
}
rewind(_m163);
inputState.guessing--;
}
if ( synPredMatched163 ) {
TNode tmp148_AST = null;
tmp148_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp148_AST);
match(LPAREN);
typeName();
astFactory.addASTChild(currentAST, returnAST);
TNode tmp149_AST = null;
tmp149_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp149_AST);
match(RPAREN);
{
switch ( LA(1)) {
case LITERAL_asm:
case ID:
case STAR:
case LPAREN:
case LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
castExpr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LCURLY:
{
lcurlyInitializer();
astFactory.addASTChild(currentAST, returnAST);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
castExpr_AST = (TNode)currentAST.root;
castExpr_AST.setType(NCast);
}
castExpr_AST = (TNode)currentAST.root;
}
else if ((_tokenSet_2.member(LA(1))) && (_tokenSet_46.member(LA(2)))) {
unaryExpr();
astFactory.addASTChild(currentAST, returnAST);
castExpr_AST = (TNode)currentAST.root;
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
returnAST = castExpr_AST;
}
public final void unaryExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode unaryExpr_AST = null;
TNode u_AST = null;
switch ( LA(1)) {
case ID:
case LPAREN:
case CharLiteral:
case StringLiteral:
case Number:
{
postfixExpr();
astFactory.addASTChild(currentAST, returnAST);
unaryExpr_AST = (TNode)currentAST.root;
break;
}
case INC:
{
TNode tmp150_AST = null;
tmp150_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp150_AST);
match(INC);
castExpr();
astFactory.addASTChild(currentAST, returnAST);
unaryExpr_AST = (TNode)currentAST.root;
break;
}
case DEC:
{
TNode tmp151_AST = null;
tmp151_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp151_AST);
match(DEC);
castExpr();
astFactory.addASTChild(currentAST, returnAST);
unaryExpr_AST = (TNode)currentAST.root;
break;
}
case STAR:
case LAND:
case BAND:
case PLUS:
case MINUS:
case BNOT:
case LNOT:
case LITERAL___real:
case LITERAL___imag:
{
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 tmp152_AST = null;
tmp152_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp152_AST);
match(LITERAL_sizeof);
{
boolean synPredMatched184 = false;
if (((LA(1)==LPAREN) && (_tokenSet_30.member(LA(2))))) {
int _m184 = mark();
synPredMatched184 = true;
inputState.guessing++;
try {
{
match(LPAREN);
typeName();
}
}
catch (RecognitionException pe) {
synPredMatched184 = false;
}
rewind(_m184);
inputState.guessing--;
}
if ( synPredMatched184 ) {
TNode tmp153_AST = null;
tmp153_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp153_AST);
match(LPAREN);
typeName();
astFactory.addASTChild(currentAST, returnAST);
TNode tmp154_AST = null;
tmp154_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp154_AST);
match(RPAREN);
}
else if ((_tokenSet_2.member(LA(1))) && (_tokenSet_46.member(LA(2)))) {
unaryExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
unaryExpr_AST = (TNode)currentAST.root;
break;
}
case LITERAL___alignof:
{
TNode tmp155_AST = null;
tmp155_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp155_AST);
match(LITERAL___alignof);
{
boolean synPredMatched187 = false;
if (((LA(1)==LPAREN) && (_tokenSet_30.member(LA(2))))) {
int _m187 = mark();
synPredMatched187 = true;
inputState.guessing++;
try {
{
match(LPAREN);
typeName();
}
}
catch (RecognitionException pe) {
synPredMatched187 = false;
}
rewind(_m187);
inputState.guessing--;
}
if ( synPredMatched187 ) {
TNode tmp156_AST = null;
tmp156_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp156_AST);
match(LPAREN);
typeName();
astFactory.addASTChild(currentAST, returnAST);
TNode tmp157_AST = null;
tmp157_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp157_AST);
match(RPAREN);
}
else if ((_tokenSet_2.member(LA(1))) && (_tokenSet_46.member(LA(2)))) {
unaryExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
unaryExpr_AST = (TNode)currentAST.root;
break;
}
case LITERAL_asm:
{
gnuAsmExpr();
astFactory.addASTChild(currentAST, returnAST);
unaryExpr_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
returnAST = unaryExpr_AST;
}
public final void nonemptyAbstractDeclarator() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode nonemptyAbstractDeclarator_AST = null;
{
switch ( LA(1)) {
case STAR:
{
pointerGroup();
astFactory.addASTChild(currentAST, returnAST);
{
_loop173:
do {
switch ( LA(1)) {
case LPAREN:
{
{
TNode tmp158_AST = null;
tmp158_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp158_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:
case LITERAL_inline:
case LITERAL_byte:
case LITERAL_boolean:
case LITERAL_Servo:
case LITERAL_Wire:
case LITERAL_typeof:
case LITERAL___complex:
{
parameterTypeList();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case COMMA:
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
switch ( LA(1)) {
case COMMA:
{
match(COMMA);
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp160_AST = null;
tmp160_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp160_AST);
match(RPAREN);
}
break;
}
case LBRACKET:
{
{
TNode tmp161_AST = null;
tmp161_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp161_AST);
match(LBRACKET);
{
switch ( LA(1)) {
case LITERAL_asm:
case ID:
case STAR:
case LPAREN:
case LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
expr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RBRACKET:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp162_AST = null;
tmp162_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp162_AST);
match(RBRACKET);
}
break;
}
default:
{
break _loop173;
}
}
} while (true);
}
break;
}
case LPAREN:
case LBRACKET:
{
{
int _cnt180=0;
_loop180:
do {
switch ( LA(1)) {
case LPAREN:
{
{
TNode tmp163_AST = null;
tmp163_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp163_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:
case LITERAL_inline:
case LITERAL_byte:
case LITERAL_boolean:
case LITERAL_Servo:
case LITERAL_Wire:
case LITERAL_typeof:
case LITERAL___complex:
{
parameterTypeList();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case COMMA:
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
switch ( LA(1)) {
case COMMA:
{
match(COMMA);
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp165_AST = null;
tmp165_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp165_AST);
match(RPAREN);
}
break;
}
case LBRACKET:
{
{
TNode tmp166_AST = null;
tmp166_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp166_AST);
match(LBRACKET);
{
switch ( LA(1)) {
case LITERAL_asm:
case ID:
case STAR:
case LPAREN:
case LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
expr();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RBRACKET:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp167_AST = null;
tmp167_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp167_AST);
match(RBRACKET);
}
break;
}
default:
{
if ( _cnt180>=1 ) { break _loop180; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt180++;
} 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;
returnAST = nonemptyAbstractDeclarator_AST;
}
public final void postfixExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode postfixExpr_AST = null;
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 LITERAL_asm:
case RCURLY:
case SEMI:
case COMMA:
case COLON:
case ASSIGN:
case STAR:
case RPAREN:
case RBRACKET:
case VARARGS:
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:
case LITERAL___attribute:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
postfixExpr_AST = (TNode)currentAST.root;
returnAST = postfixExpr_AST;
}
public final void unaryOperator() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode unaryOperator_AST = null;
switch ( LA(1)) {
case BAND:
{
TNode tmp168_AST = null;
tmp168_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp168_AST);
match(BAND);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
case STAR:
{
TNode tmp169_AST = null;
tmp169_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp169_AST);
match(STAR);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
case PLUS:
{
TNode tmp170_AST = null;
tmp170_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp170_AST);
match(PLUS);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
case MINUS:
{
TNode tmp171_AST = null;
tmp171_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp171_AST);
match(MINUS);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
case BNOT:
{
TNode tmp172_AST = null;
tmp172_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp172_AST);
match(BNOT);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
case LNOT:
{
TNode tmp173_AST = null;
tmp173_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp173_AST);
match(LNOT);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
case LAND:
{
TNode tmp174_AST = null;
tmp174_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp174_AST);
match(LAND);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
case LITERAL___real:
{
TNode tmp175_AST = null;
tmp175_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp175_AST);
match(LITERAL___real);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
case LITERAL___imag:
{
TNode tmp176_AST = null;
tmp176_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp176_AST);
match(LITERAL___imag);
unaryOperator_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
returnAST = unaryOperator_AST;
}
public final void gnuAsmExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode gnuAsmExpr_AST = null;
TNode tmp177_AST = null;
tmp177_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp177_AST);
match(LITERAL_asm);
{
switch ( LA(1)) {
case LITERAL_volatile:
{
TNode tmp178_AST = null;
tmp178_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp178_AST);
match(LITERAL_volatile);
break;
}
case LPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp179_AST = null;
tmp179_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp179_AST);
match(LPAREN);
stringConst();
astFactory.addASTChild(currentAST, returnAST);
{
if ((LA(1)==COLON) && (_tokenSet_47.member(LA(2)))) {
TNode tmp180_AST = null;
tmp180_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp180_AST);
match(COLON);
{
switch ( LA(1)) {
case StringLiteral:
{
strOptExprPair();
astFactory.addASTChild(currentAST, returnAST);
{
_loop194:
do {
if ((LA(1)==COMMA)) {
TNode tmp181_AST = null;
tmp181_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp181_AST);
match(COMMA);
strOptExprPair();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop194;
}
} while (true);
}
break;
}
case COLON:
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
if ((LA(1)==COLON) && (_tokenSet_47.member(LA(2)))) {
TNode tmp182_AST = null;
tmp182_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp182_AST);
match(COLON);
{
switch ( LA(1)) {
case StringLiteral:
{
strOptExprPair();
astFactory.addASTChild(currentAST, returnAST);
{
_loop198:
do {
if ((LA(1)==COMMA)) {
TNode tmp183_AST = null;
tmp183_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp183_AST);
match(COMMA);
strOptExprPair();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop198;
}
} while (true);
}
break;
}
case COLON:
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
}
else if ((LA(1)==COLON||LA(1)==RPAREN) && (_tokenSet_48.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}
else if ((LA(1)==COLON||LA(1)==RPAREN) && (_tokenSet_48.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
{
switch ( LA(1)) {
case COLON:
{
TNode tmp184_AST = null;
tmp184_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp184_AST);
match(COLON);
stringConst();
astFactory.addASTChild(currentAST, returnAST);
{
_loop201:
do {
if ((LA(1)==COMMA)) {
TNode tmp185_AST = null;
tmp185_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp185_AST);
match(COMMA);
stringConst();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop201;
}
} while (true);
}
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp186_AST = null;
tmp186_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp186_AST);
match(RPAREN);
if ( inputState.guessing==0 ) {
gnuAsmExpr_AST = (TNode)currentAST.root;
gnuAsmExpr_AST.setType(NGnuAsmExpr);
}
gnuAsmExpr_AST = (TNode)currentAST.root;
returnAST = gnuAsmExpr_AST;
}
public final void strOptExprPair() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode strOptExprPair_AST = null;
stringConst();
astFactory.addASTChild(currentAST, returnAST);
{
switch ( LA(1)) {
case LPAREN:
{
TNode tmp187_AST = null;
tmp187_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp187_AST);
match(LPAREN);
expr();
astFactory.addASTChild(currentAST, returnAST);
TNode tmp188_AST = null;
tmp188_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp188_AST);
match(RPAREN);
break;
}
case COMMA:
case COLON:
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
strOptExprPair_AST = (TNode)currentAST.root;
returnAST = strOptExprPair_AST;
}
public final void primaryExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode primaryExpr_AST = null;
switch ( LA(1)) {
case ID:
{
TNode tmp189_AST = null;
tmp189_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp189_AST);
match(ID);
primaryExpr_AST = (TNode)currentAST.root;
break;
}
case Number:
{
TNode tmp190_AST = null;
tmp190_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp190_AST);
match(Number);
primaryExpr_AST = (TNode)currentAST.root;
break;
}
case CharLiteral:
{
charConst();
astFactory.addASTChild(currentAST, returnAST);
primaryExpr_AST = (TNode)currentAST.root;
break;
}
case StringLiteral:
{
stringConst();
astFactory.addASTChild(currentAST, returnAST);
primaryExpr_AST = (TNode)currentAST.root;
break;
}
default:
boolean synPredMatched206 = false;
if (((LA(1)==LPAREN) && (LA(2)==LCURLY))) {
int _m206 = mark();
synPredMatched206 = true;
inputState.guessing++;
try {
{
match(LPAREN);
match(LCURLY);
}
}
catch (RecognitionException pe) {
synPredMatched206 = false;
}
rewind(_m206);
inputState.guessing--;
}
if ( synPredMatched206 ) {
TNode tmp191_AST = null;
tmp191_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp191_AST);
match(LPAREN);
compoundStatement(getAScopeName());
astFactory.addASTChild(currentAST, returnAST);
TNode tmp192_AST = null;
tmp192_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp192_AST);
match(RPAREN);
primaryExpr_AST = (TNode)currentAST.root;
}
else if ((LA(1)==LPAREN) && (_tokenSet_2.member(LA(2)))) {
TNode tmp193_AST = null;
tmp193_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp193_AST);
match(LPAREN);
expr();
astFactory.addASTChild(currentAST, returnAST);
TNode tmp194_AST = null;
tmp194_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp194_AST);
match(RPAREN);
if ( inputState.guessing==0 ) {
primaryExpr_AST = (TNode)currentAST.root;
primaryExpr_AST.setType(NExpressionGroup);
}
primaryExpr_AST = (TNode)currentAST.root;
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
returnAST = primaryExpr_AST;
}
protected final void charConst() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode charConst_AST = null;
TNode tmp195_AST = null;
tmp195_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp195_AST);
match(CharLiteral);
charConst_AST = (TNode)currentAST.root;
returnAST = charConst_AST;
}
public final void storageClassSpecifier() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode storageClassSpecifier_AST = null;
switch ( LA(1)) {
case LITERAL_auto:
{
TNode tmp196_AST = null;
tmp196_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp196_AST);
match(LITERAL_auto);
storageClassSpecifier_AST = (TNode)currentAST.root;
break;
}
case LITERAL_register:
{
TNode tmp197_AST = null;
tmp197_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp197_AST);
match(LITERAL_register);
storageClassSpecifier_AST = (TNode)currentAST.root;
break;
}
case LITERAL_typedef:
{
TNode tmp198_AST = null;
tmp198_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp198_AST);
match(LITERAL_typedef);
storageClassSpecifier_AST = (TNode)currentAST.root;
break;
}
case LITERAL_extern:
case LITERAL_static:
case LITERAL_inline:
{
functionStorageClassSpecifier();
astFactory.addASTChild(currentAST, returnAST);
storageClassSpecifier_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
returnAST = storageClassSpecifier_AST;
}
public final void typeQualifier() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode typeQualifier_AST = null;
switch ( LA(1)) {
case LITERAL_const:
{
TNode tmp199_AST = null;
tmp199_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp199_AST);
match(LITERAL_const);
typeQualifier_AST = (TNode)currentAST.root;
break;
}
case LITERAL_volatile:
{
TNode tmp200_AST = null;
tmp200_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp200_AST);
match(LITERAL_volatile);
typeQualifier_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
returnAST = typeQualifier_AST;
}
public final void assignOperator() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode assignOperator_AST = null;
switch ( LA(1)) {
case ASSIGN:
{
TNode tmp201_AST = null;
tmp201_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp201_AST);
match(ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case DIV_ASSIGN:
{
TNode tmp202_AST = null;
tmp202_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp202_AST);
match(DIV_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case PLUS_ASSIGN:
{
TNode tmp203_AST = null;
tmp203_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp203_AST);
match(PLUS_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case MINUS_ASSIGN:
{
TNode tmp204_AST = null;
tmp204_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp204_AST);
match(MINUS_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case STAR_ASSIGN:
{
TNode tmp205_AST = null;
tmp205_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp205_AST);
match(STAR_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case MOD_ASSIGN:
{
TNode tmp206_AST = null;
tmp206_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp206_AST);
match(MOD_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case RSHIFT_ASSIGN:
{
TNode tmp207_AST = null;
tmp207_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp207_AST);
match(RSHIFT_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case LSHIFT_ASSIGN:
{
TNode tmp208_AST = null;
tmp208_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp208_AST);
match(LSHIFT_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case BAND_ASSIGN:
{
TNode tmp209_AST = null;
tmp209_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp209_AST);
match(BAND_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case BOR_ASSIGN:
{
TNode tmp210_AST = null;
tmp210_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp210_AST);
match(BOR_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
case BXOR_ASSIGN:
{
TNode tmp211_AST = null;
tmp211_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp211_AST);
match(BXOR_ASSIGN);
assignOperator_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
returnAST = assignOperator_AST;
}
public final void logicalAndExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode logicalAndExpr_AST = null;
inclusiveOrExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop269:
do {
if ((LA(1)==LAND)) {
TNode tmp212_AST = null;
tmp212_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp212_AST);
match(LAND);
inclusiveOrExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop269;
}
} while (true);
}
logicalAndExpr_AST = (TNode)currentAST.root;
returnAST = logicalAndExpr_AST;
}
public final void inclusiveOrExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode inclusiveOrExpr_AST = null;
exclusiveOrExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop272:
do {
if ((LA(1)==BOR)) {
TNode tmp213_AST = null;
tmp213_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp213_AST);
match(BOR);
exclusiveOrExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop272;
}
} while (true);
}
inclusiveOrExpr_AST = (TNode)currentAST.root;
returnAST = inclusiveOrExpr_AST;
}
public final void exclusiveOrExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode exclusiveOrExpr_AST = null;
bitAndExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop275:
do {
if ((LA(1)==BXOR)) {
TNode tmp214_AST = null;
tmp214_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp214_AST);
match(BXOR);
bitAndExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop275;
}
} while (true);
}
exclusiveOrExpr_AST = (TNode)currentAST.root;
returnAST = exclusiveOrExpr_AST;
}
public final void bitAndExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode bitAndExpr_AST = null;
equalityExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop278:
do {
if ((LA(1)==BAND)) {
TNode tmp215_AST = null;
tmp215_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp215_AST);
match(BAND);
equalityExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop278;
}
} while (true);
}
bitAndExpr_AST = (TNode)currentAST.root;
returnAST = bitAndExpr_AST;
}
public final void equalityExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode equalityExpr_AST = null;
relationalExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop282:
do {
if ((LA(1)==EQUAL||LA(1)==NOT_EQUAL)) {
{
switch ( LA(1)) {
case EQUAL:
{
TNode tmp216_AST = null;
tmp216_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp216_AST);
match(EQUAL);
break;
}
case NOT_EQUAL:
{
TNode tmp217_AST = null;
tmp217_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp217_AST);
match(NOT_EQUAL);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
relationalExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop282;
}
} while (true);
}
equalityExpr_AST = (TNode)currentAST.root;
returnAST = equalityExpr_AST;
}
public final void relationalExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode relationalExpr_AST = null;
shiftExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop286:
do {
if (((LA(1) >= LT && LA(1) <= GTE))) {
{
switch ( LA(1)) {
case LT:
{
TNode tmp218_AST = null;
tmp218_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp218_AST);
match(LT);
break;
}
case LTE:
{
TNode tmp219_AST = null;
tmp219_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp219_AST);
match(LTE);
break;
}
case GT:
{
TNode tmp220_AST = null;
tmp220_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp220_AST);
match(GT);
break;
}
case GTE:
{
TNode tmp221_AST = null;
tmp221_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp221_AST);
match(GTE);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
shiftExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop286;
}
} while (true);
}
relationalExpr_AST = (TNode)currentAST.root;
returnAST = relationalExpr_AST;
}
public final void shiftExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode shiftExpr_AST = null;
additiveExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop290:
do {
if ((LA(1)==LSHIFT||LA(1)==RSHIFT)) {
{
switch ( LA(1)) {
case LSHIFT:
{
TNode tmp222_AST = null;
tmp222_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp222_AST);
match(LSHIFT);
break;
}
case RSHIFT:
{
TNode tmp223_AST = null;
tmp223_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp223_AST);
match(RSHIFT);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
additiveExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop290;
}
} while (true);
}
shiftExpr_AST = (TNode)currentAST.root;
returnAST = shiftExpr_AST;
}
public final void additiveExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode additiveExpr_AST = null;
multExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop294:
do {
if ((LA(1)==PLUS||LA(1)==MINUS)) {
{
switch ( LA(1)) {
case PLUS:
{
TNode tmp224_AST = null;
tmp224_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp224_AST);
match(PLUS);
break;
}
case MINUS:
{
TNode tmp225_AST = null;
tmp225_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp225_AST);
match(MINUS);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
multExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop294;
}
} while (true);
}
additiveExpr_AST = (TNode)currentAST.root;
returnAST = additiveExpr_AST;
}
public final void multExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode multExpr_AST = null;
castExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop298:
do {
if ((_tokenSet_49.member(LA(1)))) {
{
switch ( LA(1)) {
case STAR:
{
TNode tmp226_AST = null;
tmp226_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp226_AST);
match(STAR);
break;
}
case DIV:
{
TNode tmp227_AST = null;
tmp227_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp227_AST);
match(DIV);
break;
}
case MOD:
{
TNode tmp228_AST = null;
tmp228_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp228_AST);
match(MOD);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
castExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop298;
}
} while (true);
}
multExpr_AST = (TNode)currentAST.root;
returnAST = multExpr_AST;
}
public final void postfixSuffix() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode postfixSuffix_AST = null;
{
int _cnt305=0;
_loop305:
do {
switch ( LA(1)) {
case PTR:
{
TNode tmp229_AST = null;
tmp229_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp229_AST);
match(PTR);
TNode tmp230_AST = null;
tmp230_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp230_AST);
match(ID);
break;
}
case DOT:
{
TNode tmp231_AST = null;
tmp231_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp231_AST);
match(DOT);
TNode tmp232_AST = null;
tmp232_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp232_AST);
match(ID);
break;
}
case LPAREN:
{
functionCall();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case LBRACKET:
{
TNode tmp233_AST = null;
tmp233_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp233_AST);
match(LBRACKET);
expr();
astFactory.addASTChild(currentAST, returnAST);
TNode tmp234_AST = null;
tmp234_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp234_AST);
match(RBRACKET);
break;
}
case INC:
{
TNode tmp235_AST = null;
tmp235_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp235_AST);
match(INC);
break;
}
case DEC:
{
TNode tmp236_AST = null;
tmp236_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp236_AST);
match(DEC);
break;
}
default:
{
if ( _cnt305>=1 ) { break _loop305; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt305++;
} while (true);
}
postfixSuffix_AST = (TNode)currentAST.root;
returnAST = postfixSuffix_AST;
}
public final void functionCall() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode functionCall_AST = null;
TNode a_AST = null;
TNode tmp237_AST = null;
tmp237_AST = (TNode)astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp237_AST);
match(LPAREN);
{
switch ( LA(1)) {
case LITERAL_asm:
case ID:
case STAR:
case LPAREN:
case LAND:
case BAND:
case PLUS:
case MINUS:
case INC:
case DEC:
case LITERAL_sizeof:
case BNOT:
case LNOT:
case CharLiteral:
case StringLiteral:
case Number:
case LITERAL___alignof:
case LITERAL___real:
case LITERAL___imag:
{
argExprList();
a_AST = (TNode)returnAST;
astFactory.addASTChild(currentAST, returnAST);
break;
}
case RPAREN:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
TNode tmp238_AST = null;
tmp238_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp238_AST);
match(RPAREN);
if ( inputState.guessing==0 ) {
functionCall_AST = (TNode)currentAST.root;
functionCall_AST.setType( NFunctionCallArgs );
}
functionCall_AST = (TNode)currentAST.root;
returnAST = functionCall_AST;
}
public final void argExprList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode argExprList_AST = null;
assignExpr();
astFactory.addASTChild(currentAST, returnAST);
{
_loop310:
do {
if ((LA(1)==COMMA)) {
match(COMMA);
assignExpr();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop310;
}
} while (true);
}
argExprList_AST = (TNode)currentAST.root;
returnAST = argExprList_AST;
}
protected final void intConst() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode intConst_AST = null;
switch ( LA(1)) {
case IntOctalConst:
{
TNode tmp240_AST = null;
tmp240_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp240_AST);
match(IntOctalConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case LongOctalConst:
{
TNode tmp241_AST = null;
tmp241_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp241_AST);
match(LongOctalConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case UnsignedOctalConst:
{
TNode tmp242_AST = null;
tmp242_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp242_AST);
match(UnsignedOctalConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case IntIntConst:
{
TNode tmp243_AST = null;
tmp243_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp243_AST);
match(IntIntConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case LongIntConst:
{
TNode tmp244_AST = null;
tmp244_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp244_AST);
match(LongIntConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case UnsignedIntConst:
{
TNode tmp245_AST = null;
tmp245_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp245_AST);
match(UnsignedIntConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case IntHexConst:
{
TNode tmp246_AST = null;
tmp246_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp246_AST);
match(IntHexConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case LongHexConst:
{
TNode tmp247_AST = null;
tmp247_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp247_AST);
match(LongHexConst);
intConst_AST = (TNode)currentAST.root;
break;
}
case UnsignedHexConst:
{
TNode tmp248_AST = null;
tmp248_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp248_AST);
match(UnsignedHexConst);
intConst_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
returnAST = intConst_AST;
}
protected final void floatConst() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode floatConst_AST = null;
switch ( LA(1)) {
case FloatDoubleConst:
{
TNode tmp249_AST = null;
tmp249_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp249_AST);
match(FloatDoubleConst);
floatConst_AST = (TNode)currentAST.root;
break;
}
case DoubleDoubleConst:
{
TNode tmp250_AST = null;
tmp250_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp250_AST);
match(DoubleDoubleConst);
floatConst_AST = (TNode)currentAST.root;
break;
}
case LongDoubleConst:
{
TNode tmp251_AST = null;
tmp251_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp251_AST);
match(LongDoubleConst);
floatConst_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
returnAST = floatConst_AST;
}
public final void dummy() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
TNode dummy_AST = null;
switch ( LA(1)) {
case NTypedefName:
{
TNode tmp252_AST = null;
tmp252_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp252_AST);
match(NTypedefName);
dummy_AST = (TNode)currentAST.root;
break;
}
case NInitDecl:
{
TNode tmp253_AST = null;
tmp253_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp253_AST);
match(NInitDecl);
dummy_AST = (TNode)currentAST.root;
break;
}
case NDeclarator:
{
TNode tmp254_AST = null;
tmp254_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp254_AST);
match(NDeclarator);
dummy_AST = (TNode)currentAST.root;
break;
}
case NStructDeclarator:
{
TNode tmp255_AST = null;
tmp255_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp255_AST);
match(NStructDeclarator);
dummy_AST = (TNode)currentAST.root;
break;
}
case NDeclaration:
{
TNode tmp256_AST = null;
tmp256_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp256_AST);
match(NDeclaration);
dummy_AST = (TNode)currentAST.root;
break;
}
case NCast:
{
TNode tmp257_AST = null;
tmp257_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp257_AST);
match(NCast);
dummy_AST = (TNode)currentAST.root;
break;
}
case NPointerGroup:
{
TNode tmp258_AST = null;
tmp258_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp258_AST);
match(NPointerGroup);
dummy_AST = (TNode)currentAST.root;
break;
}
case NExpressionGroup:
{
TNode tmp259_AST = null;
tmp259_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp259_AST);
match(NExpressionGroup);
dummy_AST = (TNode)currentAST.root;
break;
}
case NFunctionCallArgs:
{
TNode tmp260_AST = null;
tmp260_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp260_AST);
match(NFunctionCallArgs);
dummy_AST = (TNode)currentAST.root;
break;
}
case NNonemptyAbstractDeclarator:
{
TNode tmp261_AST = null;
tmp261_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp261_AST);
match(NNonemptyAbstractDeclarator);
dummy_AST = (TNode)currentAST.root;
break;
}
case NInitializer:
{
TNode tmp262_AST = null;
tmp262_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp262_AST);
match(NInitializer);
dummy_AST = (TNode)currentAST.root;
break;
}
case NStatementExpr:
{
TNode tmp263_AST = null;
tmp263_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp263_AST);
match(NStatementExpr);
dummy_AST = (TNode)currentAST.root;
break;
}
case NEmptyExpression:
{
TNode tmp264_AST = null;
tmp264_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp264_AST);
match(NEmptyExpression);
dummy_AST = (TNode)currentAST.root;
break;
}
case NParameterTypeList:
{
TNode tmp265_AST = null;
tmp265_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp265_AST);
match(NParameterTypeList);
dummy_AST = (TNode)currentAST.root;
break;
}
case NFunctionDef:
{
TNode tmp266_AST = null;
tmp266_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp266_AST);
match(NFunctionDef);
dummy_AST = (TNode)currentAST.root;
break;
}
case NCompoundStatement:
{
TNode tmp267_AST = null;
tmp267_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp267_AST);
match(NCompoundStatement);
dummy_AST = (TNode)currentAST.root;
break;
}
case NParameterDeclaration:
{
TNode tmp268_AST = null;
tmp268_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp268_AST);
match(NParameterDeclaration);
dummy_AST = (TNode)currentAST.root;
break;
}
case NCommaExpr:
{
TNode tmp269_AST = null;
tmp269_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp269_AST);
match(NCommaExpr);
dummy_AST = (TNode)currentAST.root;
break;
}
case NUnaryExpr:
{
TNode tmp270_AST = null;
tmp270_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp270_AST);
match(NUnaryExpr);
dummy_AST = (TNode)currentAST.root;
break;
}
case NLabel:
{
TNode tmp271_AST = null;
tmp271_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp271_AST);
match(NLabel);
dummy_AST = (TNode)currentAST.root;
break;
}
case NPostfixExpr:
{
TNode tmp272_AST = null;
tmp272_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp272_AST);
match(NPostfixExpr);
dummy_AST = (TNode)currentAST.root;
break;
}
case NRangeExpr:
{
TNode tmp273_AST = null;
tmp273_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp273_AST);
match(NRangeExpr);
dummy_AST = (TNode)currentAST.root;
break;
}
case NStringSeq:
{
TNode tmp274_AST = null;
tmp274_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp274_AST);
match(NStringSeq);
dummy_AST = (TNode)currentAST.root;
break;
}
case NInitializerElementLabel:
{
TNode tmp275_AST = null;
tmp275_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp275_AST);
match(NInitializerElementLabel);
dummy_AST = (TNode)currentAST.root;
break;
}
case NLcurlyInitializer:
{
TNode tmp276_AST = null;
tmp276_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp276_AST);
match(NLcurlyInitializer);
dummy_AST = (TNode)currentAST.root;
break;
}
case NAsmAttribute:
{
TNode tmp277_AST = null;
tmp277_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp277_AST);
match(NAsmAttribute);
dummy_AST = (TNode)currentAST.root;
break;
}
case NGnuAsmExpr:
{
TNode tmp278_AST = null;
tmp278_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp278_AST);
match(NGnuAsmExpr);
dummy_AST = (TNode)currentAST.root;
break;
}
case NTypeMissing:
{
TNode tmp279_AST = null;
tmp279_AST = (TNode)astFactory.create(LT(1));
astFactory.addASTChild(currentAST, tmp279_AST);
match(NTypeMissing);
dummy_AST = (TNode)currentAST.root;
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
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",
"\"__label__\"",
"\"inline\"",
"\"byte\"",
"\"boolean\"",
"\"Servo\"",
"\"Wire\"",
"\"typeof\"",
"\"__complex\"",
"\"__attribute\"",
"\"__alignof\"",
"\"__real\"",
"\"__imag\""
};
protected void buildTokenTypeASTClassMap() {
tokenTypeToASTClassMap=null;
};
private static final long[] mk_tokenSet_0() {
long[] data = { 6710886000L, 0L, 2080768L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
private static final long[] mk_tokenSet_1() {
long[] data = { 6710886002L, 0L, 2080768L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
private static final long[] mk_tokenSet_2() {
long[] data = { 2305843015790362656L, 3401217L, 29364224L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
private static final long[] mk_tokenSet_3() {
long[] data = { 268434512L, 0L, 2080768L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3());
private static final long[] mk_tokenSet_4() {
long[] data = { 6710886096L, 0L, 2080768L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4());
private static final long[] mk_tokenSet_5() {
long[] data = { 6710860864L, 0L, 2080768L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_5 = new BitSet(mk_tokenSet_5());
private static final long[] mk_tokenSet_6() {
long[] data = { 92610232016L, 0L, 2080768L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_6 = new BitSet(mk_tokenSet_6());
private static final long[] mk_tokenSet_7() {
long[] data = { 6576668672L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_7 = new BitSet(mk_tokenSet_7());
private static final long[] mk_tokenSet_8() {
long[] data = { 25635717728L, 0L, 2097152L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_8 = new BitSet(mk_tokenSet_8());
private static final long[] mk_tokenSet_9() {
long[] data = { 2306265159670169586L, 3401217L, 31453184L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_9 = new BitSet(mk_tokenSet_9());
private static final long[] mk_tokenSet_10() {
long[] data = { 268409920L, 0L, 2080768L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_10 = new BitSet(mk_tokenSet_10());
private static final long[] mk_tokenSet_11() {
long[] data = { 6710860992L, 0L, 2080768L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_11 = new BitSet(mk_tokenSet_11());
private static final long[] mk_tokenSet_12() {
long[] data = { 268180480L, 0L, 2064384L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_12 = new BitSet(mk_tokenSet_12());
private static final long[] mk_tokenSet_13() {
long[] data = { 2305843032970231968L, 3925505L, 29364224L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_13 = new BitSet(mk_tokenSet_13());
private static final long[] mk_tokenSet_14() {
long[] data = { -562924183740448L, 4194303L, 31428608L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_14 = new BitSet(mk_tokenSet_14());
private static final long[] mk_tokenSet_15() {
long[] data = { 17314086912L, 524288L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_15 = new BitSet(mk_tokenSet_15());
private static final long[] mk_tokenSet_16() {
long[] data = { 2305843016327233568L, 3401217L, 29364224L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_16 = new BitSet(mk_tokenSet_16());
private static final long[] mk_tokenSet_17() {
long[] data = { 2305843015790362784L, 3401217L, 29364224L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_17 = new BitSet(mk_tokenSet_17());
private static final long[] mk_tokenSet_18() {
long[] data = { -562924720611360L, 4194303L, 31428608L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_18 = new BitSet(mk_tokenSet_18());
private static final long[] mk_tokenSet_19() {
long[] data = { 2305843032970232224L, 3925505L, 29364224L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_19 = new BitSet(mk_tokenSet_19());
private static final long[] mk_tokenSet_20() {
long[] data = { -576460659693314848L, 4194303L, 31428608L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_20 = new BitSet(mk_tokenSet_20());
private static final long[] mk_tokenSet_21() {
long[] data = { -576460694053053216L, 4194303L, 31428608L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_21 = new BitSet(mk_tokenSet_21());
private static final long[] mk_tokenSet_22() {
long[] data = { 32749125328L, 0L, 2080768L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_22 = new BitSet(mk_tokenSet_22());
private static final long[] mk_tokenSet_23() {
long[] data = { 8992587776L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_23 = new BitSet(mk_tokenSet_23());
private static final long[] mk_tokenSet_24() {
long[] data = { 100931731184L, 0L, 4177920L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_24 = new BitSet(mk_tokenSet_24());
private static final long[] mk_tokenSet_25() {
long[] data = { 32615039552L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_25 = new BitSet(mk_tokenSet_25());
private static final long[] mk_tokenSet_26() {
long[] data = { 23622320128L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_26 = new BitSet(mk_tokenSet_26());
private static final long[] mk_tokenSet_27() {
long[] data = { 2305843076322557552L, 3401217L, 31444992L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_27 = new BitSet(mk_tokenSet_27());
private static final long[] mk_tokenSet_28() {
long[] data = { 8858370560L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_28 = new BitSet(mk_tokenSet_28());
private static final long[] mk_tokenSet_29() {
long[] data = { 2306265090950692848L, 3401217L, 31453184L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_29 = new BitSet(mk_tokenSet_29());
private static final long[] mk_tokenSet_30() {
long[] data = { 268311616L, 0L, 2064384L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_30 = new BitSet(mk_tokenSet_30());
private static final long[] mk_tokenSet_31() {
long[] data = { 32480566464L, 0L, 2064384L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_31 = new BitSet(mk_tokenSet_31());
private static final long[] mk_tokenSet_32() {
long[] data = { -562916130677536L, 4194303L, 31428608L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_32 = new BitSet(mk_tokenSet_32());
private static final long[] mk_tokenSet_33() {
long[] data = { 33285996144L, 0L, 4177920L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_33 = new BitSet(mk_tokenSet_33());
private static final long[] mk_tokenSet_34() {
long[] data = { 33285873376L, 0L, 4161536L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_34 = new BitSet(mk_tokenSet_34());
private static final long[] mk_tokenSet_35() {
long[] data = { 7381975584L, 0L, 2097152L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_35 = new BitSet(mk_tokenSet_35());
private static final long[] mk_tokenSet_36() {
long[] data = { -13153337360L, -1L, 33554431L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_36 = new BitSet(mk_tokenSet_36());
private static final long[] mk_tokenSet_37() {
long[] data = { 268434512L, 0L, 2088960L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_37 = new BitSet(mk_tokenSet_37());
private static final long[] mk_tokenSet_38() {
long[] data = { 6710869056L, 0L, 2080768L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_38 = new BitSet(mk_tokenSet_38());
private static final long[] mk_tokenSet_39() {
long[] data = { 23890754768L, 0L, 2080768L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_39 = new BitSet(mk_tokenSet_39());
private static final long[] mk_tokenSet_40() {
long[] data = { 2306265090816475808L, 3401217L, 29364224L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_40 = new BitSet(mk_tokenSet_40());
private static final long[] mk_tokenSet_41() {
long[] data = { -576460727875920672L, 4194303L, 31428608L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_41 = new BitSet(mk_tokenSet_41());
private static final long[] mk_tokenSet_42() {
long[] data = { -111669149712L, 4194303L, 31453184L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_42 = new BitSet(mk_tokenSet_42());
private static final long[] mk_tokenSet_43() {
long[] data = { 2306405828304831392L, 3401217L, 29364224L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_43 = new BitSet(mk_tokenSet_43());
private static final long[] mk_tokenSet_44() {
long[] data = { -103079215118L, 4194303L, 31453184L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_44 = new BitSet(mk_tokenSet_44());
private static final long[] mk_tokenSet_45() {
long[] data = { -562924720611616L, 4194303L, 31428608L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_45 = new BitSet(mk_tokenSet_45());
private static final long[] mk_tokenSet_46() {
long[] data = { -562812648684576L, 4194303L, 31461376L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_46 = new BitSet(mk_tokenSet_46());
private static final long[] mk_tokenSet_47() {
long[] data = { 9126805504L, 2097152L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_47 = new BitSet(mk_tokenSet_47());
private static final long[] mk_tokenSet_48() {
long[] data = { -562834257738976L, 2105343L, 2097152L, 0L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_48 = new BitSet(mk_tokenSet_48());
private static final long[] mk_tokenSet_49() {
long[] data = { 2147483648L, 6144L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_49 = new BitSet(mk_tokenSet_49());
}