// $ANTLR 2.7.2: "expandedWEmitter.g" -> "WEmitter.java"$ package processing.app.preproc; import processing.app.*; import processing.app.debug.*; import java.io.*; import java.util.*; import antlr.CommonAST; import antlr.DumpASTVisitor; import antlr.TreeParser; import antlr.Token; import antlr.collections.AST; import antlr.RecognitionException; import antlr.ANTLRException; import antlr.NoViableAltException; import antlr.MismatchedTokenException; import antlr.SemanticException; import antlr.collections.impl.BitSet; import antlr.ASTPair; import antlr.collections.impl.ASTArray; public class WEmitter extends antlr.TreeParser implements WEmitterTokenTypes { int tabs = 0; PrintStream currentOutput = System.out; int lineNum = 1; String currentSource = ""; LineObject trueSourceFile; final int lineDirectiveThreshold = Integer.MAX_VALUE; PreprocessorInfoChannel preprocessorInfoChannel = null; Stack sourceFiles = new Stack(); WEmitter( PreprocessorInfoChannel preprocChannel ) { preprocessorInfoChannel = preprocChannel; } public void setOut(PrintStream out) { this.currentOutput = out; } boolean childContains(AST ast, String childName) { AST child = ast.getFirstChild(); AST childchild; while (child != null) { //System.out.println(child.getText()); if (child.getText().equals(childName)) { // debug.println("getChild: found:" + name(ast)); return true; } if(child.getFirstChild() != null) { if(childContains(child, childName)) { return true; } } child = child.getNextSibling(); } return false; } public void printDeclarations(AST ast) throws RunnerException { if (ast == null) { return; } /*if(!childContains(ast, "serialEvent")) { currentOutput.print("void serialEvent() {}"); }*/ if(!childContains(ast, "setup")) { currentOutput.print("void setup() {}"); } if(!childContains(ast, "loop")) { currentOutput.print("void loop() {}"); } } void initializePrinting() { Vector preprocs = preprocessorInfoChannel.extractLinesPrecedingTokenNumber( new Integer(1) ); printPreprocs(preprocs); /* if ( currentSource.equals("") ) { trueSourceFile = new LineObject(currentSource); currentOutput.println("# 1 \"" + currentSource + "\"\n"); sourceFiles.push(trueSourceFile); } */ } void finalizePrinting() { // flush any leftover preprocessing instructions to the stream printPreprocs( preprocessorInfoChannel.extractLinesPrecedingTokenNumber( new Integer( preprocessorInfoChannel.getMaxTokenNumber() + 1 ) )); //print a newline so file ends at a new line currentOutput.println(); } void printPreprocs( Vector preprocs ) { // if there was a preprocessingDirective previous to this token then // print a newline and the directive, line numbers handled later if ( preprocs.size() > 0 ) { if ( trueSourceFile != null ) { currentOutput.println(); //make sure we're starting a new line unless this is the first line directive } lineNum++; Enumeration e = preprocs.elements(); while (e.hasMoreElements()) { Object o = e.nextElement(); if ( o.getClass().getName().equals("LineObject") ) { LineObject l = (LineObject) o; // we always return to the trueSourceFile, we never enter it from another file // force it to be returning if in fact we aren't currently in trueSourceFile if (( trueSourceFile != null ) //trueSource exists && ( !currentSource.equals(trueSourceFile.getSource()) ) //currently not in trueSource && ( trueSourceFile.getSource().equals(l.getSource()) ) ) { //returning to trueSource l.setEnteringFile( false ); l.setReturningToFile( true ); } // print the line directive currentOutput.println(l); lineNum = l.getLine(); currentSource = l.getSource(); // the very first line directive always represents the true sourcefile if ( trueSourceFile == null ) { trueSourceFile = new LineObject(currentSource); sourceFiles.push(trueSourceFile); } // keep our own stack of files entered if ( l.getEnteringFile() ) { sourceFiles.push(l); } // if returning to a file, pop the exited files off the stack if ( l.getReturningToFile() ) { LineObject top = (LineObject) sourceFiles.peek(); while (( top != trueSourceFile ) && (! l.getSource().equals(top.getSource()) )) { sourceFiles.pop(); top = (LineObject) sourceFiles.peek(); } } } else { // it was a #pragma or such currentOutput.println(o); lineNum++; } } } } void print( TNode t ) { int tLineNum = t.getLocalLineNum(); if ( tLineNum == 0 ) tLineNum = lineNum; Vector preprocs = preprocessorInfoChannel.extractLinesPrecedingTokenNumber((Integer)t.getAttribute("tokenNumber")); printPreprocs(preprocs); if ( (lineNum != tLineNum) ) { // we know we'll be newlines or a line directive or it probably // is just the case that this token is on the next line // either way start a new line and indent it currentOutput.println(); lineNum++; printTabs(); } if ( lineNum == tLineNum ){ // do nothing special, we're at the right place } else { int diff = tLineNum - lineNum; if ( lineNum < tLineNum ) { // print out the blank lines to bring us up to right line number for ( ; lineNum < tLineNum ; lineNum++ ) { currentOutput.println(); } printTabs(); } else { // just reset lineNum lineNum = tLineNum; } } currentOutput.print( t.getText() + " " ); } /* This was my attempt at being smart about line numbers It didn't work quite right but I don't know why, I didn't have enough test cases. Worked ok compiling rcs and ghostscript */ void printAddingLineDirectives( TNode t ) { int tLineNum = t.getLocalLineNum(); String tSource = (String) t.getAttribute("source"); if ( tSource == null ) tSource = currentSource; if ( tLineNum == 0 ) tLineNum = lineNum; Vector preprocs = preprocessorInfoChannel.extractLinesPrecedingTokenNumber((Integer)t.getAttribute("tokenNumber")); printPreprocs(preprocs); if ( (lineNum != tLineNum) || !currentSource.equals(tSource) ) { // we know we'll be newlines or a line directive or it probably // is just the case that this token is on the next line // either way start a new line and indent it currentOutput.println(); lineNum++; printTabs(); } if ( ( lineNum == tLineNum ) && ( currentSource.equals(tSource) ) ){ // do nothing special, we're at the right place } else if ( currentSource.equals(tSource) ) { int diff = tLineNum - lineNum; if (diff > 0 && diff < lineDirectiveThreshold) { // print out the blank lines to bring us up to right line number for ( ; lineNum < tLineNum ; lineNum++ ) { currentOutput.println(); } } else { // print line directive to get us to right line number // preserve flags 3 and 4 if present in current file if ( ! sourceFiles.empty() ) { LineObject l = (LineObject) sourceFiles.peek(); StringBuffer tFlags = new StringBuffer(""); if (l.getSystemHeader()) { tFlags.append(" 3"); } if (l.getTreatAsC()) { tFlags.append(" 4"); } currentOutput.println("# " + tLineNum + " \"" + tSource + "\"" + tFlags.toString()); lineNum = tLineNum; } } printTabs(); } else { // different source Enumeration sources = sourceFiles.elements(); // see if we're returning to a file we entered earlier boolean returningToEarlierFile = false; while (sources.hasMoreElements()) { LineObject l = (LineObject) sources.nextElement(); if (l.getSource().equals(tSource)) { returningToEarlierFile = true; break; } } if (returningToEarlierFile) { // pop off the files we're exiting, but never pop the trueSourceFile LineObject l = (LineObject) sourceFiles.peek(); while ( ( l != trueSourceFile ) &&(! l.getSource().equals(tSource) ) ) { sourceFiles.pop(); l = (LineObject) sourceFiles.peek(); } // put in the return flag, plus others as needed StringBuffer tFlags = new StringBuffer(" 2"); if (l.getSystemHeader()) { tFlags.append(" 3"); } if (l.getTreatAsC()) { tFlags.append(" 4"); } currentOutput.println("# " + tLineNum + " \"" + tSource + "\"" + tFlags); lineNum = tLineNum; currentSource = tSource; printTabs(); } else { // entering a file that wasn't in the original source // pretend we're entering it from top of stack currentOutput.println("# " + tLineNum + " \"" + tSource + "\"" + " 1"); lineNum = tLineNum; currentSource = tSource; printTabs(); } } currentOutput.print( t.getText() + " " ); } /** It is not ok to print newlines from the String passed in as it will screw up the line number handling **/ void print( String s ) { currentOutput.print( s + " " ); } void printTabs() { for ( int i = 0; i< tabs; i++ ) { currentOutput.print( "\t" ); } } void commaSep( TNode t ) { print( t ); if ( t.getNextSibling() != null ) { print( "," ); } } int traceDepth = 0; public void reportError(RecognitionException ex) { if ( ex != null) { System.err.println("ANTLR Tree Parsing RecognitionException Error: " + ex.getClass().getName() + " " + ex ); ex.printStackTrace(System.err); } } public void reportError(NoViableAltException ex) { System.err.println("ANTLR Tree Parsing NoViableAltException Error: " + ex.toString()); TNode.printTree( ex.node ); ex.printStackTrace(System.err); } public void reportError(MismatchedTokenException ex) { if ( ex != null) { TNode.printTree( ex.node ); System.err.println("ANTLR Tree Parsing MismatchedTokenException Error: " + ex ); ex.printStackTrace(System.err); } } public void reportError(String s) { System.err.println("ANTLR Error from String: " + s); } public void reportWarning(String s) { System.err.println("ANTLR Warning from String: " + s); } protected void match(AST t, int ttype) throws MismatchedTokenException { //System.out.println("match("+ttype+"); cursor is "+t); super.match(t, ttype); } public void match(AST t, BitSet b) throws MismatchedTokenException { //System.out.println("match("+b+"); cursor is "+t); super.match(t, b); } protected void matchNot(AST t, int ttype) throws MismatchedTokenException { //System.out.println("matchNot("+ttype+"); cursor is "+t); super.matchNot(t, ttype); } public void traceIn(String rname, AST t) { traceDepth += 1; for (int x=0; x<traceDepth; x++) System.out.print(" "); super.traceIn(rname, t); } public void traceOut(String rname, AST t) { for (int x=0; x<traceDepth; x++) System.out.print(" "); super.traceOut(rname, t); traceDepth -= 1; } public WEmitter() { tokenNames = _tokenNames; } public final void translationUnit(AST _t) throws RecognitionException { TNode translationUnit_AST_in = (TNode)_t; if ( inputState.guessing==0 ) { initializePrinting(); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL_asm: case SEMI: case NDeclaration: case NFunctionDef: case NTypeMissing: { externalList(_t); _t = _retTree; break; } case 3: { break; } default: { throw new NoViableAltException(_t); } } } if ( inputState.guessing==0 ) { finalizePrinting(); } _retTree = _t; } public final void externalList(AST _t) throws RecognitionException { TNode externalList_AST_in = (TNode)_t; try { // for error handling { int _cnt5=0; _loop5: do { if (_t==null) _t=ASTNULL; if ((_tokenSet_0.member(_t.getType()))) { externalDef(_t); _t = _retTree; } else { if ( _cnt5>=1 ) { break _loop5; } else {throw new NoViableAltException(_t);} } _cnt5++; } while (true); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void externalDef(AST _t) throws RecognitionException { TNode externalDef_AST_in = (TNode)_t; TNode s = null; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NDeclaration: { declaration(_t); _t = _retTree; break; } case NFunctionDef: { functionDef(_t); _t = _retTree; break; } case LITERAL_asm: { asm_expr(_t); _t = _retTree; break; } case NTypeMissing: { typelessDeclaration(_t); _t = _retTree; break; } case SEMI: { s = (TNode)_t; match(_t,SEMI); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( s ); } break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void declaration(AST _t) throws RecognitionException { TNode declaration_AST_in = (TNode)_t; TNode s = null; try { // for error handling AST __t13 = _t; TNode tmp1_AST_in = (TNode)_t; match(_t,NDeclaration); _t = _t.getFirstChild(); declSpecifiers(_t); _t = _retTree; { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NInitDecl: { initDeclList(_t); _t = _retTree; break; } case SEMI: { break; } default: { throw new NoViableAltException(_t); } } } { int _cnt16=0; _loop16: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==SEMI)) { s = (TNode)_t; match(_t,SEMI); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( s ); } } else { if ( _cnt16>=1 ) { break _loop16; } else {throw new NoViableAltException(_t);} } _cnt16++; } while (true); } _t = __t13; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void functionDef(AST _t) throws RecognitionException { TNode functionDef_AST_in = (TNode)_t; TNode v = null; try { // for error handling AST __t123 = _t; TNode tmp2_AST_in = (TNode)_t; match(_t,NFunctionDef); _t = _t.getFirstChild(); { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { 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 NTypedefName: case LITERAL_inline: case LITERAL_byte: case LITERAL_boolean: case LITERAL_typeof: case LITERAL___complex: { functionDeclSpecifiers(_t); _t = _retTree; break; } case NDeclarator: { break; } default: { throw new NoViableAltException(_t); } } } declarator(_t); _t = _retTree; { _loop126: do { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NDeclaration: { declaration(_t); _t = _retTree; break; } case VARARGS: { v = (TNode)_t; match(_t,VARARGS); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( v ); } break; } default: { break _loop126; } } } while (true); } compoundStatement(_t); _t = _retTree; _t = __t123; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void asm_expr(AST _t) throws RecognitionException { TNode asm_expr_AST_in = (TNode)_t; TNode a = null; TNode v = null; TNode lc = null; TNode rc = null; TNode s = null; try { // for error handling AST __t10 = _t; a = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_asm); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( a ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL_volatile: { v = (TNode)_t; match(_t,LITERAL_volatile); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( v ); } break; } case LCURLY: { break; } default: { throw new NoViableAltException(_t); } } } lc = (TNode)_t; match(_t,LCURLY); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lc ); tabs++; } expr(_t); _t = _retTree; rc = (TNode)_t; match(_t,RCURLY); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { tabs--; print( rc ); } s = (TNode)_t; match(_t,SEMI); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( s ); } _t = __t10; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void typelessDeclaration(AST _t) throws RecognitionException { TNode typelessDeclaration_AST_in = (TNode)_t; TNode s = null; try { // for error handling AST __t8 = _t; TNode tmp3_AST_in = (TNode)_t; match(_t,NTypeMissing); _t = _t.getFirstChild(); initDeclList(_t); _t = _retTree; s = (TNode)_t; match(_t,SEMI); _t = _t.getNextSibling(); _t = __t8; _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( s ); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void initDeclList(AST _t) throws RecognitionException { TNode initDeclList_AST_in = (TNode)_t; try { // for error handling initDecl(_t); _t = _retTree; { _loop76: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==NInitDecl)) { if ( inputState.guessing==0 ) { print( "," ); } initDecl(_t); _t = _retTree; } else { break _loop76; } } while (true); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void expr(AST _t) throws RecognitionException { TNode expr_AST_in = (TNode)_t; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ASSIGN: case STAR: 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 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 NCommaExpr: { binaryExpr(_t); _t = _retTree; break; } case QUESTION: { conditionalExpr(_t); _t = _retTree; break; } case NCast: { castExpr(_t); _t = _retTree; break; } case INC: case DEC: case LITERAL_sizeof: case NUnaryExpr: case LITERAL___alignof: { unaryExpr(_t); _t = _retTree; break; } case NPostfixExpr: { postfixExpr(_t); _t = _retTree; break; } case ID: case CharLiteral: case NExpressionGroup: case NStringSeq: case Number: { primaryExpr(_t); _t = _retTree; break; } case NEmptyExpression: { emptyExpr(_t); _t = _retTree; break; } case LPAREN: { compoundStatementExpr(_t); _t = _retTree; break; } case NInitializer: case NLcurlyInitializer: { initializer(_t); _t = _retTree; break; } case NRangeExpr: { rangeExpr(_t); _t = _retTree; break; } case NGnuAsmExpr: { gnuAsmExpr(_t); _t = _retTree; break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void declSpecifiers(AST _t) throws RecognitionException { TNode declSpecifiers_AST_in = (TNode)_t; try { // for error handling { int _cnt19=0; _loop19: do { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL_typedef: case LITERAL_auto: case LITERAL_register: case LITERAL_extern: case LITERAL_static: case LITERAL_inline: { storageClassSpecifier(_t); _t = _retTree; break; } case LITERAL_volatile: case LITERAL_const: { typeQualifier(_t); _t = _retTree; break; } case LITERAL_struct: case LITERAL_union: case LITERAL_enum: 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 NTypedefName: case LITERAL_byte: case LITERAL_boolean: case LITERAL_typeof: case LITERAL___complex: { typeSpecifier(_t); _t = _retTree; break; } default: { if ( _cnt19>=1 ) { break _loop19; } else {throw new NoViableAltException(_t);} } } _cnt19++; } while (true); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void storageClassSpecifier(AST _t) throws RecognitionException { TNode storageClassSpecifier_AST_in = (TNode)_t; TNode a = null; TNode b = null; TNode c = null; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL_auto: { a = (TNode)_t; match(_t,LITERAL_auto); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( a ); } break; } case LITERAL_register: { b = (TNode)_t; match(_t,LITERAL_register); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( b ); } break; } case LITERAL_typedef: { c = (TNode)_t; match(_t,LITERAL_typedef); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c ); } break; } case LITERAL_extern: case LITERAL_static: case LITERAL_inline: { functionStorageClassSpecifier(_t); _t = _retTree; break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void typeQualifier(AST _t) throws RecognitionException { TNode typeQualifier_AST_in = (TNode)_t; TNode a = null; TNode b = null; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL_const: { a = (TNode)_t; match(_t,LITERAL_const); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( a ); } break; } case LITERAL_volatile: { b = (TNode)_t; match(_t,LITERAL_volatile); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( b ); } break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void typeSpecifier(AST _t) throws RecognitionException { TNode typeSpecifier_AST_in = (TNode)_t; TNode a = null; TNode b = null; TNode c = null; TNode d = null; TNode e = null; TNode f = null; TNode g = null; TNode h = null; TNode i = null; TNode j = null; TNode k = null; TNode n = null; TNode lp = null; TNode rp = null; TNode p = null; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL_void: { a = (TNode)_t; match(_t,LITERAL_void); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( a ); } break; } case LITERAL_char: { b = (TNode)_t; match(_t,LITERAL_char); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( b ); } break; } case LITERAL_short: { c = (TNode)_t; match(_t,LITERAL_short); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c ); } break; } case LITERAL_int: { d = (TNode)_t; match(_t,LITERAL_int); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( d ); } break; } case LITERAL_long: { e = (TNode)_t; match(_t,LITERAL_long); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( e ); } break; } case LITERAL_float: { f = (TNode)_t; match(_t,LITERAL_float); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( f ); } break; } case LITERAL_double: { g = (TNode)_t; match(_t,LITERAL_double); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( g ); } break; } case LITERAL_signed: { h = (TNode)_t; match(_t,LITERAL_signed); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( h ); } break; } case LITERAL_unsigned: { i = (TNode)_t; match(_t,LITERAL_unsigned); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( i ); } break; } case LITERAL_byte: { j = (TNode)_t; match(_t,LITERAL_byte); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( j ); } break; } case LITERAL_boolean: { k = (TNode)_t; match(_t,LITERAL_boolean); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( k ); } break; } case LITERAL_struct: { structSpecifier(_t); _t = _retTree; { _loop25: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==NAsmAttribute||_t.getType()==LITERAL___attribute)) { attributeDecl(_t); _t = _retTree; } else { break _loop25; } } while (true); } break; } case LITERAL_union: { unionSpecifier(_t); _t = _retTree; { _loop27: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==NAsmAttribute||_t.getType()==LITERAL___attribute)) { attributeDecl(_t); _t = _retTree; } else { break _loop27; } } while (true); } break; } case LITERAL_enum: { enumSpecifier(_t); _t = _retTree; break; } case NTypedefName: { typedefName(_t); _t = _retTree; break; } case LITERAL_typeof: { AST __t28 = _t; n = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_typeof); _t = _t.getFirstChild(); lp = (TNode)_t; match(_t,LPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( n ); print( lp ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { 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 NTypedefName: case LITERAL_byte: case LITERAL_boolean: case LITERAL_typeof: case LITERAL___complex: { typeName(_t); _t = _retTree; break; } case ID: case ASSIGN: case STAR: case LPAREN: 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 INC: case DEC: case LITERAL_sizeof: case CharLiteral: case NCast: case NExpressionGroup: case NInitializer: case NEmptyExpression: case NCommaExpr: case NUnaryExpr: case NPostfixExpr: case NRangeExpr: case NStringSeq: case NLcurlyInitializer: case NGnuAsmExpr: case Number: case LITERAL___alignof: { expr(_t); _t = _retTree; break; } default: { throw new NoViableAltException(_t); } } } rp = (TNode)_t; match(_t,RPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rp ); } _t = __t28; _t = _t.getNextSibling(); break; } case LITERAL___complex: { p = (TNode)_t; match(_t,LITERAL___complex); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( p ); } break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void functionStorageClassSpecifier(AST _t) throws RecognitionException { TNode functionStorageClassSpecifier_AST_in = (TNode)_t; TNode a = null; TNode b = null; TNode c = null; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL_extern: { a = (TNode)_t; match(_t,LITERAL_extern); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( a ); } break; } case LITERAL_static: { b = (TNode)_t; match(_t,LITERAL_static); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( b ); } break; } case LITERAL_inline: { c = (TNode)_t; match(_t,LITERAL_inline); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c ); } break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void structSpecifier(AST _t) throws RecognitionException { TNode structSpecifier_AST_in = (TNode)_t; TNode a = null; try { // for error handling AST __t35 = _t; a = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_struct); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( a ); } structOrUnionBody(_t); _t = _retTree; _t = __t35; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void attributeDecl(AST _t) throws RecognitionException { TNode attributeDecl_AST_in = (TNode)_t; TNode a = null; TNode b = null; TNode n = null; TNode lp = null; TNode rp = null; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL___attribute: { AST __t70 = _t; a = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL___attribute); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( a ); } { _loop72: do { if (_t==null) _t=ASTNULL; if (((_t.getType() >= LITERAL_typedef && _t.getType() <= LITERAL___imag))) { b = (TNode)_t; if ( _t==null ) throw new MismatchedTokenException(); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( b ); } } else { break _loop72; } } while (true); } _t = __t70; _t = _t.getNextSibling(); break; } case NAsmAttribute: { AST __t73 = _t; n = _t==ASTNULL ? null :(TNode)_t; match(_t,NAsmAttribute); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( n ); } lp = (TNode)_t; match(_t,LPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lp ); } expr(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( ")" ); } rp = (TNode)_t; match(_t,RPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rp ); } _t = __t73; _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void unionSpecifier(AST _t) throws RecognitionException { TNode unionSpecifier_AST_in = (TNode)_t; TNode a = null; try { // for error handling AST __t37 = _t; a = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_union); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( a ); } structOrUnionBody(_t); _t = _retTree; _t = __t37; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void enumSpecifier(AST _t) throws RecognitionException { TNode enumSpecifier_AST_in = (TNode)_t; TNode a = null; TNode i = null; TNode lc = null; TNode rc = null; try { // for error handling AST __t61 = _t; a = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_enum); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( a ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ID: { i = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( i ); } break; } case 3: case LCURLY: { break; } default: { throw new NoViableAltException(_t); } } } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LCURLY: { lc = (TNode)_t; match(_t,LCURLY); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lc ); tabs++; } enumList(_t); _t = _retTree; rc = (TNode)_t; match(_t,RCURLY); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { tabs--; print( rc ); } break; } case 3: { break; } default: { throw new NoViableAltException(_t); } } } _t = __t61; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void typedefName(AST _t) throws RecognitionException { TNode typedefName_AST_in = (TNode)_t; TNode i = null; try { // for error handling AST __t33 = _t; TNode tmp4_AST_in = (TNode)_t; match(_t,NTypedefName); _t = _t.getFirstChild(); i = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( i ); } _t = __t33; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void typeName(AST _t) throws RecognitionException { TNode typeName_AST_in = (TNode)_t; try { // for error handling specifierQualifierList(_t); _t = _retTree; { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NNonemptyAbstractDeclarator: { nonemptyAbstractDeclarator(_t); _t = _retTree; break; } case RPAREN: { break; } default: { throw new NoViableAltException(_t); } } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void structOrUnionBody(AST _t) throws RecognitionException { TNode structOrUnionBody_AST_in = (TNode)_t; TNode i1 = null; TNode lc1 = null; TNode rc1 = null; TNode lc2 = null; TNode rc2 = null; TNode i2 = null; try { // for error handling { boolean synPredMatched41 = false; if (((_t.getType()==ID))) { AST __t41 = _t; synPredMatched41 = true; inputState.guessing++; try { { TNode tmp5_AST_in = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); TNode tmp6_AST_in = (TNode)_t; match(_t,LCURLY); _t = _t.getNextSibling(); } } catch (RecognitionException pe) { synPredMatched41 = false; } _t = __t41; inputState.guessing--; } if ( synPredMatched41 ) { i1 = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); lc1 = (TNode)_t; match(_t,LCURLY); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( i1 ); print ( "{" ); tabs++; } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { 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 NTypedefName: case LITERAL_byte: case LITERAL_boolean: case LITERAL_typeof: case LITERAL___complex: { structDeclarationList(_t); _t = _retTree; break; } case RCURLY: { break; } default: { throw new NoViableAltException(_t); } } } rc1 = (TNode)_t; match(_t,RCURLY); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { tabs--; print( rc1 ); } } else if ((_t.getType()==LCURLY)) { lc2 = (TNode)_t; match(_t,LCURLY); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lc2 ); tabs++; } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { 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 NTypedefName: case LITERAL_byte: case LITERAL_boolean: case LITERAL_typeof: case LITERAL___complex: { structDeclarationList(_t); _t = _retTree; break; } case RCURLY: { break; } default: { throw new NoViableAltException(_t); } } } rc2 = (TNode)_t; match(_t,RCURLY); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { tabs--; print( rc2 ); } } else if ((_t.getType()==ID)) { i2 = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( i2 ); } } else { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void structDeclarationList(AST _t) throws RecognitionException { TNode structDeclarationList_AST_in = (TNode)_t; try { // for error handling { int _cnt46=0; _loop46: do { if (_t==null) _t=ASTNULL; if ((_tokenSet_1.member(_t.getType()))) { structDeclaration(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( ";" ); } } else { if ( _cnt46>=1 ) { break _loop46; } else {throw new NoViableAltException(_t);} } _cnt46++; } while (true); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void structDeclaration(AST _t) throws RecognitionException { TNode structDeclaration_AST_in = (TNode)_t; try { // for error handling specifierQualifierList(_t); _t = _retTree; structDeclaratorList(_t); _t = _retTree; } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void specifierQualifierList(AST _t) throws RecognitionException { TNode specifierQualifierList_AST_in = (TNode)_t; try { // for error handling { int _cnt50=0; _loop50: do { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL_struct: case LITERAL_union: case LITERAL_enum: 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 NTypedefName: case LITERAL_byte: case LITERAL_boolean: case LITERAL_typeof: case LITERAL___complex: { typeSpecifier(_t); _t = _retTree; break; } case LITERAL_volatile: case LITERAL_const: { typeQualifier(_t); _t = _retTree; break; } default: { if ( _cnt50>=1 ) { break _loop50; } else {throw new NoViableAltException(_t);} } } _cnt50++; } while (true); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void structDeclaratorList(AST _t) throws RecognitionException { TNode structDeclaratorList_AST_in = (TNode)_t; try { // for error handling structDeclarator(_t); _t = _retTree; { _loop53: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==NStructDeclarator)) { if ( inputState.guessing==0 ) { print(","); } structDeclarator(_t); _t = _retTree; } else { break _loop53; } } while (true); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void structDeclarator(AST _t) throws RecognitionException { TNode structDeclarator_AST_in = (TNode)_t; TNode c = null; try { // for error handling AST __t55 = _t; TNode tmp7_AST_in = (TNode)_t; match(_t,NStructDeclarator); _t = _t.getFirstChild(); { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NDeclarator: { declarator(_t); _t = _retTree; break; } case 3: case COLON: case NAsmAttribute: case LITERAL___attribute: { break; } default: { throw new NoViableAltException(_t); } } } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case COLON: { c = (TNode)_t; match(_t,COLON); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c ); } expr(_t); _t = _retTree; break; } case 3: case NAsmAttribute: case LITERAL___attribute: { break; } default: { throw new NoViableAltException(_t); } } } { _loop59: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==NAsmAttribute||_t.getType()==LITERAL___attribute)) { attributeDecl(_t); _t = _retTree; } else { break _loop59; } } while (true); } _t = __t55; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void declarator(AST _t) throws RecognitionException { TNode declarator_AST_in = (TNode)_t; TNode id = null; TNode lp = null; TNode rp = null; TNode n = null; TNode r = null; TNode lb = null; TNode rb = null; try { // for error handling AST __t105 = _t; TNode tmp8_AST_in = (TNode)_t; match(_t,NDeclarator); _t = _t.getFirstChild(); { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NPointerGroup: { pointerGroup(_t); _t = _retTree; break; } case ID: case LPAREN: { break; } default: { throw new NoViableAltException(_t); } } } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ID: { id = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( id ); } break; } case LPAREN: { lp = (TNode)_t; match(_t,LPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lp ); } declarator(_t); _t = _retTree; rp = (TNode)_t; match(_t,RPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rp ); } break; } default: { throw new NoViableAltException(_t); } } } { _loop113: do { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NParameterTypeList: { AST __t109 = _t; n = _t==ASTNULL ? null :(TNode)_t; match(_t,NParameterTypeList); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( n ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NParameterDeclaration: { parameterTypeList(_t); _t = _retTree; break; } case ID: case RPAREN: { { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ID: { idList(_t); _t = _retTree; break; } case RPAREN: { break; } default: { throw new NoViableAltException(_t); } } } break; } default: { throw new NoViableAltException(_t); } } } r = (TNode)_t; match(_t,RPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( r ); } _t = __t109; _t = _t.getNextSibling(); break; } case LBRACKET: { lb = (TNode)_t; match(_t,LBRACKET); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lb ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ID: case ASSIGN: case STAR: case LPAREN: 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 INC: case DEC: case LITERAL_sizeof: case CharLiteral: case NCast: case NExpressionGroup: case NInitializer: case NEmptyExpression: case NCommaExpr: case NUnaryExpr: case NPostfixExpr: case NRangeExpr: case NStringSeq: case NLcurlyInitializer: case NGnuAsmExpr: case Number: case LITERAL___alignof: { expr(_t); _t = _retTree; break; } case RBRACKET: { break; } default: { throw new NoViableAltException(_t); } } } rb = (TNode)_t; match(_t,RBRACKET); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rb ); } break; } default: { break _loop113; } } } while (true); } _t = __t105; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void enumList(AST _t) throws RecognitionException { TNode enumList_AST_in = (TNode)_t; try { // for error handling enumerator(_t); _t = _retTree; { _loop66: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==ID)) { if ( inputState.guessing==0 ) { print(","); } enumerator(_t); _t = _retTree; } else { break _loop66; } } while (true); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void enumerator(AST _t) throws RecognitionException { TNode enumerator_AST_in = (TNode)_t; TNode i = null; TNode b = null; try { // for error handling i = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( i ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ASSIGN: { b = (TNode)_t; match(_t,ASSIGN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( b ); } expr(_t); _t = _retTree; break; } case RCURLY: case ID: { break; } default: { throw new NoViableAltException(_t); } } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void initDecl(AST _t) throws RecognitionException { TNode initDecl_AST_in = (TNode)_t; TNode a = null; TNode b = null; String declName = ""; try { // for error handling AST __t78 = _t; TNode tmp9_AST_in = (TNode)_t; match(_t,NInitDecl); _t = _t.getFirstChild(); declarator(_t); _t = _retTree; { _loop80: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==NAsmAttribute||_t.getType()==LITERAL___attribute)) { attributeDecl(_t); _t = _retTree; } else { break _loop80; } } while (true); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ASSIGN: { a = (TNode)_t; match(_t,ASSIGN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( a ); } initializer(_t); _t = _retTree; break; } case COLON: { b = (TNode)_t; match(_t,COLON); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( b ); } expr(_t); _t = _retTree; break; } case 3: { break; } default: { throw new NoViableAltException(_t); } } } _t = __t78; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void initializer(AST _t) throws RecognitionException { TNode initializer_AST_in = (TNode)_t; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NInitializer: { AST __t92 = _t; TNode tmp10_AST_in = (TNode)_t; match(_t,NInitializer); _t = _t.getFirstChild(); { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NInitializerElementLabel: { initializerElementLabel(_t); _t = _retTree; break; } case ID: case ASSIGN: case STAR: case LPAREN: 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 INC: case DEC: case LITERAL_sizeof: case CharLiteral: case NCast: case NExpressionGroup: case NInitializer: case NEmptyExpression: case NCommaExpr: case NUnaryExpr: case NPostfixExpr: case NRangeExpr: case NStringSeq: case NLcurlyInitializer: case NGnuAsmExpr: case Number: case LITERAL___alignof: { break; } default: { throw new NoViableAltException(_t); } } } expr(_t); _t = _retTree; _t = __t92; _t = _t.getNextSibling(); break; } case NLcurlyInitializer: { lcurlyInitializer(_t); _t = _retTree; break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void pointerGroup(AST _t) throws RecognitionException { TNode pointerGroup_AST_in = (TNode)_t; TNode a = null; try { // for error handling AST __t83 = _t; TNode tmp11_AST_in = (TNode)_t; match(_t,NPointerGroup); _t = _t.getFirstChild(); { int _cnt87=0; _loop87: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==STAR)) { a = (TNode)_t; match(_t,STAR); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( a ); } { _loop86: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==LITERAL_volatile||_t.getType()==LITERAL_const)) { typeQualifier(_t); _t = _retTree; } else { break _loop86; } } while (true); } } else { if ( _cnt87>=1 ) { break _loop87; } else {throw new NoViableAltException(_t);} } _cnt87++; } while (true); } _t = __t83; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void idList(AST _t) throws RecognitionException { TNode idList_AST_in = (TNode)_t; TNode i = null; TNode c = null; TNode id = null; try { // for error handling i = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( i ); } { _loop90: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==COMMA)) { c = (TNode)_t; match(_t,COMMA); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c ); } id = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( id ); } } else { break _loop90; } } while (true); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void initializerElementLabel(AST _t) throws RecognitionException { TNode initializerElementLabel_AST_in = (TNode)_t; TNode l = null; TNode r = null; TNode a1 = null; TNode i1 = null; TNode c = null; TNode d = null; TNode i2 = null; TNode a2 = null; try { // for error handling AST __t95 = _t; TNode tmp12_AST_in = (TNode)_t; match(_t,NInitializerElementLabel); _t = _t.getFirstChild(); { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LBRACKET: { { l = (TNode)_t; match(_t,LBRACKET); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( l ); } expr(_t); _t = _retTree; r = (TNode)_t; match(_t,RBRACKET); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( r ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ASSIGN: { a1 = (TNode)_t; match(_t,ASSIGN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( a1 ); } break; } case 3: { break; } default: { throw new NoViableAltException(_t); } } } } break; } case ID: { i1 = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); c = (TNode)_t; match(_t,COLON); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( i1 ); print( c ); } break; } case DOT: { d = (TNode)_t; match(_t,DOT); _t = _t.getNextSibling(); i2 = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); a2 = (TNode)_t; match(_t,ASSIGN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( d ); print( i2 ); print( a2 ); } break; } default: { throw new NoViableAltException(_t); } } } _t = __t95; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void lcurlyInitializer(AST _t) throws RecognitionException { TNode lcurlyInitializer_AST_in = (TNode)_t; TNode n = null; TNode rc = null; try { // for error handling AST __t100 = _t; n = _t==ASTNULL ? null :(TNode)_t; match(_t,NLcurlyInitializer); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( n ); tabs++; } initializerList(_t); _t = _retTree; rc = (TNode)_t; match(_t,RCURLY); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { tabs--; print( rc ); } _t = __t100; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void initializerList(AST _t) throws RecognitionException { TNode initializerList_AST_in = (TNode)_t; TNode i = null; try { // for error handling { _loop103: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==NInitializer||_t.getType()==NLcurlyInitializer)) { i = _t==ASTNULL ? null : (TNode)_t; initializer(_t); _t = _retTree; if ( inputState.guessing==0 ) { commaSep( i ); } } else { break _loop103; } } while (true); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void parameterTypeList(AST _t) throws RecognitionException { TNode parameterTypeList_AST_in = (TNode)_t; TNode c = null; TNode s = null; TNode v = null; try { // for error handling { int _cnt117=0; _loop117: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==NParameterDeclaration)) { parameterDeclaration(_t); _t = _retTree; { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case COMMA: { c = (TNode)_t; match(_t,COMMA); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c ); } break; } case SEMI: { s = (TNode)_t; match(_t,SEMI); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( s ); } break; } case RPAREN: case VARARGS: case NParameterDeclaration: { break; } default: { throw new NoViableAltException(_t); } } } } else { if ( _cnt117>=1 ) { break _loop117; } else {throw new NoViableAltException(_t);} } _cnt117++; } while (true); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case VARARGS: { v = (TNode)_t; match(_t,VARARGS); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( v ); } break; } case RPAREN: { break; } default: { throw new NoViableAltException(_t); } } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void parameterDeclaration(AST _t) throws RecognitionException { TNode parameterDeclaration_AST_in = (TNode)_t; try { // for error handling AST __t120 = _t; TNode tmp13_AST_in = (TNode)_t; match(_t,NParameterDeclaration); _t = _t.getFirstChild(); declSpecifiers(_t); _t = _retTree; { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NDeclarator: { declarator(_t); _t = _retTree; break; } case NNonemptyAbstractDeclarator: { nonemptyAbstractDeclarator(_t); _t = _retTree; break; } case 3: { break; } default: { throw new NoViableAltException(_t); } } } _t = __t120; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void nonemptyAbstractDeclarator(AST _t) throws RecognitionException { TNode nonemptyAbstractDeclarator_AST_in = (TNode)_t; TNode lp1 = null; TNode rp1 = null; TNode lb1 = null; TNode rb1 = null; TNode lp2 = null; TNode rp2 = null; TNode lb2 = null; TNode rb2 = null; try { // for error handling AST __t195 = _t; TNode tmp14_AST_in = (TNode)_t; match(_t,NNonemptyAbstractDeclarator); _t = _t.getFirstChild(); { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NPointerGroup: { pointerGroup(_t); _t = _retTree; { _loop202: do { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LPAREN: { { lp1 = (TNode)_t; match(_t,LPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lp1 ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NNonemptyAbstractDeclarator: { nonemptyAbstractDeclarator(_t); _t = _retTree; break; } case NParameterDeclaration: { parameterTypeList(_t); _t = _retTree; break; } case RPAREN: { break; } default: { throw new NoViableAltException(_t); } } } rp1 = (TNode)_t; match(_t,RPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rp1 ); } } break; } case LBRACKET: { { lb1 = (TNode)_t; match(_t,LBRACKET); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lb1 ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ID: case ASSIGN: case STAR: case LPAREN: 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 INC: case DEC: case LITERAL_sizeof: case CharLiteral: case NCast: case NExpressionGroup: case NInitializer: case NEmptyExpression: case NCommaExpr: case NUnaryExpr: case NPostfixExpr: case NRangeExpr: case NStringSeq: case NLcurlyInitializer: case NGnuAsmExpr: case Number: case LITERAL___alignof: { expr(_t); _t = _retTree; break; } case RBRACKET: { break; } default: { throw new NoViableAltException(_t); } } } rb1 = (TNode)_t; match(_t,RBRACKET); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rb1 ); } } break; } default: { break _loop202; } } } while (true); } break; } case LPAREN: case LBRACKET: { { int _cnt208=0; _loop208: do { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LPAREN: { { lp2 = (TNode)_t; match(_t,LPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lp2 ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NNonemptyAbstractDeclarator: { nonemptyAbstractDeclarator(_t); _t = _retTree; break; } case NParameterDeclaration: { parameterTypeList(_t); _t = _retTree; break; } case RPAREN: { break; } default: { throw new NoViableAltException(_t); } } } rp2 = (TNode)_t; match(_t,RPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rp2 ); } } break; } case LBRACKET: { { lb2 = (TNode)_t; match(_t,LBRACKET); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lb2 ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ID: case ASSIGN: case STAR: case LPAREN: 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 INC: case DEC: case LITERAL_sizeof: case CharLiteral: case NCast: case NExpressionGroup: case NInitializer: case NEmptyExpression: case NCommaExpr: case NUnaryExpr: case NPostfixExpr: case NRangeExpr: case NStringSeq: case NLcurlyInitializer: case NGnuAsmExpr: case Number: case LITERAL___alignof: { expr(_t); _t = _retTree; break; } case RBRACKET: { break; } default: { throw new NoViableAltException(_t); } } } rb2 = (TNode)_t; match(_t,RBRACKET); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rb2 ); } } break; } default: { if ( _cnt208>=1 ) { break _loop208; } else {throw new NoViableAltException(_t);} } } _cnt208++; } while (true); } break; } default: { throw new NoViableAltException(_t); } } } _t = __t195; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void functionDeclSpecifiers(AST _t) throws RecognitionException { TNode functionDeclSpecifiers_AST_in = (TNode)_t; try { // for error handling { int _cnt129=0; _loop129: do { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL_extern: case LITERAL_static: case LITERAL_inline: { functionStorageClassSpecifier(_t); _t = _retTree; break; } case LITERAL_volatile: case LITERAL_const: { typeQualifier(_t); _t = _retTree; break; } case LITERAL_struct: case LITERAL_union: case LITERAL_enum: 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 NTypedefName: case LITERAL_byte: case LITERAL_boolean: case LITERAL_typeof: case LITERAL___complex: { typeSpecifier(_t); _t = _retTree; break; } default: { if ( _cnt129>=1 ) { break _loop129; } else {throw new NoViableAltException(_t);} } } _cnt129++; } while (true); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void compoundStatement(AST _t) throws RecognitionException { TNode compoundStatement_AST_in = (TNode)_t; TNode cs = null; TNode rc = null; try { // for error handling AST __t138 = _t; cs = _t==ASTNULL ? null :(TNode)_t; match(_t,NCompoundStatement); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( cs ); tabs++; } { _loop140: do { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NDeclaration: case LITERAL___label__: { declarationList(_t); _t = _retTree; break; } case NFunctionDef: { functionDef(_t); _t = _retTree; break; } default: { break _loop140; } } } while (true); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case SEMI: 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 NStatementExpr: case NCompoundStatement: case NLabel: { statementList(_t); _t = _retTree; break; } case RCURLY: { break; } default: { throw new NoViableAltException(_t); } } } rc = (TNode)_t; match(_t,RCURLY); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { tabs--; print( rc ); } _t = __t138; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void declarationList(AST _t) throws RecognitionException { TNode declarationList_AST_in = (TNode)_t; try { // for error handling { int _cnt132=0; _loop132: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==LITERAL___label__)) { localLabelDecl(_t); _t = _retTree; } else if ((_t.getType()==NDeclaration)) { declaration(_t); _t = _retTree; } else { if ( _cnt132>=1 ) { break _loop132; } else {throw new NoViableAltException(_t);} } _cnt132++; } while (true); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void localLabelDecl(AST _t) throws RecognitionException { TNode localLabelDecl_AST_in = (TNode)_t; TNode a = null; TNode i = null; try { // for error handling AST __t134 = _t; a = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL___label__); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( a ); } { int _cnt136=0; _loop136: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==ID)) { i = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { commaSep( i ); } } else { if ( _cnt136>=1 ) { break _loop136; } else {throw new NoViableAltException(_t);} } _cnt136++; } while (true); } if ( inputState.guessing==0 ) { print( ";" ); } _t = __t134; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void statementList(AST _t) throws RecognitionException { TNode statementList_AST_in = (TNode)_t; try { // for error handling { int _cnt144=0; _loop144: do { if (_t==null) _t=ASTNULL; if ((_tokenSet_2.member(_t.getType()))) { statement(_t); _t = _retTree; } else { if ( _cnt144>=1 ) { break _loop144; } else {throw new NoViableAltException(_t);} } _cnt144++; } while (true); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void statement(AST _t) throws RecognitionException { TNode statement_AST_in = (TNode)_t; try { // for error handling statementBody(_t); _t = _retTree; } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void statementBody(AST _t) throws RecognitionException { TNode statementBody_AST_in = (TNode)_t; TNode s = null; TNode w = null; TNode d = null; TNode f = null; TNode g = null; TNode c = null; TNode b = null; TNode r = null; TNode ni = null; TNode ca = null; TNode de = null; TNode i = null; TNode e = null; TNode sw = null; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case SEMI: { s = (TNode)_t; match(_t,SEMI); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( s ); } break; } case NCompoundStatement: { compoundStatement(_t); _t = _retTree; break; } case NStatementExpr: { AST __t147 = _t; TNode tmp15_AST_in = (TNode)_t; match(_t,NStatementExpr); _t = _t.getFirstChild(); expr(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( ";" ); } _t = __t147; _t = _t.getNextSibling(); break; } case LITERAL_while: { AST __t148 = _t; w = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_while); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( w ); print( "(" ); } expr(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( ")" ); } statement(_t); _t = _retTree; _t = __t148; _t = _t.getNextSibling(); break; } case LITERAL_do: { AST __t149 = _t; d = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_do); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( d ); } statement(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( " while ( " ); } expr(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( " );" ); } _t = __t149; _t = _t.getNextSibling(); break; } case LITERAL_for: { AST __t150 = _t; f = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_for); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( f ); print( "(" ); } expr(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( ";" ); } expr(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( ";" ); } expr(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( ")" ); } statement(_t); _t = _retTree; _t = __t150; _t = _t.getNextSibling(); break; } case LITERAL_goto: { AST __t151 = _t; g = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_goto); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( g ); } expr(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( ";" ); } _t = __t151; _t = _t.getNextSibling(); break; } case LITERAL_continue: { c = (TNode)_t; match(_t,LITERAL_continue); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c ); print( ";" ); } break; } case LITERAL_break: { b = (TNode)_t; match(_t,LITERAL_break); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( b ); print( ";" ); } break; } case LITERAL_return: { AST __t152 = _t; r = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_return); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( r ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ID: case ASSIGN: case STAR: case LPAREN: 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 INC: case DEC: case LITERAL_sizeof: case CharLiteral: case NCast: case NExpressionGroup: case NInitializer: case NEmptyExpression: case NCommaExpr: case NUnaryExpr: case NPostfixExpr: case NRangeExpr: case NStringSeq: case NLcurlyInitializer: case NGnuAsmExpr: case Number: case LITERAL___alignof: { expr(_t); _t = _retTree; break; } case 3: { break; } default: { throw new NoViableAltException(_t); } } } if ( inputState.guessing==0 ) { print( ";" ); } _t = __t152; _t = _t.getNextSibling(); break; } case NLabel: { AST __t154 = _t; TNode tmp16_AST_in = (TNode)_t; match(_t,NLabel); _t = _t.getFirstChild(); ni = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( ni ); print( ":" ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case SEMI: 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 NStatementExpr: case NCompoundStatement: case NLabel: { statement(_t); _t = _retTree; break; } case 3: { break; } default: { throw new NoViableAltException(_t); } } } _t = __t154; _t = _t.getNextSibling(); break; } case LITERAL_case: { AST __t156 = _t; ca = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_case); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( ca ); } expr(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( ":" ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case SEMI: 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 NStatementExpr: case NCompoundStatement: case NLabel: { statement(_t); _t = _retTree; break; } case 3: { break; } default: { throw new NoViableAltException(_t); } } } _t = __t156; _t = _t.getNextSibling(); break; } case LITERAL_default: { AST __t158 = _t; de = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_default); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( de ); print( ":" ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case SEMI: 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 NStatementExpr: case NCompoundStatement: case NLabel: { statement(_t); _t = _retTree; break; } case 3: { break; } default: { throw new NoViableAltException(_t); } } } _t = __t158; _t = _t.getNextSibling(); break; } case LITERAL_if: { AST __t160 = _t; i = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_if); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( i ); print( "(" ); } expr(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( ")" ); } statement(_t); _t = _retTree; { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL_else: { e = (TNode)_t; match(_t,LITERAL_else); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( e ); } statement(_t); _t = _retTree; break; } case 3: { break; } default: { throw new NoViableAltException(_t); } } } _t = __t160; _t = _t.getNextSibling(); break; } case LITERAL_switch: { AST __t162 = _t; sw = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_switch); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( sw ); print( "(" ); } expr(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( ")" ); } statement(_t); _t = _retTree; _t = __t162; _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void binaryExpr(AST _t) throws RecognitionException { TNode binaryExpr_AST_in = (TNode)_t; TNode b = null; try { // for error handling b = _t==ASTNULL ? null : (TNode)_t; binaryOperator(_t); _t = _retTree; if ( inputState.guessing==0 ) { TNode e1, e2; e1 = (TNode) b.getFirstChild(); e2 = (TNode) e1.getNextSibling(); expr( e1 ); print( b ); expr( e2 ); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void conditionalExpr(AST _t) throws RecognitionException { TNode conditionalExpr_AST_in = (TNode)_t; TNode q = null; TNode c = null; try { // for error handling AST __t188 = _t; q = _t==ASTNULL ? null :(TNode)_t; match(_t,QUESTION); _t = _t.getFirstChild(); expr(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( q ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ID: case ASSIGN: case STAR: case LPAREN: 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 INC: case DEC: case LITERAL_sizeof: case CharLiteral: case NCast: case NExpressionGroup: case NInitializer: case NEmptyExpression: case NCommaExpr: case NUnaryExpr: case NPostfixExpr: case NRangeExpr: case NStringSeq: case NLcurlyInitializer: case NGnuAsmExpr: case Number: case LITERAL___alignof: { expr(_t); _t = _retTree; break; } case COLON: { break; } default: { throw new NoViableAltException(_t); } } } c = (TNode)_t; match(_t,COLON); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c ); } expr(_t); _t = _retTree; _t = __t188; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void castExpr(AST _t) throws RecognitionException { TNode castExpr_AST_in = (TNode)_t; TNode c = null; TNode rp = null; try { // for error handling AST __t191 = _t; c = _t==ASTNULL ? null :(TNode)_t; match(_t,NCast); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( c ); } typeName(_t); _t = _retTree; rp = (TNode)_t; match(_t,RPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rp ); } expr(_t); _t = _retTree; _t = __t191; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void unaryExpr(AST _t) throws RecognitionException { TNode unaryExpr_AST_in = (TNode)_t; TNode i = null; TNode d = null; TNode u = null; TNode s = null; TNode lps = null; TNode rps = null; TNode a = null; TNode lpa = null; TNode rpa = null; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case INC: { AST __t210 = _t; i = _t==ASTNULL ? null :(TNode)_t; match(_t,INC); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( i ); } expr(_t); _t = _retTree; _t = __t210; _t = _t.getNextSibling(); break; } case DEC: { AST __t211 = _t; d = _t==ASTNULL ? null :(TNode)_t; match(_t,DEC); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( d ); } expr(_t); _t = _retTree; _t = __t211; _t = _t.getNextSibling(); break; } case NUnaryExpr: { AST __t212 = _t; TNode tmp17_AST_in = (TNode)_t; match(_t,NUnaryExpr); _t = _t.getFirstChild(); u = _t==ASTNULL ? null : (TNode)_t; unaryOperator(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( u ); } expr(_t); _t = _retTree; _t = __t212; _t = _t.getNextSibling(); break; } case LITERAL_sizeof: { AST __t213 = _t; s = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL_sizeof); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( s ); } { boolean synPredMatched216 = false; if (((_t.getType()==LPAREN))) { AST __t216 = _t; synPredMatched216 = true; inputState.guessing++; try { { TNode tmp18_AST_in = (TNode)_t; match(_t,LPAREN); _t = _t.getNextSibling(); typeName(_t); _t = _retTree; } } catch (RecognitionException pe) { synPredMatched216 = false; } _t = __t216; inputState.guessing--; } if ( synPredMatched216 ) { lps = (TNode)_t; match(_t,LPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lps ); } typeName(_t); _t = _retTree; rps = (TNode)_t; match(_t,RPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rps ); } } else if ((_tokenSet_3.member(_t.getType()))) { expr(_t); _t = _retTree; } else { throw new NoViableAltException(_t); } } _t = __t213; _t = _t.getNextSibling(); break; } case LITERAL___alignof: { AST __t217 = _t; a = _t==ASTNULL ? null :(TNode)_t; match(_t,LITERAL___alignof); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( a ); } { boolean synPredMatched220 = false; if (((_t.getType()==LPAREN))) { AST __t220 = _t; synPredMatched220 = true; inputState.guessing++; try { { TNode tmp19_AST_in = (TNode)_t; match(_t,LPAREN); _t = _t.getNextSibling(); typeName(_t); _t = _retTree; } } catch (RecognitionException pe) { synPredMatched220 = false; } _t = __t220; inputState.guessing--; } if ( synPredMatched220 ) { lpa = (TNode)_t; match(_t,LPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lpa ); } typeName(_t); _t = _retTree; rpa = (TNode)_t; match(_t,RPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rpa ); } } else if ((_tokenSet_3.member(_t.getType()))) { expr(_t); _t = _retTree; } else { throw new NoViableAltException(_t); } } _t = __t217; _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void postfixExpr(AST _t) throws RecognitionException { TNode postfixExpr_AST_in = (TNode)_t; TNode a = null; TNode b = null; TNode c = null; TNode d = null; TNode n = null; TNode rp = null; TNode lb = null; TNode rb = null; TNode f = null; TNode g = null; try { // for error handling AST __t223 = _t; TNode tmp20_AST_in = (TNode)_t; match(_t,NPostfixExpr); _t = _t.getFirstChild(); primaryExpr(_t); _t = _retTree; { int _cnt227=0; _loop227: do { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case PTR: { a = (TNode)_t; match(_t,PTR); _t = _t.getNextSibling(); b = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( a ); print( b ); } break; } case DOT: { c = (TNode)_t; match(_t,DOT); _t = _t.getNextSibling(); d = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c ); print( d ); } break; } case NFunctionCallArgs: { AST __t225 = _t; n = _t==ASTNULL ? null :(TNode)_t; match(_t,NFunctionCallArgs); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( n ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ID: case ASSIGN: case STAR: case LPAREN: 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 INC: case DEC: case LITERAL_sizeof: case CharLiteral: case NCast: case NExpressionGroup: case NInitializer: case NEmptyExpression: case NCommaExpr: case NUnaryExpr: case NPostfixExpr: case NRangeExpr: case NStringSeq: case NLcurlyInitializer: case NGnuAsmExpr: case Number: case LITERAL___alignof: { argExprList(_t); _t = _retTree; break; } case RPAREN: { break; } default: { throw new NoViableAltException(_t); } } } rp = (TNode)_t; match(_t,RPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rp ); } _t = __t225; _t = _t.getNextSibling(); break; } case LBRACKET: { lb = (TNode)_t; match(_t,LBRACKET); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lb ); } expr(_t); _t = _retTree; rb = (TNode)_t; match(_t,RBRACKET); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rb ); } break; } case INC: { f = (TNode)_t; match(_t,INC); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( f ); } break; } case DEC: { g = (TNode)_t; match(_t,DEC); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( g ); } break; } default: { if ( _cnt227>=1 ) { break _loop227; } else {throw new NoViableAltException(_t);} } } _cnt227++; } while (true); } _t = __t223; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void primaryExpr(AST _t) throws RecognitionException { TNode primaryExpr_AST_in = (TNode)_t; TNode i = null; TNode n = null; TNode eg = null; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ID: { i = (TNode)_t; match(_t,ID); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( i ); } break; } case Number: { n = (TNode)_t; match(_t,Number); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( n ); } break; } case CharLiteral: { charConst(_t); _t = _retTree; break; } case NStringSeq: { stringConst(_t); _t = _retTree; break; } case NExpressionGroup: { AST __t229 = _t; eg = _t==ASTNULL ? null :(TNode)_t; match(_t,NExpressionGroup); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( eg ); } expr(_t); _t = _retTree; if ( inputState.guessing==0 ) { print( ")" ); } _t = __t229; _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void emptyExpr(AST _t) throws RecognitionException { TNode emptyExpr_AST_in = (TNode)_t; try { // for error handling TNode tmp21_AST_in = (TNode)_t; match(_t,NEmptyExpression); _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void compoundStatementExpr(AST _t) throws RecognitionException { TNode compoundStatementExpr_AST_in = (TNode)_t; TNode l = null; TNode r = null; try { // for error handling AST __t166 = _t; l = _t==ASTNULL ? null :(TNode)_t; match(_t,LPAREN); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( l ); } compoundStatement(_t); _t = _retTree; r = (TNode)_t; match(_t,RPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( r ); } _t = __t166; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void rangeExpr(AST _t) throws RecognitionException { TNode rangeExpr_AST_in = (TNode)_t; TNode v = null; try { // for error handling AST __t168 = _t; TNode tmp22_AST_in = (TNode)_t; match(_t,NRangeExpr); _t = _t.getFirstChild(); expr(_t); _t = _retTree; v = (TNode)_t; match(_t,VARARGS); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( v ); } expr(_t); _t = _retTree; _t = __t168; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void gnuAsmExpr(AST _t) throws RecognitionException { TNode gnuAsmExpr_AST_in = (TNode)_t; TNode n = null; TNode v = null; TNode lp = null; TNode c1 = null; TNode c2 = null; TNode c3 = null; TNode c4 = null; TNode c5 = null; TNode c6 = null; TNode rp = null; try { // for error handling AST __t170 = _t; n = _t==ASTNULL ? null :(TNode)_t; match(_t,NGnuAsmExpr); _t = _t.getFirstChild(); if ( inputState.guessing==0 ) { print( n ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LITERAL_volatile: { v = (TNode)_t; match(_t,LITERAL_volatile); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( v ); } break; } case LPAREN: { break; } default: { throw new NoViableAltException(_t); } } } lp = (TNode)_t; match(_t,LPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( lp ); } stringConst(_t); _t = _retTree; { if (_t==null) _t=ASTNULL; if ((_t.getType()==COLON)) { c1 = (TNode)_t; match(_t,COLON); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c1 ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NStringSeq: { strOptExprPair(_t); _t = _retTree; { _loop175: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==COMMA)) { c2 = (TNode)_t; match(_t,COMMA); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c2 ); } strOptExprPair(_t); _t = _retTree; } else { break _loop175; } } while (true); } break; } case COLON: case RPAREN: { break; } default: { throw new NoViableAltException(_t); } } } { if (_t==null) _t=ASTNULL; if ((_t.getType()==COLON)) { c3 = (TNode)_t; match(_t,COLON); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c3 ); } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case NStringSeq: { strOptExprPair(_t); _t = _retTree; { _loop179: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==COMMA)) { c4 = (TNode)_t; match(_t,COMMA); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c4 ); } strOptExprPair(_t); _t = _retTree; } else { break _loop179; } } while (true); } break; } case COLON: case RPAREN: { break; } default: { throw new NoViableAltException(_t); } } } } else if ((_t.getType()==COLON||_t.getType()==RPAREN)) { } else { throw new NoViableAltException(_t); } } } else if ((_t.getType()==COLON||_t.getType()==RPAREN)) { } else { throw new NoViableAltException(_t); } } { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case COLON: { c5 = (TNode)_t; match(_t,COLON); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c5 ); } stringConst(_t); _t = _retTree; { _loop182: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==COMMA)) { c6 = (TNode)_t; match(_t,COMMA); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c6 ); } stringConst(_t); _t = _retTree; } else { break _loop182; } } while (true); } break; } case RPAREN: { break; } default: { throw new NoViableAltException(_t); } } } rp = (TNode)_t; match(_t,RPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( rp ); } _t = __t170; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } protected final void stringConst(AST _t) throws RecognitionException { TNode stringConst_AST_in = (TNode)_t; TNode s = null; try { // for error handling AST __t235 = _t; TNode tmp23_AST_in = (TNode)_t; match(_t,NStringSeq); _t = _t.getFirstChild(); { int _cnt237=0; _loop237: do { if (_t==null) _t=ASTNULL; if ((_t.getType()==StringLiteral)) { s = (TNode)_t; match(_t,StringLiteral); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( s ); } } else { if ( _cnt237>=1 ) { break _loop237; } else {throw new NoViableAltException(_t);} } _cnt237++; } while (true); } _t = __t235; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void strOptExprPair(AST _t) throws RecognitionException { TNode strOptExprPair_AST_in = (TNode)_t; TNode l = null; TNode r = null; try { // for error handling stringConst(_t); _t = _retTree; { if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LPAREN: { l = (TNode)_t; match(_t,LPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( l ); } expr(_t); _t = _retTree; r = (TNode)_t; match(_t,RPAREN); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( r ); } break; } case COMMA: case COLON: case RPAREN: { break; } default: { throw new NoViableAltException(_t); } } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void binaryOperator(AST _t) throws RecognitionException { TNode binaryOperator_AST_in = (TNode)_t; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ASSIGN: { TNode tmp24_AST_in = (TNode)_t; match(_t,ASSIGN); _t = _t.getNextSibling(); break; } case DIV_ASSIGN: { TNode tmp25_AST_in = (TNode)_t; match(_t,DIV_ASSIGN); _t = _t.getNextSibling(); break; } case PLUS_ASSIGN: { TNode tmp26_AST_in = (TNode)_t; match(_t,PLUS_ASSIGN); _t = _t.getNextSibling(); break; } case MINUS_ASSIGN: { TNode tmp27_AST_in = (TNode)_t; match(_t,MINUS_ASSIGN); _t = _t.getNextSibling(); break; } case STAR_ASSIGN: { TNode tmp28_AST_in = (TNode)_t; match(_t,STAR_ASSIGN); _t = _t.getNextSibling(); break; } case MOD_ASSIGN: { TNode tmp29_AST_in = (TNode)_t; match(_t,MOD_ASSIGN); _t = _t.getNextSibling(); break; } case RSHIFT_ASSIGN: { TNode tmp30_AST_in = (TNode)_t; match(_t,RSHIFT_ASSIGN); _t = _t.getNextSibling(); break; } case LSHIFT_ASSIGN: { TNode tmp31_AST_in = (TNode)_t; match(_t,LSHIFT_ASSIGN); _t = _t.getNextSibling(); break; } case BAND_ASSIGN: { TNode tmp32_AST_in = (TNode)_t; match(_t,BAND_ASSIGN); _t = _t.getNextSibling(); break; } case BOR_ASSIGN: { TNode tmp33_AST_in = (TNode)_t; match(_t,BOR_ASSIGN); _t = _t.getNextSibling(); break; } case BXOR_ASSIGN: { TNode tmp34_AST_in = (TNode)_t; match(_t,BXOR_ASSIGN); _t = _t.getNextSibling(); break; } case LOR: { TNode tmp35_AST_in = (TNode)_t; match(_t,LOR); _t = _t.getNextSibling(); break; } case LAND: { TNode tmp36_AST_in = (TNode)_t; match(_t,LAND); _t = _t.getNextSibling(); break; } case BOR: { TNode tmp37_AST_in = (TNode)_t; match(_t,BOR); _t = _t.getNextSibling(); break; } case BXOR: { TNode tmp38_AST_in = (TNode)_t; match(_t,BXOR); _t = _t.getNextSibling(); break; } case BAND: { TNode tmp39_AST_in = (TNode)_t; match(_t,BAND); _t = _t.getNextSibling(); break; } case EQUAL: { TNode tmp40_AST_in = (TNode)_t; match(_t,EQUAL); _t = _t.getNextSibling(); break; } case NOT_EQUAL: { TNode tmp41_AST_in = (TNode)_t; match(_t,NOT_EQUAL); _t = _t.getNextSibling(); break; } case LT: { TNode tmp42_AST_in = (TNode)_t; match(_t,LT); _t = _t.getNextSibling(); break; } case LTE: { TNode tmp43_AST_in = (TNode)_t; match(_t,LTE); _t = _t.getNextSibling(); break; } case GT: { TNode tmp44_AST_in = (TNode)_t; match(_t,GT); _t = _t.getNextSibling(); break; } case GTE: { TNode tmp45_AST_in = (TNode)_t; match(_t,GTE); _t = _t.getNextSibling(); break; } case LSHIFT: { TNode tmp46_AST_in = (TNode)_t; match(_t,LSHIFT); _t = _t.getNextSibling(); break; } case RSHIFT: { TNode tmp47_AST_in = (TNode)_t; match(_t,RSHIFT); _t = _t.getNextSibling(); break; } case PLUS: { TNode tmp48_AST_in = (TNode)_t; match(_t,PLUS); _t = _t.getNextSibling(); break; } case MINUS: { TNode tmp49_AST_in = (TNode)_t; match(_t,MINUS); _t = _t.getNextSibling(); break; } case STAR: { TNode tmp50_AST_in = (TNode)_t; match(_t,STAR); _t = _t.getNextSibling(); break; } case DIV: { TNode tmp51_AST_in = (TNode)_t; match(_t,DIV); _t = _t.getNextSibling(); break; } case MOD: { TNode tmp52_AST_in = (TNode)_t; match(_t,MOD); _t = _t.getNextSibling(); break; } case NCommaExpr: { TNode tmp53_AST_in = (TNode)_t; match(_t,NCommaExpr); _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void unaryOperator(AST _t) throws RecognitionException { TNode unaryOperator_AST_in = (TNode)_t; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case BAND: { TNode tmp54_AST_in = (TNode)_t; match(_t,BAND); _t = _t.getNextSibling(); break; } case STAR: { TNode tmp55_AST_in = (TNode)_t; match(_t,STAR); _t = _t.getNextSibling(); break; } case PLUS: { TNode tmp56_AST_in = (TNode)_t; match(_t,PLUS); _t = _t.getNextSibling(); break; } case MINUS: { TNode tmp57_AST_in = (TNode)_t; match(_t,MINUS); _t = _t.getNextSibling(); break; } case BNOT: { TNode tmp58_AST_in = (TNode)_t; match(_t,BNOT); _t = _t.getNextSibling(); break; } case LNOT: { TNode tmp59_AST_in = (TNode)_t; match(_t,LNOT); _t = _t.getNextSibling(); break; } case LAND: { TNode tmp60_AST_in = (TNode)_t; match(_t,LAND); _t = _t.getNextSibling(); break; } case LITERAL___real: { TNode tmp61_AST_in = (TNode)_t; match(_t,LITERAL___real); _t = _t.getNextSibling(); break; } case LITERAL___imag: { TNode tmp62_AST_in = (TNode)_t; match(_t,LITERAL___imag); _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void argExprList(AST _t) throws RecognitionException { TNode argExprList_AST_in = (TNode)_t; try { // for error handling expr(_t); _t = _retTree; { _loop232: do { if (_t==null) _t=ASTNULL; if ((_tokenSet_3.member(_t.getType()))) { if ( inputState.guessing==0 ) { print( "," ); } expr(_t); _t = _retTree; } else { break _loop232; } } while (true); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } protected final void charConst(AST _t) throws RecognitionException { TNode charConst_AST_in = (TNode)_t; TNode c = null; try { // for error handling c = (TNode)_t; match(_t,CharLiteral); _t = _t.getNextSibling(); if ( inputState.guessing==0 ) { print( c ); } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } protected final void intConst(AST _t) throws RecognitionException { TNode intConst_AST_in = (TNode)_t; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case IntOctalConst: { TNode tmp63_AST_in = (TNode)_t; match(_t,IntOctalConst); _t = _t.getNextSibling(); break; } case LongOctalConst: { TNode tmp64_AST_in = (TNode)_t; match(_t,LongOctalConst); _t = _t.getNextSibling(); break; } case UnsignedOctalConst: { TNode tmp65_AST_in = (TNode)_t; match(_t,UnsignedOctalConst); _t = _t.getNextSibling(); break; } case IntIntConst: { TNode tmp66_AST_in = (TNode)_t; match(_t,IntIntConst); _t = _t.getNextSibling(); break; } case LongIntConst: { TNode tmp67_AST_in = (TNode)_t; match(_t,LongIntConst); _t = _t.getNextSibling(); break; } case UnsignedIntConst: { TNode tmp68_AST_in = (TNode)_t; match(_t,UnsignedIntConst); _t = _t.getNextSibling(); break; } case IntHexConst: { TNode tmp69_AST_in = (TNode)_t; match(_t,IntHexConst); _t = _t.getNextSibling(); break; } case LongHexConst: { TNode tmp70_AST_in = (TNode)_t; match(_t,LongHexConst); _t = _t.getNextSibling(); break; } case UnsignedHexConst: { TNode tmp71_AST_in = (TNode)_t; match(_t,UnsignedHexConst); _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } protected final void floatConst(AST _t) throws RecognitionException { TNode floatConst_AST_in = (TNode)_t; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case FloatDoubleConst: { TNode tmp72_AST_in = (TNode)_t; match(_t,FloatDoubleConst); _t = _t.getNextSibling(); break; } case DoubleDoubleConst: { TNode tmp73_AST_in = (TNode)_t; match(_t,DoubleDoubleConst); _t = _t.getNextSibling(); break; } case LongDoubleConst: { TNode tmp74_AST_in = (TNode)_t; match(_t,LongDoubleConst); _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void commaExpr(AST _t) throws RecognitionException { TNode commaExpr_AST_in = (TNode)_t; try { // for error handling AST __t241 = _t; TNode tmp75_AST_in = (TNode)_t; match(_t,NCommaExpr); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t241; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void assignExpr(AST _t) throws RecognitionException { TNode assignExpr_AST_in = (TNode)_t; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case ASSIGN: { AST __t243 = _t; TNode tmp76_AST_in = (TNode)_t; match(_t,ASSIGN); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t243; _t = _t.getNextSibling(); break; } case DIV_ASSIGN: { AST __t244 = _t; TNode tmp77_AST_in = (TNode)_t; match(_t,DIV_ASSIGN); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t244; _t = _t.getNextSibling(); break; } case PLUS_ASSIGN: { AST __t245 = _t; TNode tmp78_AST_in = (TNode)_t; match(_t,PLUS_ASSIGN); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t245; _t = _t.getNextSibling(); break; } case MINUS_ASSIGN: { AST __t246 = _t; TNode tmp79_AST_in = (TNode)_t; match(_t,MINUS_ASSIGN); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t246; _t = _t.getNextSibling(); break; } case STAR_ASSIGN: { AST __t247 = _t; TNode tmp80_AST_in = (TNode)_t; match(_t,STAR_ASSIGN); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t247; _t = _t.getNextSibling(); break; } case MOD_ASSIGN: { AST __t248 = _t; TNode tmp81_AST_in = (TNode)_t; match(_t,MOD_ASSIGN); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t248; _t = _t.getNextSibling(); break; } case RSHIFT_ASSIGN: { AST __t249 = _t; TNode tmp82_AST_in = (TNode)_t; match(_t,RSHIFT_ASSIGN); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t249; _t = _t.getNextSibling(); break; } case LSHIFT_ASSIGN: { AST __t250 = _t; TNode tmp83_AST_in = (TNode)_t; match(_t,LSHIFT_ASSIGN); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t250; _t = _t.getNextSibling(); break; } case BAND_ASSIGN: { AST __t251 = _t; TNode tmp84_AST_in = (TNode)_t; match(_t,BAND_ASSIGN); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t251; _t = _t.getNextSibling(); break; } case BOR_ASSIGN: { AST __t252 = _t; TNode tmp85_AST_in = (TNode)_t; match(_t,BOR_ASSIGN); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t252; _t = _t.getNextSibling(); break; } case BXOR_ASSIGN: { AST __t253 = _t; TNode tmp86_AST_in = (TNode)_t; match(_t,BXOR_ASSIGN); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t253; _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void logicalOrExpr(AST _t) throws RecognitionException { TNode logicalOrExpr_AST_in = (TNode)_t; try { // for error handling AST __t255 = _t; TNode tmp87_AST_in = (TNode)_t; match(_t,LOR); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t255; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void logicalAndExpr(AST _t) throws RecognitionException { TNode logicalAndExpr_AST_in = (TNode)_t; try { // for error handling AST __t257 = _t; TNode tmp88_AST_in = (TNode)_t; match(_t,LAND); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t257; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void inclusiveOrExpr(AST _t) throws RecognitionException { TNode inclusiveOrExpr_AST_in = (TNode)_t; try { // for error handling AST __t259 = _t; TNode tmp89_AST_in = (TNode)_t; match(_t,BOR); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t259; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void exclusiveOrExpr(AST _t) throws RecognitionException { TNode exclusiveOrExpr_AST_in = (TNode)_t; try { // for error handling AST __t261 = _t; TNode tmp90_AST_in = (TNode)_t; match(_t,BXOR); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t261; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void bitAndExpr(AST _t) throws RecognitionException { TNode bitAndExpr_AST_in = (TNode)_t; try { // for error handling AST __t263 = _t; TNode tmp91_AST_in = (TNode)_t; match(_t,BAND); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t263; _t = _t.getNextSibling(); } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void equalityExpr(AST _t) throws RecognitionException { TNode equalityExpr_AST_in = (TNode)_t; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case EQUAL: { AST __t265 = _t; TNode tmp92_AST_in = (TNode)_t; match(_t,EQUAL); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t265; _t = _t.getNextSibling(); break; } case NOT_EQUAL: { AST __t266 = _t; TNode tmp93_AST_in = (TNode)_t; match(_t,NOT_EQUAL); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t266; _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void relationalExpr(AST _t) throws RecognitionException { TNode relationalExpr_AST_in = (TNode)_t; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LT: { AST __t268 = _t; TNode tmp94_AST_in = (TNode)_t; match(_t,LT); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t268; _t = _t.getNextSibling(); break; } case LTE: { AST __t269 = _t; TNode tmp95_AST_in = (TNode)_t; match(_t,LTE); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t269; _t = _t.getNextSibling(); break; } case GT: { AST __t270 = _t; TNode tmp96_AST_in = (TNode)_t; match(_t,GT); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t270; _t = _t.getNextSibling(); break; } case GTE: { AST __t271 = _t; TNode tmp97_AST_in = (TNode)_t; match(_t,GTE); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t271; _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void shiftExpr(AST _t) throws RecognitionException { TNode shiftExpr_AST_in = (TNode)_t; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case LSHIFT: { AST __t273 = _t; TNode tmp98_AST_in = (TNode)_t; match(_t,LSHIFT); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t273; _t = _t.getNextSibling(); break; } case RSHIFT: { AST __t274 = _t; TNode tmp99_AST_in = (TNode)_t; match(_t,RSHIFT); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t274; _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void additiveExpr(AST _t) throws RecognitionException { TNode additiveExpr_AST_in = (TNode)_t; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case PLUS: { AST __t276 = _t; TNode tmp100_AST_in = (TNode)_t; match(_t,PLUS); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t276; _t = _t.getNextSibling(); break; } case MINUS: { AST __t277 = _t; TNode tmp101_AST_in = (TNode)_t; match(_t,MINUS); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t277; _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } public final void multExpr(AST _t) throws RecognitionException { TNode multExpr_AST_in = (TNode)_t; try { // for error handling if (_t==null) _t=ASTNULL; switch ( _t.getType()) { case STAR: { AST __t279 = _t; TNode tmp102_AST_in = (TNode)_t; match(_t,STAR); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t279; _t = _t.getNextSibling(); break; } case DIV: { AST __t280 = _t; TNode tmp103_AST_in = (TNode)_t; match(_t,DIV); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t280; _t = _t.getNextSibling(); break; } case MOD: { AST __t281 = _t; TNode tmp104_AST_in = (TNode)_t; match(_t,MOD); _t = _t.getFirstChild(); expr(_t); _t = _retTree; expr(_t); _t = _retTree; _t = __t281; _t = _t.getNextSibling(); break; } default: { throw new NoViableAltException(_t); } } } catch (RecognitionException ex) { if (inputState.guessing==0) { reportError(ex); if (_t!=null) {_t = _t.getNextSibling();} } else { throw ex; } } _retTree = _t; } 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\"", "\"typeof\"", "\"__complex\"", "\"__attribute\"", "\"__alignof\"", "\"__real\"", "\"__imag\"" }; private static final long[] mk_tokenSet_0() { long[] data = { 544L, 2306124759068311552L, 0L, 0L}; return data; } public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0()); private static final long[] mk_tokenSet_1() { long[] data = { 134093888L, 17179869184L, 491520L, 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 = { 422075026113024L, 9605333580251136L, 0L, 0L}; return data; } public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2()); private static final long[] mk_tokenSet_3() { long[] data = { -562942303010816L, 1574098779476393983L, 1052672L, 0L, 0L, 0L}; return data; } public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3()); }