/* This file was generated by SableCC (http://www.sablecc.org/). */ package org.uva.student.calinwouter.qlqls.generated.parser; import org.uva.student.calinwouter.qlqls.generated.lexer.*; import org.uva.student.calinwouter.qlqls.generated.node.*; import org.uva.student.calinwouter.qlqls.generated.analysis.*; import java.util.*; import java.io.DataInputStream; import java.io.BufferedInputStream; import java.io.IOException; @SuppressWarnings("nls") public class Parser { public final Analysis ignoredTokens = new AnalysisAdapter(); protected ArrayList<Object> nodeList; private final Lexer lexer; private final ListIterator<Object> stack = new LinkedList<Object>().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; } @SuppressWarnings({"unchecked","unused"}) private void push(int numstate, ArrayList<Object> listNode) throws ParserException, LexerException, IOException { this.nodeList = listNode; 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; int middle = (low + high) >>> 1; 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<Object> 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); 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<Object> list = new ArrayList<Object>(); list.add(this.lexer.next()); push(this.action[1], list); } break; case REDUCE: { int reduction = this.action[1]; if(reduction < 500) reduce_0(reduction); } break; case ACCEPT: { EOF node2 = (EOF) this.lexer.next(); PBegin node1 = (PBegin) 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]]]); } } } private void reduce_0(int reduction) throws IOException, LexerException, ParserException { switch(reduction) { case 0: /* reduce AFormBegin */ { ArrayList<Object> list = new0(); push(goTo(0), list); } break; case 1: /* reduce AStylesheetBegin */ { ArrayList<Object> list = new1(); push(goTo(0), list); } break; case 2: /* reduce AForm */ { ArrayList<Object> list = new2(); push(goTo(1), list); } break; case 3: /* reduce AAstatementlist1StatementList */ { ArrayList<Object> list = new3(); push(goTo(2), list); } break; case 4: /* reduce AAstatementlist2StatementList */ { ArrayList<Object> list = new4(); push(goTo(2), list); } break; case 5: /* reduce AStatementListTail */ { ArrayList<Object> list = new5(); push(goTo(3), list); } break; case 6: /* reduce ABooleanType */ { ArrayList<Object> list = new6(); push(goTo(4), list); } break; case 7: /* reduce AStringType */ { ArrayList<Object> list = new7(); push(goTo(4), list); } break; case 8: /* reduce AIntegerType */ { ArrayList<Object> list = new8(); push(goTo(4), list); } break; case 9: /* reduce AQuestionStatement */ { ArrayList<Object> list = new9(); push(goTo(5), list); } break; case 10: /* reduce AValueStatement */ { ArrayList<Object> list = new10(); push(goTo(5), list); } break; case 11: /* reduce AIfElseStatement */ { ArrayList<Object> list = new11(); push(goTo(5), list); } break; case 12: /* reduce AIfStatement */ { ArrayList<Object> list = new12(); push(goTo(5), list); } break; case 13: /* reduce ALogicalExpression */ { ArrayList<Object> list = new13(); push(goTo(6), list); } break; case 14: /* reduce AOrLogical */ { ArrayList<Object> list = new14(); push(goTo(7), list); } break; case 15: /* reduce AAndLogical */ { ArrayList<Object> list = new15(); push(goTo(7), list); } break; case 16: /* reduce AComparisonLogical */ { ArrayList<Object> list = new16(); push(goTo(7), list); } break; case 17: /* reduce AEqualsComparison */ { ArrayList<Object> list = new17(); push(goTo(8), list); } break; case 18: /* reduce ANotEqualsComparison */ { ArrayList<Object> list = new18(); push(goTo(8), list); } break; case 19: /* reduce ALesserThanComparison */ { ArrayList<Object> list = new19(); push(goTo(8), list); } break; case 20: /* reduce AGreaterThanComparison */ { ArrayList<Object> list = new20(); push(goTo(8), list); } break; case 21: /* reduce ALesserThanOrEqualsComparison */ { ArrayList<Object> list = new21(); push(goTo(8), list); } break; case 22: /* reduce AGreaterThanOrEqualsComparison */ { ArrayList<Object> list = new22(); push(goTo(8), list); } break; case 23: /* reduce AAddendComparison */ { ArrayList<Object> list = new23(); push(goTo(8), list); } break; case 24: /* reduce AAddAddend */ { ArrayList<Object> list = new24(); push(goTo(9), list); } break; case 25: /* reduce ASubtractAddend */ { ArrayList<Object> list = new25(); push(goTo(9), list); } break; case 26: /* reduce AFactorAddend */ { ArrayList<Object> list = new26(); push(goTo(9), list); } break; case 27: /* reduce AMultiplyFactor */ { ArrayList<Object> list = new27(); push(goTo(10), list); } break; case 28: /* reduce ADivideFactor */ { ArrayList<Object> list = new28(); push(goTo(10), list); } break; case 29: /* reduce AModuloFactor */ { ArrayList<Object> list = new29(); push(goTo(10), list); } break; case 30: /* reduce AUnaryFactor */ { ArrayList<Object> list = new30(); push(goTo(10), list); } break; case 31: /* reduce ANotUnary */ { ArrayList<Object> list = new31(); push(goTo(11), list); } break; case 32: /* reduce ANumberUnary */ { ArrayList<Object> list = new32(); push(goTo(11), list); } break; case 33: /* reduce ATrueUnary */ { ArrayList<Object> list = new33(); push(goTo(11), list); } break; case 34: /* reduce AFalseUnary */ { ArrayList<Object> list = new34(); push(goTo(11), list); } break; case 35: /* reduce AParenUnary */ { ArrayList<Object> list = new35(); push(goTo(11), list); } break; case 36: /* reduce AIdentifierUnary */ { ArrayList<Object> list = new36(); push(goTo(11), list); } break; case 37: /* reduce AStylesheet */ { ArrayList<Object> list = new37(); push(goTo(12), list); } break; case 38: /* reduce ANonParameterizedFunction */ { ArrayList<Object> list = new38(); push(goTo(13), list); } break; case 39: /* reduce AAparameterizedfunction1Function */ { ArrayList<Object> list = new39(); push(goTo(13), list); } break; case 40: /* reduce AAparameterizedfunction2Function */ { ArrayList<Object> list = new40(); push(goTo(13), list); } break; case 41: /* reduce AListTail */ { ArrayList<Object> list = new41(); push(goTo(14), list); } break; case 42: /* reduce ATypeElement */ { ArrayList<Object> list = new42(); push(goTo(15), list); } break; case 43: /* reduce AIdentifierElement */ { ArrayList<Object> list = new43(); push(goTo(15), list); } break; case 44: /* reduce AHexElement */ { ArrayList<Object> list = new44(); push(goTo(15), list); } break; case 45: /* reduce AStringElement */ { ArrayList<Object> list = new45(); push(goTo(15), list); } break; case 46: /* reduce ANumberElement */ { ArrayList<Object> list = new46(); push(goTo(15), list); } break; case 47: /* reduce AObjectElement */ { ArrayList<Object> list = new47(); push(goTo(15), list); } break; case 48: /* reduce AFunctionElement */ { ArrayList<Object> list = new48(); push(goTo(15), list); } break; case 49: /* reduce AKeyValue */ { ArrayList<Object> list = new49(); push(goTo(16), list); } break; case 50: /* reduce ANonParameterizedObject */ { ArrayList<Object> list = new50(); push(goTo(17), list); } break; case 51: /* reduce AAparameterizedobject1Object */ { ArrayList<Object> list = new51(); push(goTo(17), list); } break; case 52: /* reduce AAparameterizedobject2Object */ { ArrayList<Object> list = new52(); push(goTo(17), list); } break; case 53: /* reduce AObjectTail */ { ArrayList<Object> list = new53(); push(goTo(18), list); } break; case 54: /* reduce ATerminal$StatementListTail */ { ArrayList<Object> list = new54(); push(goTo(19), list); } break; case 55: /* reduce ANonTerminal$StatementListTail */ { ArrayList<Object> list = new55(); push(goTo(19), list); } break; case 56: /* reduce ATerminal$ListTail */ { ArrayList<Object> list = new56(); push(goTo(20), list); } break; case 57: /* reduce ANonTerminal$ListTail */ { ArrayList<Object> list = new57(); push(goTo(20), list); } break; case 58: /* reduce ATerminal$ObjectTail */ { ArrayList<Object> list = new58(); push(goTo(21), list); } break; case 59: /* reduce ANonTerminal$ObjectTail */ { ArrayList<Object> list = new59(); push(goTo(21), list); } break; } } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new0() /* reduce AFormBegin */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PBegin pbeginNode1; { // Block PForm pformNode2; pformNode2 = (PForm)nodeArrayList1.get(0); pbeginNode1 = new AFormBegin(pformNode2); } nodeList.add(pbeginNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new1() /* reduce AStylesheetBegin */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PBegin pbeginNode1; { // Block PFunction pfunctionNode2; pfunctionNode2 = (PFunction)nodeArrayList1.get(0); pbeginNode1 = new AStylesheetBegin(pfunctionNode2); } nodeList.add(pbeginNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new2() /* reduce AForm */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList5 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PForm pformNode1; { // Block TIdentifier tidentifierNode2; LinkedList<Object> listNode4 = new LinkedList<Object>(); tidentifierNode2 = (TIdentifier)nodeArrayList2.get(0); { // Block LinkedList<Object> listNode3 = new LinkedList<Object>(); listNode3 = (LinkedList)nodeArrayList4.get(0); if(listNode3 != null) { listNode4.addAll(listNode3); } } pformNode1 = new AForm(tidentifierNode2, listNode4); } nodeList.add(pformNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new3() /* reduce AAstatementlist1StatementList */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); LinkedList<Object> listNode2 = new LinkedList<Object>(); { // Block PStatement pstatementNode1; pstatementNode1 = (PStatement)nodeArrayList1.get(0); if(pstatementNode1 != null) { listNode2.add(pstatementNode1); } } nodeList.add(listNode2); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new4() /* reduce AAstatementlist2StatementList */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); LinkedList<Object> listNode3 = new LinkedList<Object>(); { // Block PStatement pstatementNode1; LinkedList<Object> listNode2 = new LinkedList<Object>(); pstatementNode1 = (PStatement)nodeArrayList1.get(0); listNode2 = (LinkedList)nodeArrayList2.get(0); if(pstatementNode1 != null) { listNode3.add(pstatementNode1); } if(listNode2 != null) { listNode3.addAll(listNode2); } } nodeList.add(listNode3); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new5() /* reduce AStatementListTail */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PStatement pstatementNode1; pstatementNode1 = (PStatement)nodeArrayList1.get(0); nodeList.add(pstatementNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new6() /* reduce ABooleanType */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PType ptypeNode1; { // Block ptypeNode1 = new ABooleanType(); } nodeList.add(ptypeNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new7() /* reduce AStringType */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PType ptypeNode1; { // Block ptypeNode1 = new AStringType(); } nodeList.add(ptypeNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new8() /* reduce AIntegerType */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PType ptypeNode1; { // Block ptypeNode1 = new AIntegerType(); } nodeList.add(ptypeNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new9() /* reduce AQuestionStatement */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PStatement pstatementNode1; { // Block TIdentifier tidentifierNode2; TString tstringNode3; PType ptypeNode4; tidentifierNode2 = (TIdentifier)nodeArrayList1.get(0); tstringNode3 = (TString)nodeArrayList3.get(0); ptypeNode4 = (PType)nodeArrayList4.get(0); pstatementNode1 = new AQuestionStatement(tidentifierNode2, tstringNode3, ptypeNode4); } nodeList.add(pstatementNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new10() /* reduce AValueStatement */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList7 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList6 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList5 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PStatement pstatementNode1; { // Block TIdentifier tidentifierNode2; TString tstringNode3; PType ptypeNode4; PExpression pexpressionNode5; tidentifierNode2 = (TIdentifier)nodeArrayList1.get(0); tstringNode3 = (TString)nodeArrayList3.get(0); ptypeNode4 = (PType)nodeArrayList4.get(0); pexpressionNode5 = (PExpression)nodeArrayList6.get(0); pstatementNode1 = new AValueStatement(tidentifierNode2, tstringNode3, ptypeNode4, pexpressionNode5); } nodeList.add(pstatementNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new11() /* reduce AIfElseStatement */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList11 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList10 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList9 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList8 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList7 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList6 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList5 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PStatement pstatementNode1; { // Block PExpression pexpressionNode2; LinkedList<Object> listNode4 = new LinkedList<Object>(); LinkedList<Object> listNode6 = new LinkedList<Object>(); pexpressionNode2 = (PExpression)nodeArrayList3.get(0); { // Block LinkedList<Object> listNode3 = new LinkedList<Object>(); listNode3 = (LinkedList)nodeArrayList6.get(0); if(listNode3 != null) { listNode4.addAll(listNode3); } } { // Block LinkedList<Object> listNode5 = new LinkedList<Object>(); listNode5 = (LinkedList)nodeArrayList10.get(0); if(listNode5 != null) { listNode6.addAll(listNode5); } } pstatementNode1 = new AIfElseStatement(pexpressionNode2, listNode4, listNode6); } nodeList.add(pstatementNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new12() /* reduce AIfStatement */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList7 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList6 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList5 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PStatement pstatementNode1; { // Block PExpression pexpressionNode2; LinkedList<Object> listNode4 = new LinkedList<Object>(); pexpressionNode2 = (PExpression)nodeArrayList3.get(0); { // Block LinkedList<Object> listNode3 = new LinkedList<Object>(); listNode3 = (LinkedList)nodeArrayList6.get(0); if(listNode3 != null) { listNode4.addAll(listNode3); } } pstatementNode1 = new AIfStatement(pexpressionNode2, listNode4); } nodeList.add(pstatementNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new13() /* reduce ALogicalExpression */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; pexpressionNode1 = (PExpression)nodeArrayList1.get(0); nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new14() /* reduce AOrLogical */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; PExpression pexpressionNode3; pexpressionNode2 = (PExpression)nodeArrayList1.get(0); pexpressionNode3 = (PExpression)nodeArrayList3.get(0); pexpressionNode1 = new AOrExpression(pexpressionNode2, pexpressionNode3); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new15() /* reduce AAndLogical */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; PExpression pexpressionNode3; pexpressionNode2 = (PExpression)nodeArrayList1.get(0); pexpressionNode3 = (PExpression)nodeArrayList3.get(0); pexpressionNode1 = new AAndExpression(pexpressionNode2, pexpressionNode3); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new16() /* reduce AComparisonLogical */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; pexpressionNode1 = (PExpression)nodeArrayList1.get(0); nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new17() /* reduce AEqualsComparison */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; PExpression pexpressionNode3; pexpressionNode2 = (PExpression)nodeArrayList1.get(0); pexpressionNode3 = (PExpression)nodeArrayList3.get(0); pexpressionNode1 = new AEqualsExpression(pexpressionNode2, pexpressionNode3); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new18() /* reduce ANotEqualsComparison */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; PExpression pexpressionNode3; pexpressionNode2 = (PExpression)nodeArrayList1.get(0); pexpressionNode3 = (PExpression)nodeArrayList3.get(0); pexpressionNode1 = new ANotEqualsExpression(pexpressionNode2, pexpressionNode3); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new19() /* reduce ALesserThanComparison */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; PExpression pexpressionNode3; pexpressionNode2 = (PExpression)nodeArrayList1.get(0); pexpressionNode3 = (PExpression)nodeArrayList3.get(0); pexpressionNode1 = new ALesserThanExpression(pexpressionNode2, pexpressionNode3); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new20() /* reduce AGreaterThanComparison */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; PExpression pexpressionNode3; pexpressionNode2 = (PExpression)nodeArrayList1.get(0); pexpressionNode3 = (PExpression)nodeArrayList3.get(0); pexpressionNode1 = new AGreaterThanExpression(pexpressionNode2, pexpressionNode3); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new21() /* reduce ALesserThanOrEqualsComparison */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; PExpression pexpressionNode3; pexpressionNode2 = (PExpression)nodeArrayList1.get(0); pexpressionNode3 = (PExpression)nodeArrayList3.get(0); pexpressionNode1 = new ALesserThanOrEqualsExpression(pexpressionNode2, pexpressionNode3); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new22() /* reduce AGreaterThanOrEqualsComparison */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; PExpression pexpressionNode3; pexpressionNode2 = (PExpression)nodeArrayList1.get(0); pexpressionNode3 = (PExpression)nodeArrayList3.get(0); pexpressionNode1 = new AGreaterThanOrEqualsExpression(pexpressionNode2, pexpressionNode3); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new23() /* reduce AAddendComparison */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; pexpressionNode1 = (PExpression)nodeArrayList1.get(0); nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new24() /* reduce AAddAddend */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; PExpression pexpressionNode3; pexpressionNode2 = (PExpression)nodeArrayList1.get(0); pexpressionNode3 = (PExpression)nodeArrayList3.get(0); pexpressionNode1 = new AAddExpression(pexpressionNode2, pexpressionNode3); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new25() /* reduce ASubtractAddend */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; PExpression pexpressionNode3; pexpressionNode2 = (PExpression)nodeArrayList1.get(0); pexpressionNode3 = (PExpression)nodeArrayList3.get(0); pexpressionNode1 = new ASubtractExpression(pexpressionNode2, pexpressionNode3); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new26() /* reduce AFactorAddend */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; pexpressionNode1 = (PExpression)nodeArrayList1.get(0); nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new27() /* reduce AMultiplyFactor */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; PExpression pexpressionNode3; pexpressionNode2 = (PExpression)nodeArrayList1.get(0); pexpressionNode3 = (PExpression)nodeArrayList3.get(0); pexpressionNode1 = new AMultiplyExpression(pexpressionNode2, pexpressionNode3); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new28() /* reduce ADivideFactor */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; PExpression pexpressionNode3; pexpressionNode2 = (PExpression)nodeArrayList1.get(0); pexpressionNode3 = (PExpression)nodeArrayList3.get(0); pexpressionNode1 = new ADivideExpression(pexpressionNode2, pexpressionNode3); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new29() /* reduce AModuloFactor */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; PExpression pexpressionNode3; pexpressionNode2 = (PExpression)nodeArrayList1.get(0); pexpressionNode3 = (PExpression)nodeArrayList3.get(0); pexpressionNode1 = new AModuloExpression(pexpressionNode2, pexpressionNode3); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new30() /* reduce AUnaryFactor */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; pexpressionNode1 = (PExpression)nodeArrayList1.get(0); nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new31() /* reduce ANotUnary */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block PExpression pexpressionNode2; pexpressionNode2 = (PExpression)nodeArrayList2.get(0); pexpressionNode1 = new ANotExpression(pexpressionNode2); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new32() /* reduce ANumberUnary */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block TNumber tnumberNode2; tnumberNode2 = (TNumber)nodeArrayList1.get(0); pexpressionNode1 = new ANumberExpression(tnumberNode2); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new33() /* reduce ATrueUnary */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block pexpressionNode1 = new ATrueExpression(); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new34() /* reduce AFalseUnary */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block pexpressionNode1 = new AFalseExpression(); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new35() /* reduce AParenUnary */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; pexpressionNode1 = (PExpression)nodeArrayList2.get(0); nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new36() /* reduce AIdentifierUnary */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PExpression pexpressionNode1; { // Block TIdentifier tidentifierNode2; tidentifierNode2 = (TIdentifier)nodeArrayList1.get(0); pexpressionNode1 = new AIdentifierExpression(tidentifierNode2); } nodeList.add(pexpressionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new37() /* reduce AStylesheet */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PFunction pfunctionNode1; pfunctionNode1 = (PFunction)nodeArrayList1.get(0); nodeList.add(pfunctionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new38() /* reduce ANonParameterizedFunction */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PFunction pfunctionNode1; { // Block TIdentifier tidentifierNode2; tidentifierNode2 = (TIdentifier)nodeArrayList1.get(0); pfunctionNode1 = new ANonParameterizedFunction(tidentifierNode2); } nodeList.add(pfunctionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new39() /* reduce AAparameterizedfunction1Function */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PFunction pfunctionNode1; { // Block TIdentifier tidentifierNode2; LinkedList<Object> listNode4 = new LinkedList<Object>(); tidentifierNode2 = (TIdentifier)nodeArrayList1.get(0); { // Block PElement pelementNode3; pelementNode3 = (PElement)nodeArrayList3.get(0); if(pelementNode3 != null) { listNode4.add(pelementNode3); } } pfunctionNode1 = new AParameterizedFunction(tidentifierNode2, listNode4); } nodeList.add(pfunctionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new40() /* reduce AAparameterizedfunction2Function */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList5 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PFunction pfunctionNode1; { // Block TIdentifier tidentifierNode2; LinkedList<Object> listNode5 = new LinkedList<Object>(); tidentifierNode2 = (TIdentifier)nodeArrayList1.get(0); { // Block PElement pelementNode3; LinkedList<Object> listNode4 = new LinkedList<Object>(); pelementNode3 = (PElement)nodeArrayList3.get(0); listNode4 = (LinkedList)nodeArrayList4.get(0); if(pelementNode3 != null) { listNode5.add(pelementNode3); } if(listNode4 != null) { listNode5.addAll(listNode4); } } pfunctionNode1 = new AParameterizedFunction(tidentifierNode2, listNode5); } nodeList.add(pfunctionNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new41() /* reduce AListTail */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PElement pelementNode1; pelementNode1 = (PElement)nodeArrayList2.get(0); nodeList.add(pelementNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new42() /* reduce ATypeElement */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PElement pelementNode1; { // Block PType ptypeNode2; ptypeNode2 = (PType)nodeArrayList1.get(0); pelementNode1 = new ATypeElement(ptypeNode2); } nodeList.add(pelementNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new43() /* reduce AIdentifierElement */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PElement pelementNode1; { // Block TIdentifier tidentifierNode2; tidentifierNode2 = (TIdentifier)nodeArrayList1.get(0); pelementNode1 = new AIdentifierElement(tidentifierNode2); } nodeList.add(pelementNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new44() /* reduce AHexElement */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PElement pelementNode1; { // Block THex thexNode2; thexNode2 = (THex)nodeArrayList1.get(0); pelementNode1 = new AHexElement(thexNode2); } nodeList.add(pelementNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new45() /* reduce AStringElement */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PElement pelementNode1; { // Block TString tstringNode2; tstringNode2 = (TString)nodeArrayList1.get(0); pelementNode1 = new AStringElement(tstringNode2); } nodeList.add(pelementNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new46() /* reduce ANumberElement */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PElement pelementNode1; { // Block TNumber tnumberNode2; tnumberNode2 = (TNumber)nodeArrayList1.get(0); pelementNode1 = new ANumberElement(tnumberNode2); } nodeList.add(pelementNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new47() /* reduce AObjectElement */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PElement pelementNode1; { // Block LinkedList<Object> listNode3 = new LinkedList<Object>(); { // Block LinkedList<Object> listNode2 = new LinkedList<Object>(); listNode2 = (LinkedList)nodeArrayList1.get(0); if(listNode2 != null) { listNode3.addAll(listNode2); } } pelementNode1 = new AObjectElement(listNode3); } nodeList.add(pelementNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new48() /* reduce AFunctionElement */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PElement pelementNode1; { // Block PFunction pfunctionNode2; pfunctionNode2 = (PFunction)nodeArrayList1.get(0); pelementNode1 = new AFunctionElement(pfunctionNode2); } nodeList.add(pelementNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new49() /* reduce AKeyValue */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PKeyValue pkeyvalueNode1; { // Block PElement pelementNode2; PElement pelementNode3; pelementNode2 = (PElement)nodeArrayList1.get(0); pelementNode3 = (PElement)nodeArrayList3.get(0); pkeyvalueNode1 = new AKeyValue(pelementNode2, pelementNode3); } nodeList.add(pkeyvalueNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new50() /* reduce ANonParameterizedObject */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); LinkedList<Object> listNode1 = new LinkedList<Object>(); { // Block } nodeList.add(listNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new51() /* reduce AAparameterizedobject1Object */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); LinkedList<Object> listNode2 = new LinkedList<Object>(); { // Block PKeyValue pkeyvalueNode1; pkeyvalueNode1 = (PKeyValue)nodeArrayList2.get(0); if(pkeyvalueNode1 != null) { listNode2.add(pkeyvalueNode1); } } nodeList.add(listNode2); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new52() /* reduce AAparameterizedobject2Object */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList4 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); LinkedList<Object> listNode3 = new LinkedList<Object>(); { // Block PKeyValue pkeyvalueNode1; LinkedList<Object> listNode2 = new LinkedList<Object>(); pkeyvalueNode1 = (PKeyValue)nodeArrayList2.get(0); listNode2 = (LinkedList)nodeArrayList3.get(0); if(pkeyvalueNode1 != null) { listNode3.add(pkeyvalueNode1); } if(listNode2 != null) { listNode3.addAll(listNode2); } } nodeList.add(listNode3); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new53() /* reduce AObjectTail */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PKeyValue pkeyvalueNode1; pkeyvalueNode1 = (PKeyValue)nodeArrayList2.get(0); nodeList.add(pkeyvalueNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new54() /* reduce ATerminal$StatementListTail */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); LinkedList<Object> listNode2 = new LinkedList<Object>(); { // Block PStatement pstatementNode1; pstatementNode1 = (PStatement)nodeArrayList1.get(0); if(pstatementNode1 != null) { listNode2.add(pstatementNode1); } } nodeList.add(listNode2); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new55() /* reduce ANonTerminal$StatementListTail */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); LinkedList<Object> listNode3 = new LinkedList<Object>(); { // Block LinkedList<Object> listNode1 = new LinkedList<Object>(); PStatement pstatementNode2; listNode1 = (LinkedList)nodeArrayList1.get(0); pstatementNode2 = (PStatement)nodeArrayList2.get(0); if(listNode1 != null) { listNode3.addAll(listNode1); } if(pstatementNode2 != null) { listNode3.add(pstatementNode2); } } nodeList.add(listNode3); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new56() /* reduce ATerminal$ListTail */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); LinkedList<Object> listNode2 = new LinkedList<Object>(); { // Block PElement pelementNode1; pelementNode1 = (PElement)nodeArrayList1.get(0); if(pelementNode1 != null) { listNode2.add(pelementNode1); } } nodeList.add(listNode2); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new57() /* reduce ANonTerminal$ListTail */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); LinkedList<Object> listNode3 = new LinkedList<Object>(); { // Block LinkedList<Object> listNode1 = new LinkedList<Object>(); PElement pelementNode2; listNode1 = (LinkedList)nodeArrayList1.get(0); pelementNode2 = (PElement)nodeArrayList2.get(0); if(listNode1 != null) { listNode3.addAll(listNode1); } if(pelementNode2 != null) { listNode3.add(pelementNode2); } } nodeList.add(listNode3); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new58() /* reduce ATerminal$ObjectTail */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); LinkedList<Object> listNode2 = new LinkedList<Object>(); { // Block PKeyValue pkeyvalueNode1; pkeyvalueNode1 = (PKeyValue)nodeArrayList1.get(0); if(pkeyvalueNode1 != null) { listNode2.add(pkeyvalueNode1); } } nodeList.add(listNode2); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<Object> new59() /* reduce ANonTerminal$ObjectTail */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); LinkedList<Object> listNode3 = new LinkedList<Object>(); { // Block LinkedList<Object> listNode1 = new LinkedList<Object>(); PKeyValue pkeyvalueNode2; listNode1 = (LinkedList)nodeArrayList1.get(0); pkeyvalueNode2 = (PKeyValue)nodeArrayList2.get(0); if(listNode1 != null) { listNode3.addAll(listNode1); } if(pkeyvalueNode2 != null) { listNode3.add(pkeyvalueNode2); } } nodeList.add(listNode3); return nodeList; } private static int[][][] actionTable; /* { {{-1, ERROR, 0}, {11, SHIFT, 1}, {29, SHIFT, 2}, }, {{-1, ERROR, 1}, {29, SHIFT, 7}, }, {{-1, ERROR, 2}, {9, SHIFT, 8}, }, {{-1, ERROR, 3}, {32, ACCEPT, -1}, }, {{-1, REDUCE, 0}, }, {{-1, REDUCE, 1}, }, {{-1, REDUCE, 37}, }, {{-1, ERROR, 7}, {12, SHIFT, 9}, }, {{-1, ERROR, 8}, {1, SHIFT, 10}, {10, SHIFT, 11}, {12, SHIFT, 12}, {17, SHIFT, 13}, {20, SHIFT, 14}, {21, SHIFT, 15}, {22, SHIFT, 16}, {29, SHIFT, 17}, {30, SHIFT, 18}, }, {{-1, ERROR, 9}, {15, SHIFT, 23}, {29, SHIFT, 24}, }, {{-1, REDUCE, 46}, }, {{-1, REDUCE, 38}, }, {{-1, ERROR, 12}, {1, SHIFT, 10}, {12, SHIFT, 12}, {13, SHIFT, 27}, {17, SHIFT, 13}, {20, SHIFT, 14}, {21, SHIFT, 15}, {22, SHIFT, 16}, {29, SHIFT, 17}, {30, SHIFT, 18}, }, {{-1, REDUCE, 6}, }, {{-1, REDUCE, 7}, }, {{-1, REDUCE, 8}, }, {{-1, REDUCE, 45}, }, {{-1, REDUCE, 43}, {9, SHIFT, 8}, }, {{-1, REDUCE, 44}, }, {{-1, REDUCE, 42}, }, {{-1, REDUCE, 48}, }, {{-1, ERROR, 21}, {10, SHIFT, 30}, {31, SHIFT, 31}, }, {{-1, REDUCE, 47}, }, {{-1, ERROR, 23}, {9, SHIFT, 34}, }, {{-1, ERROR, 24}, {14, SHIFT, 35}, }, {{-1, ERROR, 25}, {13, SHIFT, 36}, }, {{-1, REDUCE, 3}, {15, SHIFT, 23}, {29, SHIFT, 24}, }, {{-1, REDUCE, 50}, }, {{-1, ERROR, 28}, {14, SHIFT, 40}, }, {{-1, ERROR, 29}, {13, SHIFT, 41}, {31, SHIFT, 42}, }, {{-1, REDUCE, 39}, }, {{-1, ERROR, 31}, {1, SHIFT, 10}, {12, SHIFT, 12}, {17, SHIFT, 13}, {20, SHIFT, 14}, {21, SHIFT, 15}, {22, SHIFT, 16}, {29, SHIFT, 17}, {30, SHIFT, 18}, }, {{-1, REDUCE, 56}, }, {{-1, ERROR, 33}, {10, SHIFT, 46}, {31, SHIFT, 31}, }, {{-1, ERROR, 34}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 35}, {22, SHIFT, 60}, }, {{-1, REDUCE, 2}, }, {{-1, REDUCE, 54}, }, {{-1, REDUCE, 5}, }, {{-1, REDUCE, 4}, {15, SHIFT, 23}, {29, SHIFT, 24}, }, {{-1, ERROR, 40}, {1, SHIFT, 10}, {12, SHIFT, 12}, {17, SHIFT, 13}, {20, SHIFT, 14}, {21, SHIFT, 15}, {22, SHIFT, 16}, {29, SHIFT, 17}, {30, SHIFT, 18}, }, {{-1, REDUCE, 51}, }, {{-1, ERROR, 42}, {1, SHIFT, 10}, {12, SHIFT, 12}, {17, SHIFT, 13}, {20, SHIFT, 14}, {21, SHIFT, 15}, {22, SHIFT, 16}, {29, SHIFT, 17}, {30, SHIFT, 18}, }, {{-1, REDUCE, 58}, }, {{-1, ERROR, 44}, {13, SHIFT, 64}, {31, SHIFT, 42}, }, {{-1, REDUCE, 41}, }, {{-1, REDUCE, 40}, }, {{-1, REDUCE, 57}, }, {{-1, ERROR, 48}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, REDUCE, 32}, }, {{-1, ERROR, 50}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, REDUCE, 33}, }, {{-1, REDUCE, 34}, }, {{-1, REDUCE, 36}, }, {{-1, ERROR, 54}, {10, SHIFT, 68}, }, {{-1, REDUCE, 13}, {2, SHIFT, 69}, {3, SHIFT, 70}, }, {{-1, REDUCE, 16}, }, {{-1, REDUCE, 23}, {4, SHIFT, 71}, {5, SHIFT, 72}, }, {{-1, REDUCE, 26}, {6, SHIFT, 73}, {7, SHIFT, 74}, {8, SHIFT, 75}, {23, SHIFT, 76}, {24, SHIFT, 77}, {25, SHIFT, 78}, {26, SHIFT, 79}, {27, SHIFT, 80}, {28, SHIFT, 81}, }, {{-1, REDUCE, 30}, }, {{-1, ERROR, 60}, {17, SHIFT, 13}, {20, SHIFT, 14}, {21, SHIFT, 15}, }, {{-1, REDUCE, 55}, }, {{-1, REDUCE, 49}, }, {{-1, REDUCE, 53}, }, {{-1, REDUCE, 52}, }, {{-1, REDUCE, 59}, }, {{-1, REDUCE, 31}, }, {{-1, ERROR, 67}, {10, SHIFT, 83}, }, {{-1, ERROR, 68}, {12, SHIFT, 84}, }, {{-1, ERROR, 69}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 70}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 71}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 72}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 73}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 74}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 75}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 76}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 77}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 78}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 79}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 80}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 81}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, REDUCE, 9}, {9, SHIFT, 99}, }, {{-1, REDUCE, 35}, }, {{-1, ERROR, 84}, {15, SHIFT, 23}, {29, SHIFT, 24}, }, {{-1, REDUCE, 14}, }, {{-1, REDUCE, 15}, }, {{-1, REDUCE, 24}, {6, SHIFT, 73}, {7, SHIFT, 74}, {8, SHIFT, 75}, }, {{-1, REDUCE, 25}, {6, SHIFT, 73}, {7, SHIFT, 74}, {8, SHIFT, 75}, }, {{-1, REDUCE, 27}, }, {{-1, REDUCE, 28}, }, {{-1, REDUCE, 29}, }, {{-1, REDUCE, 17}, {4, SHIFT, 71}, {5, SHIFT, 72}, }, {{-1, REDUCE, 26}, {6, SHIFT, 73}, {7, SHIFT, 74}, {8, SHIFT, 75}, }, {{-1, REDUCE, 18}, {4, SHIFT, 71}, {5, SHIFT, 72}, }, {{-1, REDUCE, 19}, {4, SHIFT, 71}, {5, SHIFT, 72}, }, {{-1, REDUCE, 20}, {4, SHIFT, 71}, {5, SHIFT, 72}, }, {{-1, REDUCE, 21}, {4, SHIFT, 71}, {5, SHIFT, 72}, }, {{-1, REDUCE, 22}, {4, SHIFT, 71}, {5, SHIFT, 72}, }, {{-1, ERROR, 99}, {0, SHIFT, 48}, {1, SHIFT, 49}, {9, SHIFT, 50}, {18, SHIFT, 51}, {19, SHIFT, 52}, {29, SHIFT, 53}, }, {{-1, ERROR, 100}, {13, SHIFT, 102}, }, {{-1, ERROR, 101}, {10, SHIFT, 103}, }, {{-1, REDUCE, 12}, {16, SHIFT, 104}, }, {{-1, REDUCE, 10}, }, {{-1, ERROR, 104}, {12, SHIFT, 105}, }, {{-1, ERROR, 105}, {15, SHIFT, 23}, {29, SHIFT, 24}, }, {{-1, ERROR, 106}, {13, SHIFT, 107}, }, {{-1, REDUCE, 11}, }, };*/ private static int[][][] gotoTable; /* { {{-1, 3}, }, {{-1, 4}, }, {{-1, 25}, {84, 100}, {105, 106}, }, {{-1, 37}, {39, 61}, }, {{-1, 19}, {60, 82}, }, {{-1, 26}, {26, 38}, {39, 38}, }, {{-1, 54}, {50, 67}, {99, 101}, }, {{-1, 55}, }, {{-1, 56}, {69, 85}, {70, 86}, }, {{-1, 57}, {76, 92}, {77, 94}, {78, 95}, {79, 96}, {80, 97}, {81, 98}, }, {{-1, 93}, {34, 58}, {50, 58}, {69, 58}, {70, 58}, {71, 87}, {72, 88}, {99, 58}, }, {{-1, 59}, {48, 66}, {73, 89}, {74, 90}, {75, 91}, }, {{-1, 5}, }, {{-1, 20}, {0, 6}, }, {{-1, 32}, {33, 47}, }, {{-1, 28}, {8, 21}, {31, 45}, {40, 62}, }, {{-1, 29}, {42, 63}, }, {{-1, 22}, }, {{-1, 43}, {44, 65}, }, {{-1, 39}, }, {{-1, 33}, }, {{-1, 44}, }, };*/ private static String[] errorMessages; /* { "expecting: 'form', identifier", "expecting: identifier", "expecting: '('", "expecting: EOF", "expecting: '{'", "expecting: number, ')', '{', 'boolean', 'string', 'int', string, identifier, hex", "expecting: 'if', identifier", "expecting: ')', '}', ':', ','", "expecting: ')', '}', ':', ',', EOF", "expecting: number, '{', '}', 'boolean', 'string', 'int', string, identifier, hex", "expecting: '(', ')', '}', ':', 'if', identifier, ','", "expecting: '(', ')', '}', ':', ','", "expecting: ')', ','", "expecting: ':'", "expecting: '}'", "expecting: '}', 'if', identifier", "expecting: '}', ','", "expecting: number, '{', 'boolean', 'string', 'int', string, identifier, hex", "expecting: '!', number, '(', 'true', 'false', identifier", "expecting: string", "expecting: '||', '&&', '+', '-', '*', '/', '%', ')', '==', '!=', '<', '>', '<=', '>='", "expecting: ')'", "expecting: '||', '&&', ')'", "expecting: '||', '&&', '+', '-', ')'", "expecting: 'boolean', 'string', 'int'", "expecting: '(', '}', 'if', identifier", "expecting: '||', '&&', '+', '-', '*', '/', '%', ')'", "expecting: '}', 'if', 'else', identifier", };*/ private static int[] errors; /* { 0, 1, 2, 3, 3, 3, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 7, 11, 7, 7, 7, 12, 7, 2, 13, 14, 15, 7, 13, 16, 8, 17, 12, 12, 18, 19, 3, 15, 15, 15, 17, 7, 17, 16, 16, 12, 8, 12, 18, 20, 18, 20, 20, 20, 21, 22, 22, 23, 20, 20, 24, 15, 16, 16, 7, 16, 20, 21, 4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 25, 20, 6, 22, 22, 26, 26, 20, 20, 20, 23, 26, 23, 23, 23, 23, 23, 18, 14, 21, 27, 15, 4, 6, 14, 15, };*/ 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."); } } }