/* This file was generated by SableCC (http://www.sablecc.org/). */ package org.openflexo.antar.expr.parser.parser; import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.ListIterator; import org.openflexo.antar.expr.parser.analysis.Analysis; import org.openflexo.antar.expr.parser.analysis.AnalysisAdapter; import org.openflexo.antar.expr.parser.lexer.Lexer; import org.openflexo.antar.expr.parser.lexer.LexerException; import org.openflexo.antar.expr.parser.node.*; @SuppressWarnings("nls") public class Parser { public final Analysis ignoredTokens = new AnalysisAdapter(); protected ArrayList nodeList; private final Lexer lexer; private final ListIterator stack = new LinkedList().listIterator(); private int last_pos; private int last_line; private Token last_token; private final TokenIndex converter = new TokenIndex(); private final int[] action = new int[2]; private final static int SHIFT = 0; private final static int REDUCE = 1; private final static int ACCEPT = 2; private final static int ERROR = 3; public Parser(@SuppressWarnings("hiding") Lexer lexer) { this.lexer = lexer; } protected void filter() throws ParserException, LexerException, IOException { // Empty body } private void push(int numstate, ArrayList listNode, boolean hidden) throws ParserException, LexerException, IOException { this.nodeList = listNode; if (!hidden) { filter(); } if (!this.stack.hasNext()) { this.stack.add(new State(numstate, this.nodeList)); return; } State s = (State) this.stack.next(); s.state = numstate; s.nodes = this.nodeList; } private int goTo(int index) { int state = state(); int low = 1; int high = gotoTable[index].length - 1; int value = gotoTable[index][0][1]; while (low <= high) { int middle = (low + high) / 2; if (state < gotoTable[index][middle][0]) { high = middle - 1; } else if (state > gotoTable[index][middle][0]) { low = middle + 1; } else { value = gotoTable[index][middle][1]; break; } } return value; } private int state() { State s = (State) this.stack.previous(); this.stack.next(); return s.state; } private ArrayList pop() { return ((State) this.stack.previous()).nodes; } private int index(Switchable token) { this.converter.index = -1; token.apply(this.converter); return this.converter.index; } @SuppressWarnings("unchecked") public Start parse() throws ParserException, LexerException, IOException { push(0, null, true); List<Node> ign = null; while (true) { while (index(this.lexer.peek()) == -1) { if (ign == null) { ign = new LinkedList<Node>(); } ign.add(this.lexer.next()); } if (ign != null) { this.ignoredTokens.setIn(this.lexer.peek(), ign); ign = null; } this.last_pos = this.lexer.peek().getPos(); this.last_line = this.lexer.peek().getLine(); this.last_token = this.lexer.peek(); int index = index(this.lexer.peek()); this.action[0] = Parser.actionTable[state()][0][1]; this.action[1] = Parser.actionTable[state()][0][2]; int low = 1; int high = Parser.actionTable[state()].length - 1; while (low <= high) { int middle = (low + high) / 2; if (index < Parser.actionTable[state()][middle][0]) { high = middle - 1; } else if (index > Parser.actionTable[state()][middle][0]) { low = middle + 1; } else { this.action[0] = Parser.actionTable[state()][middle][1]; this.action[1] = Parser.actionTable[state()][middle][2]; break; } } switch (this.action[0]) { case SHIFT: { ArrayList list = new ArrayList(); list.add(this.lexer.next()); push(this.action[1], list, false); } break; case REDUCE: switch (this.action[1]) { case 0: /* reduce AExpr2Expr */ { ArrayList list = new0(); push(goTo(0), list, false); } break; case 1: /* reduce ACondExprExpr */ { ArrayList list = new1(); push(goTo(0), list, false); } break; case 2: /* reduce AEqExprExpr */ { ArrayList list = new2(); push(goTo(0), list, false); } break; case 3: /* reduce AEq2ExprExpr */ { ArrayList list = new3(); push(goTo(0), list, false); } break; case 4: /* reduce ANeqExprExpr */ { ArrayList list = new4(); push(goTo(0), list, false); } break; case 5: /* reduce ALtExprExpr */ { ArrayList list = new5(); push(goTo(0), list, false); } break; case 6: /* reduce AGtExprExpr */ { ArrayList list = new6(); push(goTo(0), list, false); } break; case 7: /* reduce ALteExprExpr */ { ArrayList list = new7(); push(goTo(0), list, false); } break; case 8: /* reduce AGteExprExpr */ { ArrayList list = new8(); push(goTo(0), list, false); } break; case 9: /* reduce AExpr3Expr2 */ { ArrayList list = new9(); push(goTo(1), list, false); } break; case 10: /* reduce AOrExprExpr2 */ { ArrayList list = new10(); push(goTo(1), list, false); } break; case 11: /* reduce AOr2ExprExpr2 */ { ArrayList list = new11(); push(goTo(1), list, false); } break; case 12: /* reduce AAddExprExpr2 */ { ArrayList list = new12(); push(goTo(1), list, false); } break; case 13: /* reduce ASubExprExpr2 */ { ArrayList list = new13(); push(goTo(1), list, false); } break; case 14: /* reduce ATermExpr3 */ { ArrayList list = new14(); push(goTo(2), list, false); } break; case 15: /* reduce AAndExprExpr3 */ { ArrayList list = new15(); push(goTo(2), list, false); } break; case 16: /* reduce AAnd2ExprExpr3 */ { ArrayList list = new16(); push(goTo(2), list, false); } break; case 17: /* reduce AMultExprExpr3 */ { ArrayList list = new17(); push(goTo(2), list, false); } break; case 18: /* reduce ADivExprExpr3 */ { ArrayList list = new18(); push(goTo(2), list, false); } break; case 19: /* reduce AModExprExpr3 */ { ArrayList list = new19(); push(goTo(2), list, false); } break; case 20: /* reduce APowerExprExpr3 */ { ArrayList list = new20(); push(goTo(2), list, false); } break; case 21: /* reduce ANotExprExpr3 */ { ArrayList list = new21(); push(goTo(2), list, false); } break; case 22: /* reduce ACall */ { ArrayList list = new22(); push(goTo(3), list, false); } break; case 23: /* reduce AEmptyListArgList */ { ArrayList list = new23(); push(goTo(4), list, false); } break; case 24: /* reduce AAnonemptylistarglist1ArgList */ { ArrayList list = new24(); push(goTo(4), list, false); } break; case 25: /* reduce AAnonemptylistarglist2ArgList */ { ArrayList list = new25(); push(goTo(4), list, false); } break; case 26: /* reduce AAdditionalArg */ { ArrayList list = new26(); push(goTo(5), list, false); } break; case 27: /* reduce AIdentifierBinding */ { ArrayList list = new27(); push(goTo(6), list, false); } break; case 28: /* reduce ACallBinding */ { ArrayList list = new28(); push(goTo(6), list, false); } break; case 29: /* reduce ATail1Binding */ { ArrayList list = new29(); push(goTo(6), list, false); } break; case 30: /* reduce ATail2Binding */ { ArrayList list = new30(); push(goTo(6), list, false); } break; case 31: /* reduce ACosFuncFunction */ { ArrayList list = new31(); push(goTo(7), list, false); } break; case 32: /* reduce AAcosFuncFunction */ { ArrayList list = new32(); push(goTo(7), list, false); } break; case 33: /* reduce ASinFuncFunction */ { ArrayList list = new33(); push(goTo(7), list, false); } break; case 34: /* reduce AAsinFuncFunction */ { ArrayList list = new34(); push(goTo(7), list, false); } break; case 35: /* reduce ATanFuncFunction */ { ArrayList list = new35(); push(goTo(7), list, false); } break; case 36: /* reduce AAtanFuncFunction */ { ArrayList list = new36(); push(goTo(7), list, false); } break; case 37: /* reduce AExpFuncFunction */ { ArrayList list = new37(); push(goTo(7), list, false); } break; case 38: /* reduce ALogFuncFunction */ { ArrayList list = new38(); push(goTo(7), list, false); } break; case 39: /* reduce ASqrtFuncFunction */ { ArrayList list = new39(); push(goTo(7), list, false); } break; case 40: /* reduce ATrueConstant */ { ArrayList list = new40(); push(goTo(8), list, false); } break; case 41: /* reduce AFalseConstant */ { ArrayList list = new41(); push(goTo(8), list, false); } break; case 42: /* reduce ANullConstant */ { ArrayList list = new42(); push(goTo(8), list, false); } break; case 43: /* reduce APiConstant */ { ArrayList list = new43(); push(goTo(8), list, false); } break; case 44: /* reduce ADecimalNumberNumber */ { ArrayList list = new44(); push(goTo(9), list, false); } break; case 45: /* reduce APreciseNumberNumber */ { ArrayList list = new45(); push(goTo(9), list, false); } break; case 46: /* reduce AScientificNotationNumberNumber */ { ArrayList list = new46(); push(goTo(9), list, false); } break; case 47: /* reduce AConstantNumber */ { ArrayList list = new47(); push(goTo(9), list, false); } break; case 48: /* reduce ANegativeTerm */ { ArrayList list = new48(); push(goTo(10), list, false); } break; case 49: /* reduce ANumberTerm */ { ArrayList list = new49(); push(goTo(10), list, false); } break; case 50: /* reduce AStringValueTerm */ { ArrayList list = new50(); push(goTo(10), list, false); } break; case 51: /* reduce ACharsValueTerm */ { ArrayList list = new51(); push(goTo(10), list, false); } break; case 52: /* reduce AFunctionTerm */ { ArrayList list = new52(); push(goTo(10), list, false); } break; case 53: /* reduce ABindingTerm */ { ArrayList list = new53(); push(goTo(10), list, false); } break; case 54: /* reduce AExprTerm */ { ArrayList list = new54(); push(goTo(10), list, false); } break; case 55: /* reduce ATerminal$AdditionalArg */ { ArrayList list = new55(); push(goTo(11), list, true); } break; case 56: /* reduce ANonTerminal$AdditionalArg */ { ArrayList list = new56(); push(goTo(11), list, true); } break; } break; case ACCEPT: { EOF node2 = (EOF) this.lexer.next(); PExpr node1 = (PExpr) pop().get(0); Start node = new Start(node1, node2); return node; } case ERROR: throw new ParserException(this.last_token, "[" + this.last_line + "," + this.last_pos + "] " + Parser.errorMessages[Parser.errors[this.action[1]]]); } } } @SuppressWarnings("unchecked") ArrayList new0() /* reduce AExpr2Expr */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr pexprNode1; { // Block PExpr2 pexpr2Node2; pexpr2Node2 = (PExpr2) nodeArrayList1.get(0); pexprNode1 = new AExpr2Expr(pexpr2Node2); } nodeList.add(pexprNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new1() /* reduce ACondExprExpr */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList5 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr pexprNode1; { // Block PExpr pexprNode2; TIfToken tiftokenNode3; PExpr2 pexpr2Node4; TElseToken telsetokenNode5; PExpr2 pexpr2Node6; pexprNode2 = (PExpr) nodeArrayList1.get(0); tiftokenNode3 = (TIfToken) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); telsetokenNode5 = (TElseToken) nodeArrayList4.get(0); pexpr2Node6 = (PExpr2) nodeArrayList5.get(0); pexprNode1 = new ACondExprExpr(pexprNode2, tiftokenNode3, pexpr2Node4, telsetokenNode5, pexpr2Node6); } nodeList.add(pexprNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new2() /* reduce AEqExprExpr */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr pexprNode1; { // Block PExpr pexprNode2; TEq teqNode3; PExpr2 pexpr2Node4; pexprNode2 = (PExpr) nodeArrayList1.get(0); teqNode3 = (TEq) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); pexprNode1 = new AEqExprExpr(pexprNode2, teqNode3, pexpr2Node4); } nodeList.add(pexprNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new3() /* reduce AEq2ExprExpr */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr pexprNode1; { // Block PExpr pexprNode2; TEq2 teq2Node3; PExpr2 pexpr2Node4; pexprNode2 = (PExpr) nodeArrayList1.get(0); teq2Node3 = (TEq2) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); pexprNode1 = new AEq2ExprExpr(pexprNode2, teq2Node3, pexpr2Node4); } nodeList.add(pexprNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new4() /* reduce ANeqExprExpr */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr pexprNode1; { // Block PExpr pexprNode2; TNeq tneqNode3; PExpr2 pexpr2Node4; pexprNode2 = (PExpr) nodeArrayList1.get(0); tneqNode3 = (TNeq) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); pexprNode1 = new ANeqExprExpr(pexprNode2, tneqNode3, pexpr2Node4); } nodeList.add(pexprNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new5() /* reduce ALtExprExpr */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr pexprNode1; { // Block PExpr pexprNode2; TLt tltNode3; PExpr2 pexpr2Node4; pexprNode2 = (PExpr) nodeArrayList1.get(0); tltNode3 = (TLt) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); pexprNode1 = new ALtExprExpr(pexprNode2, tltNode3, pexpr2Node4); } nodeList.add(pexprNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new6() /* reduce AGtExprExpr */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr pexprNode1; { // Block PExpr pexprNode2; TGt tgtNode3; PExpr2 pexpr2Node4; pexprNode2 = (PExpr) nodeArrayList1.get(0); tgtNode3 = (TGt) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); pexprNode1 = new AGtExprExpr(pexprNode2, tgtNode3, pexpr2Node4); } nodeList.add(pexprNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new7() /* reduce ALteExprExpr */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr pexprNode1; { // Block PExpr pexprNode2; TLte tlteNode3; PExpr2 pexpr2Node4; pexprNode2 = (PExpr) nodeArrayList1.get(0); tlteNode3 = (TLte) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); pexprNode1 = new ALteExprExpr(pexprNode2, tlteNode3, pexpr2Node4); } nodeList.add(pexprNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new8() /* reduce AGteExprExpr */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr pexprNode1; { // Block PExpr pexprNode2; TGte tgteNode3; PExpr2 pexpr2Node4; pexprNode2 = (PExpr) nodeArrayList1.get(0); tgteNode3 = (TGte) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); pexprNode1 = new AGteExprExpr(pexprNode2, tgteNode3, pexpr2Node4); } nodeList.add(pexprNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new9() /* reduce AExpr3Expr2 */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr2 pexpr2Node1; { // Block PExpr3 pexpr3Node2; pexpr3Node2 = (PExpr3) nodeArrayList1.get(0); pexpr2Node1 = new AExpr3Expr2(pexpr3Node2); } nodeList.add(pexpr2Node1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new10() /* reduce AOrExprExpr2 */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr2 pexpr2Node1; { // Block PExpr2 pexpr2Node2; TOr torNode3; PExpr3 pexpr3Node4; pexpr2Node2 = (PExpr2) nodeArrayList1.get(0); torNode3 = (TOr) nodeArrayList2.get(0); pexpr3Node4 = (PExpr3) nodeArrayList3.get(0); pexpr2Node1 = new AOrExprExpr2(pexpr2Node2, torNode3, pexpr3Node4); } nodeList.add(pexpr2Node1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new11() /* reduce AOr2ExprExpr2 */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr2 pexpr2Node1; { // Block PExpr2 pexpr2Node2; TOr2 tor2Node3; PExpr3 pexpr3Node4; pexpr2Node2 = (PExpr2) nodeArrayList1.get(0); tor2Node3 = (TOr2) nodeArrayList2.get(0); pexpr3Node4 = (PExpr3) nodeArrayList3.get(0); pexpr2Node1 = new AOr2ExprExpr2(pexpr2Node2, tor2Node3, pexpr3Node4); } nodeList.add(pexpr2Node1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new12() /* reduce AAddExprExpr2 */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr2 pexpr2Node1; { // Block PExpr2 pexpr2Node2; TPlus tplusNode3; PExpr3 pexpr3Node4; pexpr2Node2 = (PExpr2) nodeArrayList1.get(0); tplusNode3 = (TPlus) nodeArrayList2.get(0); pexpr3Node4 = (PExpr3) nodeArrayList3.get(0); pexpr2Node1 = new AAddExprExpr2(pexpr2Node2, tplusNode3, pexpr3Node4); } nodeList.add(pexpr2Node1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new13() /* reduce ASubExprExpr2 */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr2 pexpr2Node1; { // Block PExpr2 pexpr2Node2; TMinus tminusNode3; PExpr3 pexpr3Node4; pexpr2Node2 = (PExpr2) nodeArrayList1.get(0); tminusNode3 = (TMinus) nodeArrayList2.get(0); pexpr3Node4 = (PExpr3) nodeArrayList3.get(0); pexpr2Node1 = new ASubExprExpr2(pexpr2Node2, tminusNode3, pexpr3Node4); } nodeList.add(pexpr2Node1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new14() /* reduce ATermExpr3 */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr3 pexpr3Node1; { // Block PTerm ptermNode2; ptermNode2 = (PTerm) nodeArrayList1.get(0); pexpr3Node1 = new ATermExpr3(ptermNode2); } nodeList.add(pexpr3Node1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new15() /* reduce AAndExprExpr3 */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr3 pexpr3Node1; { // Block PExpr3 pexpr3Node2; TAnd tandNode3; PTerm ptermNode4; pexpr3Node2 = (PExpr3) nodeArrayList1.get(0); tandNode3 = (TAnd) nodeArrayList2.get(0); ptermNode4 = (PTerm) nodeArrayList3.get(0); pexpr3Node1 = new AAndExprExpr3(pexpr3Node2, tandNode3, ptermNode4); } nodeList.add(pexpr3Node1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new16() /* reduce AAnd2ExprExpr3 */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr3 pexpr3Node1; { // Block PExpr3 pexpr3Node2; TAnd2 tand2Node3; PTerm ptermNode4; pexpr3Node2 = (PExpr3) nodeArrayList1.get(0); tand2Node3 = (TAnd2) nodeArrayList2.get(0); ptermNode4 = (PTerm) nodeArrayList3.get(0); pexpr3Node1 = new AAnd2ExprExpr3(pexpr3Node2, tand2Node3, ptermNode4); } nodeList.add(pexpr3Node1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new17() /* reduce AMultExprExpr3 */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr3 pexpr3Node1; { // Block PExpr3 pexpr3Node2; TMult tmultNode3; PTerm ptermNode4; pexpr3Node2 = (PExpr3) nodeArrayList1.get(0); tmultNode3 = (TMult) nodeArrayList2.get(0); ptermNode4 = (PTerm) nodeArrayList3.get(0); pexpr3Node1 = new AMultExprExpr3(pexpr3Node2, tmultNode3, ptermNode4); } nodeList.add(pexpr3Node1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new18() /* reduce ADivExprExpr3 */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr3 pexpr3Node1; { // Block PExpr3 pexpr3Node2; TDiv tdivNode3; PTerm ptermNode4; pexpr3Node2 = (PExpr3) nodeArrayList1.get(0); tdivNode3 = (TDiv) nodeArrayList2.get(0); ptermNode4 = (PTerm) nodeArrayList3.get(0); pexpr3Node1 = new ADivExprExpr3(pexpr3Node2, tdivNode3, ptermNode4); } nodeList.add(pexpr3Node1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new19() /* reduce AModExprExpr3 */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr3 pexpr3Node1; { // Block PExpr3 pexpr3Node2; TMod tmodNode3; PTerm ptermNode4; pexpr3Node2 = (PExpr3) nodeArrayList1.get(0); tmodNode3 = (TMod) nodeArrayList2.get(0); ptermNode4 = (PTerm) nodeArrayList3.get(0); pexpr3Node1 = new AModExprExpr3(pexpr3Node2, tmodNode3, ptermNode4); } nodeList.add(pexpr3Node1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new20() /* reduce APowerExprExpr3 */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr3 pexpr3Node1; { // Block PExpr3 pexpr3Node2; TPower tpowerNode3; PTerm ptermNode4; pexpr3Node2 = (PExpr3) nodeArrayList1.get(0); tpowerNode3 = (TPower) nodeArrayList2.get(0); ptermNode4 = (PTerm) nodeArrayList3.get(0); pexpr3Node1 = new APowerExprExpr3(pexpr3Node2, tpowerNode3, ptermNode4); } nodeList.add(pexpr3Node1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new21() /* reduce ANotExprExpr3 */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PExpr3 pexpr3Node1; { // Block TNot tnotNode2; PTerm ptermNode3; tnotNode2 = (TNot) nodeArrayList1.get(0); ptermNode3 = (PTerm) nodeArrayList2.get(0); pexpr3Node1 = new ANotExprExpr3(tnotNode2, ptermNode3); } nodeList.add(pexpr3Node1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new22() /* reduce ACall */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PCall pcallNode1; { // Block TIdentifier tidentifierNode2; PArgList parglistNode3; tidentifierNode2 = (TIdentifier) nodeArrayList1.get(0); parglistNode3 = (PArgList) nodeArrayList2.get(0); pcallNode1 = new ACall(tidentifierNode2, parglistNode3); } nodeList.add(pcallNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new23() /* reduce AEmptyListArgList */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PArgList parglistNode1; { // Block TLPar tlparNode2; TRPar trparNode3; tlparNode2 = (TLPar) nodeArrayList1.get(0); trparNode3 = (TRPar) nodeArrayList2.get(0); parglistNode1 = new AEmptyListArgList(tlparNode2, trparNode3); } nodeList.add(parglistNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new24() /* reduce AAnonemptylistarglist1ArgList */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PArgList parglistNode1; { // Block TLPar tlparNode2; PExpr pexprNode3; LinkedList listNode4 = new LinkedList(); TRPar trparNode5; tlparNode2 = (TLPar) nodeArrayList1.get(0); pexprNode3 = (PExpr) nodeArrayList2.get(0); { // Block } trparNode5 = (TRPar) nodeArrayList3.get(0); parglistNode1 = new ANonEmptyListArgList(tlparNode2, pexprNode3, listNode4, trparNode5); } nodeList.add(parglistNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new25() /* reduce AAnonemptylistarglist2ArgList */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PArgList parglistNode1; { // Block TLPar tlparNode2; PExpr pexprNode3; LinkedList listNode5 = new LinkedList(); TRPar trparNode6; tlparNode2 = (TLPar) nodeArrayList1.get(0); pexprNode3 = (PExpr) nodeArrayList2.get(0); { // Block LinkedList listNode4 = new LinkedList(); listNode4 = (LinkedList) nodeArrayList3.get(0); if (listNode4 != null) { listNode5.addAll(listNode4); } } trparNode6 = (TRPar) nodeArrayList4.get(0); parglistNode1 = new ANonEmptyListArgList(tlparNode2, pexprNode3, listNode5, trparNode6); } nodeList.add(parglistNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new26() /* reduce AAdditionalArg */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PAdditionalArg padditionalargNode1; { // Block TComma tcommaNode2; PExpr pexprNode3; tcommaNode2 = (TComma) nodeArrayList1.get(0); pexprNode3 = (PExpr) nodeArrayList2.get(0); padditionalargNode1 = new AAdditionalArg(tcommaNode2, pexprNode3); } nodeList.add(padditionalargNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new27() /* reduce AIdentifierBinding */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PBinding pbindingNode1; { // Block TIdentifier tidentifierNode2; tidentifierNode2 = (TIdentifier) nodeArrayList1.get(0); pbindingNode1 = new AIdentifierBinding(tidentifierNode2); } nodeList.add(pbindingNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new28() /* reduce ACallBinding */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PBinding pbindingNode1; { // Block PCall pcallNode2; pcallNode2 = (PCall) nodeArrayList1.get(0); pbindingNode1 = new ACallBinding(pcallNode2); } nodeList.add(pbindingNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new29() /* reduce ATail1Binding */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PBinding pbindingNode1; { // Block TIdentifier tidentifierNode2; TDot tdotNode3; PBinding pbindingNode4; tidentifierNode2 = (TIdentifier) nodeArrayList1.get(0); tdotNode3 = (TDot) nodeArrayList2.get(0); pbindingNode4 = (PBinding) nodeArrayList3.get(0); pbindingNode1 = new ATail1Binding(tidentifierNode2, tdotNode3, pbindingNode4); } nodeList.add(pbindingNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new30() /* reduce ATail2Binding */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PBinding pbindingNode1; { // Block PCall pcallNode2; TDot tdotNode3; PBinding pbindingNode4; pcallNode2 = (PCall) nodeArrayList1.get(0); tdotNode3 = (TDot) nodeArrayList2.get(0); pbindingNode4 = (PBinding) nodeArrayList3.get(0); pbindingNode1 = new ATail2Binding(pcallNode2, tdotNode3, pbindingNode4); } nodeList.add(pbindingNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new31() /* reduce ACosFuncFunction */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PFunction pfunctionNode1; { // Block TCos tcosNode2; TLPar tlparNode3; PExpr2 pexpr2Node4; TRPar trparNode5; tcosNode2 = (TCos) nodeArrayList1.get(0); tlparNode3 = (TLPar) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); trparNode5 = (TRPar) nodeArrayList4.get(0); pfunctionNode1 = new ACosFuncFunction(tcosNode2, tlparNode3, pexpr2Node4, trparNode5); } nodeList.add(pfunctionNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new32() /* reduce AAcosFuncFunction */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PFunction pfunctionNode1; { // Block TAcos tacosNode2; TLPar tlparNode3; PExpr2 pexpr2Node4; TRPar trparNode5; tacosNode2 = (TAcos) nodeArrayList1.get(0); tlparNode3 = (TLPar) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); trparNode5 = (TRPar) nodeArrayList4.get(0); pfunctionNode1 = new AAcosFuncFunction(tacosNode2, tlparNode3, pexpr2Node4, trparNode5); } nodeList.add(pfunctionNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new33() /* reduce ASinFuncFunction */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PFunction pfunctionNode1; { // Block TSin tsinNode2; TLPar tlparNode3; PExpr2 pexpr2Node4; TRPar trparNode5; tsinNode2 = (TSin) nodeArrayList1.get(0); tlparNode3 = (TLPar) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); trparNode5 = (TRPar) nodeArrayList4.get(0); pfunctionNode1 = new ASinFuncFunction(tsinNode2, tlparNode3, pexpr2Node4, trparNode5); } nodeList.add(pfunctionNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new34() /* reduce AAsinFuncFunction */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PFunction pfunctionNode1; { // Block TAsin tasinNode2; TLPar tlparNode3; PExpr2 pexpr2Node4; TRPar trparNode5; tasinNode2 = (TAsin) nodeArrayList1.get(0); tlparNode3 = (TLPar) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); trparNode5 = (TRPar) nodeArrayList4.get(0); pfunctionNode1 = new AAsinFuncFunction(tasinNode2, tlparNode3, pexpr2Node4, trparNode5); } nodeList.add(pfunctionNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new35() /* reduce ATanFuncFunction */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PFunction pfunctionNode1; { // Block TTan ttanNode2; TLPar tlparNode3; PExpr2 pexpr2Node4; TRPar trparNode5; ttanNode2 = (TTan) nodeArrayList1.get(0); tlparNode3 = (TLPar) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); trparNode5 = (TRPar) nodeArrayList4.get(0); pfunctionNode1 = new ATanFuncFunction(ttanNode2, tlparNode3, pexpr2Node4, trparNode5); } nodeList.add(pfunctionNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new36() /* reduce AAtanFuncFunction */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PFunction pfunctionNode1; { // Block TAtan tatanNode2; TLPar tlparNode3; PExpr2 pexpr2Node4; TRPar trparNode5; tatanNode2 = (TAtan) nodeArrayList1.get(0); tlparNode3 = (TLPar) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); trparNode5 = (TRPar) nodeArrayList4.get(0); pfunctionNode1 = new AAtanFuncFunction(tatanNode2, tlparNode3, pexpr2Node4, trparNode5); } nodeList.add(pfunctionNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new37() /* reduce AExpFuncFunction */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PFunction pfunctionNode1; { // Block TExp texpNode2; TLPar tlparNode3; PExpr2 pexpr2Node4; TRPar trparNode5; texpNode2 = (TExp) nodeArrayList1.get(0); tlparNode3 = (TLPar) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); trparNode5 = (TRPar) nodeArrayList4.get(0); pfunctionNode1 = new AExpFuncFunction(texpNode2, tlparNode3, pexpr2Node4, trparNode5); } nodeList.add(pfunctionNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new38() /* reduce ALogFuncFunction */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PFunction pfunctionNode1; { // Block TLog tlogNode2; TLPar tlparNode3; PExpr2 pexpr2Node4; TRPar trparNode5; tlogNode2 = (TLog) nodeArrayList1.get(0); tlparNode3 = (TLPar) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); trparNode5 = (TRPar) nodeArrayList4.get(0); pfunctionNode1 = new ALogFuncFunction(tlogNode2, tlparNode3, pexpr2Node4, trparNode5); } nodeList.add(pfunctionNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new39() /* reduce ASqrtFuncFunction */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PFunction pfunctionNode1; { // Block TSqrt tsqrtNode2; TLPar tlparNode3; PExpr2 pexpr2Node4; TRPar trparNode5; tsqrtNode2 = (TSqrt) nodeArrayList1.get(0); tlparNode3 = (TLPar) nodeArrayList2.get(0); pexpr2Node4 = (PExpr2) nodeArrayList3.get(0); trparNode5 = (TRPar) nodeArrayList4.get(0); pfunctionNode1 = new ASqrtFuncFunction(tsqrtNode2, tlparNode3, pexpr2Node4, trparNode5); } nodeList.add(pfunctionNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new40() /* reduce ATrueConstant */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PConstant pconstantNode1; { // Block TTrue ttrueNode2; ttrueNode2 = (TTrue) nodeArrayList1.get(0); pconstantNode1 = new ATrueConstant(ttrueNode2); } nodeList.add(pconstantNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new41() /* reduce AFalseConstant */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PConstant pconstantNode1; { // Block TFalse tfalseNode2; tfalseNode2 = (TFalse) nodeArrayList1.get(0); pconstantNode1 = new AFalseConstant(tfalseNode2); } nodeList.add(pconstantNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new42() /* reduce ANullConstant */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PConstant pconstantNode1; { // Block TNull tnullNode2; tnullNode2 = (TNull) nodeArrayList1.get(0); pconstantNode1 = new ANullConstant(tnullNode2); } nodeList.add(pconstantNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new43() /* reduce APiConstant */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PConstant pconstantNode1; { // Block TPi tpiNode2; tpiNode2 = (TPi) nodeArrayList1.get(0); pconstantNode1 = new APiConstant(tpiNode2); } nodeList.add(pconstantNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new44() /* reduce ADecimalNumberNumber */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PNumber pnumberNode1; { // Block TDecimalNumber tdecimalnumberNode2; tdecimalnumberNode2 = (TDecimalNumber) nodeArrayList1.get(0); pnumberNode1 = new ADecimalNumberNumber(tdecimalnumberNode2); } nodeList.add(pnumberNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new45() /* reduce APreciseNumberNumber */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PNumber pnumberNode1; { // Block TPreciseNumber tprecisenumberNode2; tprecisenumberNode2 = (TPreciseNumber) nodeArrayList1.get(0); pnumberNode1 = new APreciseNumberNumber(tprecisenumberNode2); } nodeList.add(pnumberNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new46() /* reduce AScientificNotationNumberNumber */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PNumber pnumberNode1; { // Block TScientificNotationNumber tscientificnotationnumberNode2; tscientificnotationnumberNode2 = (TScientificNotationNumber) nodeArrayList1.get(0); pnumberNode1 = new AScientificNotationNumberNumber(tscientificnotationnumberNode2); } nodeList.add(pnumberNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new47() /* reduce AConstantNumber */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PNumber pnumberNode1; { // Block PConstant pconstantNode2; pconstantNode2 = (PConstant) nodeArrayList1.get(0); pnumberNode1 = new AConstantNumber(pconstantNode2); } nodeList.add(pnumberNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new48() /* reduce ANegativeTerm */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PTerm ptermNode1; { // Block TMinus tminusNode2; PTerm ptermNode3; tminusNode2 = (TMinus) nodeArrayList1.get(0); ptermNode3 = (PTerm) nodeArrayList2.get(0); ptermNode1 = new ANegativeTerm(tminusNode2, ptermNode3); } nodeList.add(ptermNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new49() /* reduce ANumberTerm */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PTerm ptermNode1; { // Block PNumber pnumberNode2; pnumberNode2 = (PNumber) nodeArrayList1.get(0); ptermNode1 = new ANumberTerm(pnumberNode2); } nodeList.add(ptermNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new50() /* reduce AStringValueTerm */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PTerm ptermNode1; { // Block TStringValue tstringvalueNode2; tstringvalueNode2 = (TStringValue) nodeArrayList1.get(0); ptermNode1 = new AStringValueTerm(tstringvalueNode2); } nodeList.add(ptermNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new51() /* reduce ACharsValueTerm */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PTerm ptermNode1; { // Block TCharsValue tcharsvalueNode2; tcharsvalueNode2 = (TCharsValue) nodeArrayList1.get(0); ptermNode1 = new ACharsValueTerm(tcharsvalueNode2); } nodeList.add(ptermNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new52() /* reduce AFunctionTerm */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PTerm ptermNode1; { // Block PFunction pfunctionNode2; pfunctionNode2 = (PFunction) nodeArrayList1.get(0); ptermNode1 = new AFunctionTerm(pfunctionNode2); } nodeList.add(ptermNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new53() /* reduce ABindingTerm */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PTerm ptermNode1; { // Block PBinding pbindingNode2; pbindingNode2 = (PBinding) nodeArrayList1.get(0); ptermNode1 = new ABindingTerm(pbindingNode2); } nodeList.add(ptermNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new54() /* reduce AExprTerm */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); PTerm ptermNode1; { // Block TLPar tlparNode2; PExpr pexprNode3; TRPar trparNode4; tlparNode2 = (TLPar) nodeArrayList1.get(0); pexprNode3 = (PExpr) nodeArrayList2.get(0); trparNode4 = (TRPar) nodeArrayList3.get(0); ptermNode1 = new AExprTerm(tlparNode2, pexprNode3, trparNode4); } nodeList.add(ptermNode1); return nodeList; } @SuppressWarnings("unchecked") ArrayList new55() /* reduce ATerminal$AdditionalArg */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); LinkedList listNode2 = new LinkedList(); { // Block PAdditionalArg padditionalargNode1; padditionalargNode1 = (PAdditionalArg) nodeArrayList1.get(0); if (padditionalargNode1 != null) { listNode2.add(padditionalargNode1); } } nodeList.add(listNode2); return nodeList; } @SuppressWarnings("unchecked") ArrayList new56() /* reduce ANonTerminal$AdditionalArg */ { @SuppressWarnings("hiding") ArrayList nodeList = new ArrayList(); @SuppressWarnings("unused") ArrayList nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList nodeArrayList1 = pop(); LinkedList listNode3 = new LinkedList(); { // Block LinkedList listNode1 = new LinkedList(); PAdditionalArg padditionalargNode2; listNode1 = (LinkedList) nodeArrayList1.get(0); padditionalargNode2 = (PAdditionalArg) nodeArrayList2.get(0); if (listNode1 != null) { listNode3.addAll(listNode1); } if (padditionalargNode2 != null) { listNode3.add(padditionalargNode2); } } nodeList.add(listNode3); return nodeList; } private static int[][][] actionTable; /* { {{-1, ERROR, 0}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 1}, {1, SHIFT, 1}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 2}, {1, SHIFT, 1}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 3}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, REDUCE, 43}, }, {{-1, ERROR, 5}, {18, SHIFT, 35}, }, {{-1, ERROR, 6}, {18, SHIFT, 36}, }, {{-1, ERROR, 7}, {18, SHIFT, 37}, }, {{-1, ERROR, 8}, {18, SHIFT, 38}, }, {{-1, ERROR, 9}, {18, SHIFT, 39}, }, {{-1, ERROR, 10}, {18, SHIFT, 40}, }, {{-1, ERROR, 11}, {18, SHIFT, 41}, }, {{-1, ERROR, 12}, {18, SHIFT, 42}, }, {{-1, ERROR, 13}, {18, SHIFT, 43}, }, {{-1, REDUCE, 40}, }, {{-1, REDUCE, 41}, }, {{-1, REDUCE, 42}, }, {{-1, REDUCE, 44}, }, {{-1, REDUCE, 45}, }, {{-1, REDUCE, 46}, }, {{-1, REDUCE, 50}, }, {{-1, REDUCE, 51}, }, {{-1, REDUCE, 27}, {18, SHIFT, 44}, {20, SHIFT, 45}, }, {{-1, ERROR, 23}, {6, SHIFT, 47}, {7, SHIFT, 48}, {8, SHIFT, 49}, {9, SHIFT, 50}, {14, SHIFT, 51}, {15, SHIFT, 52}, {16, SHIFT, 53}, {22, SHIFT, 54}, {43, ACCEPT, -1}, }, {{-1, REDUCE, 0}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, }, {{-1, REDUCE, 9}, {2, SHIFT, 59}, {3, SHIFT, 60}, {4, SHIFT, 61}, {5, SHIFT, 62}, {10, SHIFT, 63}, {11, SHIFT, 64}, }, {{-1, REDUCE, 28}, {20, SHIFT, 65}, }, {{-1, REDUCE, 53}, }, {{-1, REDUCE, 52}, }, {{-1, REDUCE, 47}, }, {{-1, REDUCE, 49}, }, {{-1, REDUCE, 14}, }, {{-1, REDUCE, 48}, }, {{-1, REDUCE, 21}, }, {{-1, ERROR, 34}, {6, SHIFT, 47}, {7, SHIFT, 48}, {8, SHIFT, 49}, {9, SHIFT, 50}, {14, SHIFT, 51}, {15, SHIFT, 52}, {16, SHIFT, 53}, {19, SHIFT, 66}, {22, SHIFT, 54}, }, {{-1, ERROR, 35}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 36}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 37}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 38}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 39}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 40}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 41}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 42}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 43}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 44}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {19, SHIFT, 76}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 45}, {42, SHIFT, 22}, }, {{-1, REDUCE, 22}, }, {{-1, ERROR, 47}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 48}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 49}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 50}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 51}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 52}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 53}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 54}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 55}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 56}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 57}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 58}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 59}, {1, SHIFT, 1}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 60}, {1, SHIFT, 1}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 61}, {1, SHIFT, 1}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 62}, {1, SHIFT, 1}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 63}, {1, SHIFT, 1}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 64}, {1, SHIFT, 1}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, ERROR, 65}, {42, SHIFT, 22}, }, {{-1, REDUCE, 54}, }, {{-1, ERROR, 67}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, {19, SHIFT, 98}, }, {{-1, ERROR, 68}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, {19, SHIFT, 99}, }, {{-1, ERROR, 69}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, {19, SHIFT, 100}, }, {{-1, ERROR, 70}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, {19, SHIFT, 101}, }, {{-1, ERROR, 71}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, {19, SHIFT, 102}, }, {{-1, ERROR, 72}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, {19, SHIFT, 103}, }, {{-1, ERROR, 73}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, {19, SHIFT, 104}, }, {{-1, ERROR, 74}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, {19, SHIFT, 105}, }, {{-1, ERROR, 75}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, {19, SHIFT, 106}, }, {{-1, REDUCE, 23}, }, {{-1, ERROR, 77}, {6, SHIFT, 47}, {7, SHIFT, 48}, {8, SHIFT, 49}, {9, SHIFT, 50}, {14, SHIFT, 51}, {15, SHIFT, 52}, {16, SHIFT, 53}, {19, SHIFT, 107}, {21, SHIFT, 108}, {22, SHIFT, 54}, }, {{-1, REDUCE, 29}, }, {{-1, REDUCE, 5}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, }, {{-1, REDUCE, 6}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, }, {{-1, REDUCE, 7}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, }, {{-1, REDUCE, 8}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, }, {{-1, REDUCE, 2}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, }, {{-1, REDUCE, 3}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, }, {{-1, REDUCE, 4}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, }, {{-1, ERROR, 86}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, {23, SHIFT, 111}, }, {{-1, REDUCE, 12}, {2, SHIFT, 59}, {3, SHIFT, 60}, {4, SHIFT, 61}, {5, SHIFT, 62}, {10, SHIFT, 63}, {11, SHIFT, 64}, }, {{-1, REDUCE, 13}, {2, SHIFT, 59}, {3, SHIFT, 60}, {4, SHIFT, 61}, {5, SHIFT, 62}, {10, SHIFT, 63}, {11, SHIFT, 64}, }, {{-1, REDUCE, 10}, {2, SHIFT, 59}, {3, SHIFT, 60}, {4, SHIFT, 61}, {5, SHIFT, 62}, {10, SHIFT, 63}, {11, SHIFT, 64}, }, {{-1, REDUCE, 11}, {2, SHIFT, 59}, {3, SHIFT, 60}, {4, SHIFT, 61}, {5, SHIFT, 62}, {10, SHIFT, 63}, {11, SHIFT, 64}, }, {{-1, REDUCE, 17}, }, {{-1, REDUCE, 18}, }, {{-1, REDUCE, 19}, }, {{-1, REDUCE, 20}, }, {{-1, REDUCE, 15}, }, {{-1, REDUCE, 16}, }, {{-1, REDUCE, 30}, }, {{-1, REDUCE, 31}, }, {{-1, REDUCE, 32}, }, {{-1, REDUCE, 33}, }, {{-1, REDUCE, 34}, }, {{-1, REDUCE, 35}, }, {{-1, REDUCE, 36}, }, {{-1, REDUCE, 38}, }, {{-1, REDUCE, 37}, }, {{-1, REDUCE, 39}, }, {{-1, REDUCE, 24}, }, {{-1, ERROR, 108}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, REDUCE, 55}, }, {{-1, ERROR, 110}, {19, SHIFT, 113}, {21, SHIFT, 108}, }, {{-1, ERROR, 111}, {1, SHIFT, 1}, {17, SHIFT, 2}, {18, SHIFT, 3}, {24, SHIFT, 4}, {25, SHIFT, 5}, {26, SHIFT, 6}, {27, SHIFT, 7}, {28, SHIFT, 8}, {29, SHIFT, 9}, {30, SHIFT, 10}, {31, SHIFT, 11}, {32, SHIFT, 12}, {33, SHIFT, 13}, {34, SHIFT, 14}, {35, SHIFT, 15}, {36, SHIFT, 16}, {37, SHIFT, 17}, {38, SHIFT, 18}, {39, SHIFT, 19}, {40, SHIFT, 20}, {41, SHIFT, 21}, {42, SHIFT, 22}, }, {{-1, REDUCE, 26}, {6, SHIFT, 47}, {7, SHIFT, 48}, {8, SHIFT, 49}, {9, SHIFT, 50}, {14, SHIFT, 51}, {15, SHIFT, 52}, {16, SHIFT, 53}, {22, SHIFT, 54}, }, {{-1, REDUCE, 25}, }, {{-1, REDUCE, 56}, }, {{-1, REDUCE, 1}, {0, SHIFT, 55}, {1, SHIFT, 56}, {12, SHIFT, 57}, {13, SHIFT, 58}, }, };*/ private static int[][][] gotoTable; /* { {{-1, 23}, {3, 34}, {44, 77}, {108, 112}, }, {{-1, 24}, {35, 67}, {36, 68}, {37, 69}, {38, 70}, {39, 71}, {40, 72}, {41, 73}, {42, 74}, {43, 75}, {47, 79}, {48, 80}, {49, 81}, {50, 82}, {51, 83}, {52, 84}, {53, 85}, {54, 86}, {111, 115}, }, {{-1, 25}, {55, 87}, {56, 88}, {57, 89}, {58, 90}, }, {{-1, 26}, }, {{-1, 46}, }, {{-1, 109}, {110, 114}, }, {{-1, 27}, {45, 78}, {65, 97}, }, {{-1, 28}, }, {{-1, 29}, }, {{-1, 30}, }, {{-1, 31}, {1, 32}, {2, 33}, {59, 91}, {60, 92}, {61, 93}, {62, 94}, {63, 95}, {64, 96}, }, {{-1, 110}, }, };*/ private static String[] errorMessages; /* { "expecting: '-', '!', '(', 'pi', 'cos', 'acos', 'sin', 'asin', 'tan', 'atan', 'log', 'exp', 'sqrt', 'true', 'false', 'null', decimal number, precise number, scientific notation number, string value, chars value, identifier", "expecting: '-', '(', 'pi', 'cos', 'acos', 'sin', 'asin', 'tan', 'atan', 'log', 'exp', 'sqrt', 'true', 'false', 'null', decimal number, precise number, scientific notation number, string value, chars value, identifier", "expecting: '+', '-', '*', '/', '%', '^', '<', '>', '<=', '>=', '&', '&&', '|', '||', '=', '==', '!=', ')', ',', '?', ':', EOF", "expecting: '('", "expecting: '+', '-', '*', '/', '%', '^', '<', '>', '<=', '>=', '&', '&&', '|', '||', '=', '==', '!=', '(', ')', '.', ',', '?', ':', EOF", "expecting: '<', '>', '<=', '>=', '=', '==', '!=', '?', EOF", "expecting: '+', '-', '<', '>', '<=', '>=', '|', '||', '=', '==', '!=', ')', ',', '?', EOF", "expecting: '+', '-', '*', '/', '%', '^', '<', '>', '<=', '>=', '&', '&&', '|', '||', '=', '==', '!=', ')', '.', ',', '?', ':', EOF", "expecting: '<', '>', '<=', '>=', '=', '==', '!=', ')', '?'", "expecting: '-', '!', '(', ')', 'pi', 'cos', 'acos', 'sin', 'asin', 'tan', 'atan', 'log', 'exp', 'sqrt', 'true', 'false', 'null', decimal number, precise number, scientific notation number, string value, chars value, identifier", "expecting: identifier", "expecting: '+', '-', '|', '||', ')'", "expecting: '<', '>', '<=', '>=', '=', '==', '!=', ')', ',', '?'", "expecting: '+', '-', '|', '||', ':'", "expecting: ')', ','", };*/ private static int[] errors; /* { 0, 1, 1, 0, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 4, 5, 6, 2, 7, 2, 2, 2, 2, 2, 2, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 10, 2, 11, 11, 11, 11, 11, 11, 11, 11, 11, 7, 12, 2, 6, 6, 6, 6, 6, 6, 6, 13, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 0, 14, 14, 0, 12, 7, 14, 6, };*/ static { try { DataInputStream s = new DataInputStream(new BufferedInputStream(Parser.class.getResourceAsStream("parser.dat"))); // read actionTable int length = s.readInt(); Parser.actionTable = new int[length][][]; for (int i = 0; i < Parser.actionTable.length; i++) { length = s.readInt(); Parser.actionTable[i] = new int[length][3]; for (int j = 0; j < Parser.actionTable[i].length; j++) { for (int k = 0; k < 3; k++) { Parser.actionTable[i][j][k] = s.readInt(); } } } // read gotoTable length = s.readInt(); gotoTable = new int[length][][]; for (int i = 0; i < gotoTable.length; i++) { length = s.readInt(); gotoTable[i] = new int[length][2]; for (int j = 0; j < gotoTable[i].length; j++) { for (int k = 0; k < 2; k++) { gotoTable[i][j][k] = s.readInt(); } } } // read errorMessages length = s.readInt(); errorMessages = new String[length]; for (int i = 0; i < errorMessages.length; i++) { length = s.readInt(); StringBuffer buffer = new StringBuffer(); for (int j = 0; j < length; j++) { buffer.append(s.readChar()); } errorMessages[i] = buffer.toString(); } // read errors length = s.readInt(); errors = new int[length]; for (int i = 0; i < errors.length; i++) { errors[i] = s.readInt(); } s.close(); } catch (Exception e) { throw new RuntimeException("The file \"parser.dat\" is either missing or corrupted."); } } }