Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
prerna.sablecc2.parser.Parser Maven / Gradle / Ivy
/* This file was generated by SableCC (http://www.sablecc.org/). */
package prerna.sablecc2.parser;
import prerna.sablecc2.lexer.*;
import prerna.sablecc2.node.*;
import prerna.sablecc2.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 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;
}
@SuppressWarnings({"unchecked","unused"})
private void push(int numstate, ArrayList 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 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 ign = null;
while(true)
{
while(index(this.lexer.peek()) == -1)
{
if(ign == null)
{
ign = new LinkedList();
}
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);
}
break;
case REDUCE:
{
int reduction = this.action[1];
if(reduction < 500) reduce_0(reduction);
}
break;
case ACCEPT:
{
EOF node2 = (EOF) this.lexer.next();
PConfiguration node1 = (PConfiguration) 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 AAroutineconfiguration1Configuration */
{
ArrayList list = new0();
push(goTo(0), list);
}
break;
case 1: /* reduce AAroutineconfiguration2Configuration */
{
ArrayList list = new1();
push(goTo(0), list);
}
break;
case 2: /* reduce AEmptyConfiguration */
{
ArrayList list = new2();
push(goTo(0), list);
}
break;
case 3: /* reduce AOutputRoutine */
{
ArrayList list = new3();
push(goTo(1), list);
}
break;
case 4: /* reduce AAssignRoutine */
{
ArrayList list = new4();
push(goTo(1), list);
}
break;
case 5: /* reduce AMetaRoutine */
{
ArrayList list = new5();
push(goTo(1), list);
}
break;
case 6: /* reduce AMainCommentRoutine */
{
ArrayList list = new6();
push(goTo(1), list);
}
break;
case 7: /* reduce AEmptyroutine */
{
ArrayList list = new7();
push(goTo(2), list);
}
break;
case 8: /* reduce AAscript1Script */
{
ArrayList list = new8();
push(goTo(3), list);
}
break;
case 9: /* reduce AAscript2Script */
{
ArrayList list = new9();
push(goTo(3), list);
}
break;
case 10: /* reduce AOtherscript */
{
ArrayList list = new10();
push(goTo(4), list);
}
break;
case 11: /* reduce AAssignment */
{
ArrayList list = new11();
push(goTo(5), list);
}
break;
case 12: /* reduce AMetaScriptMetaRoutine */
{
ArrayList list = new12();
push(goTo(6), list);
}
break;
case 13: /* reduce AMetaAssignmentMetaRoutine */
{
ArrayList list = new13();
push(goTo(6), list);
}
break;
case 14: /* reduce AMandatoryScriptchain */
{
ArrayList list = new14();
push(goTo(7), list);
}
break;
case 15: /* reduce ABaseSubExpr */
{
ArrayList list = new15();
push(goTo(8), list);
}
break;
case 16: /* reduce ABaseSubScript */
{
ArrayList list = new16();
push(goTo(9), list);
}
break;
case 17: /* reduce ABaseAssignment */
{
ArrayList list = new17();
push(goTo(10), list);
}
break;
case 18: /* reduce ASimpleSubRoutineOptions */
{
ArrayList list = new18();
push(goTo(11), list);
}
break;
case 19: /* reduce AChainSubRoutineOptions */
{
ArrayList list = new19();
push(goTo(11), list);
}
break;
case 20: /* reduce AAssignmentSubRoutineOptions */
{
ArrayList list = new20();
push(goTo(11), list);
}
break;
case 21: /* reduce ASubRoutine */
{
ArrayList list = new21();
push(goTo(12), list);
}
break;
case 22: /* reduce ANormalMasterExpr */
{
ArrayList list = new22();
push(goTo(13), list);
}
break;
case 23: /* reduce AComparisonMasterExpr */
{
ArrayList list = new23();
push(goTo(13), list);
}
break;
case 24: /* reduce ABaseExprExpr */
{
ArrayList list = new24();
push(goTo(14), list);
}
break;
case 25: /* reduce AEmbeddedRoutineExpr */
{
ArrayList list = new25();
push(goTo(14), list);
}
break;
case 26: /* reduce AEmbeddedAssignmentExpr */
{
ArrayList list = new26();
push(goTo(14), list);
}
break;
case 27: /* reduce AHelpExpr */
{
ArrayList list = new27();
push(goTo(14), list);
}
break;
case 28: /* reduce ACommentExpr */
{
ArrayList list = new28();
push(goTo(14), list);
}
break;
case 29: /* reduce AExprComponentBaseExpr */
{
ArrayList list = new29();
push(goTo(15), list);
}
break;
case 30: /* reduce APlusBaseExpr */
{
ArrayList list = new30();
push(goTo(15), list);
}
break;
case 31: /* reduce AMinusBaseExpr */
{
ArrayList list = new31();
push(goTo(15), list);
}
break;
case 32: /* reduce AMultBaseExpr */
{
ArrayList list = new32();
push(goTo(15), list);
}
break;
case 33: /* reduce ADivBaseExpr */
{
ArrayList list = new33();
push(goTo(15), list);
}
break;
case 34: /* reduce AModBaseExpr */
{
ArrayList list = new34();
push(goTo(15), list);
}
break;
case 35: /* reduce ATermExprComponent */
{
ArrayList list = new35();
push(goTo(16), list);
}
break;
case 36: /* reduce APowerExprComponent */
{
ArrayList list = new36();
push(goTo(16), list);
}
break;
case 37: /* reduce AEmbeddedScriptchainExprComponent */
{
ArrayList list = new37();
push(goTo(16), list);
}
break;
case 38: /* reduce APower */
{
ArrayList list = new38();
push(goTo(17), list);
}
break;
case 39: /* reduce ARegTermTerm */
{
ArrayList list = new39();
push(goTo(18), list);
}
break;
case 40: /* reduce ANegTermTerm */
{
ArrayList list = new40();
push(goTo(18), list);
}
break;
case 41: /* reduce APosTermTerm */
{
ArrayList list = new41();
push(goTo(18), list);
}
break;
case 42: /* reduce ANegTerm */
{
ArrayList list = new42();
push(goTo(19), list);
}
break;
case 43: /* reduce APosTerm */
{
ArrayList list = new43();
push(goTo(20), list);
}
break;
case 44: /* reduce AScalarRegTerm */
{
ArrayList list = new44();
push(goTo(21), list);
}
break;
case 45: /* reduce AMapRegTerm */
{
ArrayList list = new45();
push(goTo(21), list);
}
break;
case 46: /* reduce AFormulaRegTerm */
{
ArrayList list = new46();
push(goTo(21), list);
}
break;
case 47: /* reduce AOperationRegTerm */
{
ArrayList list = new47();
push(goTo(21), list);
}
break;
case 48: /* reduce ARefRegTerm */
{
ArrayList list = new48();
push(goTo(21), list);
}
break;
case 49: /* reduce ADotcolRegTerm */
{
ArrayList list = new49();
push(goTo(21), list);
}
break;
case 50: /* reduce AJavaOpRegTerm */
{
ArrayList list = new50();
push(goTo(21), list);
}
break;
case 51: /* reduce AListRegTerm */
{
ArrayList list = new51();
push(goTo(21), list);
}
break;
case 52: /* reduce ACsvRegTerm */
{
ArrayList list = new52();
push(goTo(21), list);
}
break;
case 53: /* reduce AFormula */
{
ArrayList list = new53();
push(goTo(22), list);
}
break;
case 54: /* reduce AEmptyList */
{
ArrayList list = new54();
push(goTo(23), list);
}
break;
case 55: /* reduce AFilledList */
{
ArrayList list = new55();
push(goTo(23), list);
}
break;
case 56: /* reduce ANoValuesList */
{
ArrayList list = new56();
push(goTo(24), list);
}
break;
case 57: /* reduce AValuesList */
{
ArrayList list = new57();
push(goTo(25), list);
}
break;
case 58: /* reduce AOtherExpr */
{
ArrayList list = new58();
push(goTo(26), list);
}
break;
case 59: /* reduce AAoperation1Operation */
{
ArrayList list = new59();
push(goTo(27), list);
}
break;
case 60: /* reduce AAoperation2Operation */
{
ArrayList list = new60();
push(goTo(27), list);
}
break;
case 61: /* reduce AAoperation3Operation */
{
ArrayList list = new61();
push(goTo(27), list);
}
break;
case 62: /* reduce AAoperation4Operation */
{
ArrayList list = new62();
push(goTo(27), list);
}
break;
case 63: /* reduce AAoperation5Operation */
{
ArrayList list = new63();
push(goTo(27), list);
}
break;
case 64: /* reduce AAoperation6Operation */
{
ArrayList list = new64();
push(goTo(27), list);
}
break;
case 65: /* reduce AAoperation7Operation */
{
ArrayList list = new65();
push(goTo(27), list);
}
break;
case 66: /* reduce AAoperation8Operation */
{
ArrayList list = new66();
push(goTo(27), list);
}
break;
case 67: /* reduce ANounOpInput */
{
ArrayList list = new67();
push(goTo(28), list);
}
break;
case 68: /* reduce AInput$Expr1OpInput */
{
ArrayList list = new68();
push(goTo(28), list);
}
break;
case 69: /* reduce AInput$Prop1OpInput */
{
ArrayList list = new69();
push(goTo(28), list);
}
break;
case 70: /* reduce AInput$Relation1OpInput */
{
ArrayList list = new70();
push(goTo(28), list);
}
break;
case 71: /* reduce AOtherOpInput */
{
ArrayList list = new71();
push(goTo(29), list);
}
break;
case 72: /* reduce AAgenrow1GenRow */
{
ArrayList list = new72();
push(goTo(30), list);
}
break;
case 73: /* reduce AAgenrow2$Expr1GenRow */
{
ArrayList list = new73();
push(goTo(30), list);
}
break;
case 74: /* reduce AAgenrow2$Prop1GenRow */
{
ArrayList list = new74();
push(goTo(30), list);
}
break;
case 75: /* reduce AAgenrow2$Relation1GenRow */
{
ArrayList list = new75();
push(goTo(30), list);
}
break;
case 76: /* reduce AAgenrow3GenRow */
{
ArrayList list = new76();
push(goTo(30), list);
}
break;
case 77: /* reduce AAgenrow4$Expr1GenRow */
{
ArrayList list = new77();
push(goTo(30), list);
}
break;
case 78: /* reduce AAgenrow4$Prop1GenRow */
{
ArrayList list = new78();
push(goTo(30), list);
}
break;
case 79: /* reduce AAgenrow4$Relation1GenRow */
{
ArrayList list = new79();
push(goTo(30), list);
}
break;
case 80: /* reduce AExpr1Othercol */
{
ArrayList list = new80();
push(goTo(31), list);
}
break;
case 81: /* reduce AProp1Othercol */
{
ArrayList list = new81();
push(goTo(31), list);
}
break;
case 82: /* reduce ARelation1Othercol */
{
ArrayList list = new82();
push(goTo(31), list);
}
break;
case 83: /* reduce ANoun */
{
ArrayList list = new83();
push(goTo(32), list);
}
break;
case 84: /* reduce AProp */
{
ArrayList list = new84();
push(goTo(33), list);
}
break;
case 85: /* reduce AAsop */
{
ArrayList list = new85();
push(goTo(34), list);
}
break;
case 86: /* reduce AExplicitRelationship */
{
ArrayList list = new86();
push(goTo(35), list);
}
break;
case 87: /* reduce AExplicitComparatorRelationship */
{
ArrayList list = new87();
push(goTo(35), list);
}
break;
case 88: /* reduce AImplicitRelationship */
{
ArrayList list = new88();
push(goTo(35), list);
}
break;
case 89: /* reduce AExpr1$Expr2ImplicitRel */
{
ArrayList list = new89();
push(goTo(36), list);
}
break;
case 90: /* reduce AExpr1$Prop2ImplicitRel */
{
ArrayList list = new90();
push(goTo(36), list);
}
break;
case 91: /* reduce AExpr1$Relation2ImplicitRel */
{
ArrayList list = new91();
push(goTo(36), list);
}
break;
case 92: /* reduce AProp1$Expr2ImplicitRel */
{
ArrayList list = new92();
push(goTo(36), list);
}
break;
case 93: /* reduce AProp1$Prop2ImplicitRel */
{
ArrayList list = new93();
push(goTo(36), list);
}
break;
case 94: /* reduce AProp1$Relation2ImplicitRel */
{
ArrayList list = new94();
push(goTo(36), list);
}
break;
case 95: /* reduce ARelation1$Expr2ImplicitRel */
{
ArrayList list = new95();
push(goTo(36), list);
}
break;
case 96: /* reduce ARelation1$Prop2ImplicitRel */
{
ArrayList list = new96();
push(goTo(36), list);
}
break;
case 97: /* reduce ARelation1$Relation2ImplicitRel */
{
ArrayList list = new97();
push(goTo(36), list);
}
break;
case 98: /* reduce AExpr1$Expr2ExplicitRelComparator */
{
ArrayList list = new98();
push(goTo(37), list);
}
break;
case 99: /* reduce AExpr1$Prop2ExplicitRelComparator */
{
ArrayList list = new99();
push(goTo(37), list);
}
break;
case 100: /* reduce AExpr1$Relation2ExplicitRelComparator */
{
ArrayList list = new100();
push(goTo(37), list);
}
break;
case 101: /* reduce AProp1$Expr2ExplicitRelComparator */
{
ArrayList list = new101();
push(goTo(37), list);
}
break;
case 102: /* reduce AProp1$Prop2ExplicitRelComparator */
{
ArrayList list = new102();
push(goTo(37), list);
}
break;
case 103: /* reduce AProp1$Relation2ExplicitRelComparator */
{
ArrayList list = new103();
push(goTo(37), list);
}
break;
case 104: /* reduce ARelation1$Expr2ExplicitRelComparator */
{
ArrayList list = new104();
push(goTo(37), list);
}
break;
case 105: /* reduce ARelation1$Prop2ExplicitRelComparator */
{
ArrayList list = new105();
push(goTo(37), list);
}
break;
case 106: /* reduce ARelation1$Relation2ExplicitRelComparator */
{
ArrayList list = new106();
push(goTo(37), list);
}
break;
case 107: /* reduce AExpr1$Expr2$Expr3ExplicitRel */
{
ArrayList list = new107();
push(goTo(38), list);
}
break;
case 108: /* reduce AExpr1$Expr2$Prop3ExplicitRel */
{
ArrayList list = new108();
push(goTo(38), list);
}
break;
case 109: /* reduce AExpr1$Expr2$Relation3ExplicitRel */
{
ArrayList list = new109();
push(goTo(38), list);
}
break;
case 110: /* reduce AExpr1$Prop2$Expr3ExplicitRel */
{
ArrayList list = new110();
push(goTo(38), list);
}
break;
case 111: /* reduce AExpr1$Prop2$Prop3ExplicitRel */
{
ArrayList list = new111();
push(goTo(38), list);
}
break;
case 112: /* reduce AExpr1$Prop2$Relation3ExplicitRel */
{
ArrayList list = new112();
push(goTo(38), list);
}
break;
case 113: /* reduce AExpr1$Relation2$Expr3ExplicitRel */
{
ArrayList list = new113();
push(goTo(38), list);
}
break;
case 114: /* reduce AExpr1$Relation2$Prop3ExplicitRel */
{
ArrayList list = new114();
push(goTo(38), list);
}
break;
case 115: /* reduce AExpr1$Relation2$Relation3ExplicitRel */
{
ArrayList list = new115();
push(goTo(38), list);
}
break;
case 116: /* reduce AProp1$Expr2$Expr3ExplicitRel */
{
ArrayList list = new116();
push(goTo(38), list);
}
break;
case 117: /* reduce AProp1$Expr2$Prop3ExplicitRel */
{
ArrayList list = new117();
push(goTo(38), list);
}
break;
case 118: /* reduce AProp1$Expr2$Relation3ExplicitRel */
{
ArrayList list = new118();
push(goTo(38), list);
}
break;
case 119: /* reduce AProp1$Prop2$Expr3ExplicitRel */
{
ArrayList list = new119();
push(goTo(38), list);
}
break;
case 120: /* reduce AProp1$Prop2$Prop3ExplicitRel */
{
ArrayList list = new120();
push(goTo(38), list);
}
break;
case 121: /* reduce AProp1$Prop2$Relation3ExplicitRel */
{
ArrayList list = new121();
push(goTo(38), list);
}
break;
case 122: /* reduce AProp1$Relation2$Expr3ExplicitRel */
{
ArrayList list = new122();
push(goTo(38), list);
}
break;
case 123: /* reduce AProp1$Relation2$Prop3ExplicitRel */
{
ArrayList list = new123();
push(goTo(38), list);
}
break;
case 124: /* reduce AProp1$Relation2$Relation3ExplicitRel */
{
ArrayList list = new124();
push(goTo(38), list);
}
break;
case 125: /* reduce ARelation1$Expr2$Expr3ExplicitRel */
{
ArrayList list = new125();
push(goTo(38), list);
}
break;
case 126: /* reduce ARelation1$Expr2$Prop3ExplicitRel */
{
ArrayList list = new126();
push(goTo(38), list);
}
break;
case 127: /* reduce ARelation1$Expr2$Relation3ExplicitRel */
{
ArrayList list = new127();
push(goTo(38), list);
}
break;
case 128: /* reduce ARelation1$Prop2$Expr3ExplicitRel */
{
ArrayList list = new128();
push(goTo(38), list);
}
break;
case 129: /* reduce ARelation1$Prop2$Prop3ExplicitRel */
{
ArrayList list = new129();
push(goTo(38), list);
}
break;
case 130: /* reduce ARelation1$Prop2$Relation3ExplicitRel */
{
ArrayList list = new130();
push(goTo(38), list);
}
break;
case 131: /* reduce ARelation1$Relation2$Expr3ExplicitRel */
{
ArrayList list = new131();
push(goTo(38), list);
}
break;
case 132: /* reduce ARelation1$Relation2$Prop3ExplicitRel */
{
ArrayList list = new132();
push(goTo(38), list);
}
break;
case 133: /* reduce ARelation1$Relation2$Relation3ExplicitRel */
{
ArrayList list = new133();
push(goTo(38), list);
}
break;
case 134: /* reduce ATermComparisonExpr */
{
ArrayList list = new134();
push(goTo(39), list);
}
break;
case 135: /* reduce AComparisonGroupComparisonExpr */
{
ArrayList list = new135();
push(goTo(39), list);
}
break;
case 136: /* reduce AComplexOrComparisonExpr */
{
ArrayList list = new136();
push(goTo(39), list);
}
break;
case 137: /* reduce AComplexAndComparisonExpr */
{
ArrayList list = new137();
push(goTo(39), list);
}
break;
case 138: /* reduce ABasicComparisonTerm */
{
ArrayList list = new138();
push(goTo(40), list);
}
break;
case 139: /* reduce ABasicAndComparisonTerm */
{
ArrayList list = new139();
push(goTo(40), list);
}
break;
case 140: /* reduce ABasicOrComparisonTerm */
{
ArrayList list = new140();
push(goTo(40), list);
}
break;
case 141: /* reduce AComparisonGroup */
{
ArrayList list = new141();
push(goTo(41), list);
}
break;
case 142: /* reduce AAsimplecaseandcomparison1AndComparison */
{
ArrayList list = new142();
push(goTo(42), list);
}
break;
case 143: /* reduce AAsimplecaseandcomparison2AndComparison */
{
ArrayList list = new143();
push(goTo(42), list);
}
break;
case 144: /* reduce AAleftcomplexandcomparison1AndComparison */
{
ArrayList list = new144();
push(goTo(42), list);
}
break;
case 145: /* reduce AAleftcomplexandcomparison2AndComparison */
{
ArrayList list = new145();
push(goTo(42), list);
}
break;
case 146: /* reduce AArightcomplexandcomparison1AndComparison */
{
ArrayList list = new146();
push(goTo(42), list);
}
break;
case 147: /* reduce AArightcomplexandcomparison2AndComparison */
{
ArrayList list = new147();
push(goTo(42), list);
}
break;
case 148: /* reduce AAbothcomplexandcomparison1AndComparison */
{
ArrayList list = new148();
push(goTo(42), list);
}
break;
case 149: /* reduce AAbothcomplexandcomparison2AndComparison */
{
ArrayList list = new149();
push(goTo(42), list);
}
break;
case 150: /* reduce ARepeatingAndComparison */
{
ArrayList list = new150();
push(goTo(43), list);
}
break;
case 151: /* reduce AAsimplecaseorcomparison1OrComparison */
{
ArrayList list = new151();
push(goTo(44), list);
}
break;
case 152: /* reduce AAsimplecaseorcomparison2OrComparison */
{
ArrayList list = new152();
push(goTo(44), list);
}
break;
case 153: /* reduce AAleftcomplexorcomparison1OrComparison */
{
ArrayList list = new153();
push(goTo(44), list);
}
break;
case 154: /* reduce AAleftcomplexorcomparison2OrComparison */
{
ArrayList list = new154();
push(goTo(44), list);
}
break;
case 155: /* reduce AArightcomplexorcomparison1OrComparison */
{
ArrayList list = new155();
push(goTo(44), list);
}
break;
case 156: /* reduce AArightcomplexorcomparison2OrComparison */
{
ArrayList list = new156();
push(goTo(44), list);
}
break;
case 157: /* reduce AAbothcomplexorcomparison1OrComparison */
{
ArrayList list = new157();
push(goTo(44), list);
}
break;
case 158: /* reduce AAbothcomplexorcomparison2OrComparison */
{
ArrayList list = new158();
push(goTo(44), list);
}
break;
case 159: /* reduce ARepeatingOrComparison */
{
ArrayList list = new159();
push(goTo(45), list);
}
break;
case 160: /* reduce ABaseSimpleComparison */
{
ArrayList list = new160();
push(goTo(46), list);
}
break;
case 161: /* reduce AJavaOp */
{
ArrayList list = new161();
push(goTo(47), list);
}
break;
case 162: /* reduce ARcol */
{
ArrayList list = new162();
push(goTo(48), list);
}
break;
case 163: /* reduce ADotcol */
{
ArrayList list = new163();
push(goTo(49), list);
}
break;
case 164: /* reduce AAmap1Map */
{
ArrayList list = new164();
push(goTo(50), list);
}
break;
case 165: /* reduce AAmap2Map */
{
ArrayList list = new165();
push(goTo(50), list);
}
break;
case 166: /* reduce AAmap3Map */
{
ArrayList list = new166();
push(goTo(50), list);
}
break;
case 167: /* reduce AAmap4Map */
{
ArrayList list = new167();
push(goTo(50), list);
}
break;
case 168: /* reduce AMapEntry */
{
ArrayList list = new168();
push(goTo(51), list);
}
break;
case 169: /* reduce AOtherMapEntry */
{
ArrayList list = new169();
push(goTo(52), list);
}
break;
case 170: /* reduce ASimpleValues */
{
ArrayList list = new170();
push(goTo(53), list);
}
break;
case 171: /* reduce AListValues */
{
ArrayList list = new171();
push(goTo(53), list);
}
break;
case 172: /* reduce ANestedMapValues */
{
ArrayList list = new172();
push(goTo(53), list);
}
break;
case 173: /* reduce AMapOperationValues */
{
ArrayList list = new173();
push(goTo(53), list);
}
break;
case 174: /* reduce AAmaplist1MapList */
{
ArrayList list = new174();
push(goTo(54), list);
}
break;
case 175: /* reduce AAmaplist2MapList */
{
ArrayList list = new175();
push(goTo(54), list);
}
break;
case 176: /* reduce AAmaplist3MapList */
{
ArrayList list = new176();
push(goTo(54), list);
}
break;
case 177: /* reduce AAmaplist4MapList */
{
ArrayList list = new177();
push(goTo(54), list);
}
break;
case 178: /* reduce AMapListExtend */
{
ArrayList list = new178();
push(goTo(55), list);
}
break;
case 179: /* reduce AWordMapKey */
{
ArrayList list = new179();
push(goTo(56), list);
}
break;
case 180: /* reduce AVarMapKey */
{
ArrayList list = new180();
push(goTo(56), list);
}
break;
case 181: /* reduce AListMapExtendedInput */
{
ArrayList list = new181();
push(goTo(57), list);
}
break;
case 182: /* reduce AScalarMapExtendedInput */
{
ArrayList list = new182();
push(goTo(57), list);
}
break;
case 183: /* reduce ANestedMapMapExtendedInput */
{
ArrayList list = new183();
push(goTo(57), list);
}
break;
case 184: /* reduce AMapVarMapBaseInput */
{
ArrayList list = new184();
push(goTo(58), list);
}
break;
case 185: /* reduce ANormalScalarMapBaseInput */
{
ArrayList list = new185();
push(goTo(58), list);
}
break;
case 186: /* reduce AMapNegNumMapBaseInput */
{
ArrayList list = new186();
push(goTo(58), list);
}
break;
case 187: /* reduce AMapVar */
{
ArrayList list = new187();
push(goTo(59), list);
}
break;
case 188: /* reduce AMapNegNum */
{
ArrayList list = new188();
push(goTo(60), list);
}
break;
case 189: /* reduce ANumScalar */
{
ArrayList list = new189();
push(goTo(61), list);
}
break;
case 190: /* reduce ABooleanScalar */
{
ArrayList list = new190();
push(goTo(61), list);
}
break;
case 191: /* reduce ANullScalar */
{
ArrayList list = new191();
push(goTo(61), list);
}
break;
case 192: /* reduce AWordOrIdScalar */
{
ArrayList list = new192();
push(goTo(61), list);
}
break;
case 193: /* reduce AWordWordOrId */
{
ArrayList list = new193();
push(goTo(62), list);
}
break;
case 194: /* reduce AIdWordOrId */
{
ArrayList list = new194();
push(goTo(62), list);
}
break;
case 195: /* reduce AWholeDecimalDecimal */
{
ArrayList list = new195();
push(goTo(63), list);
}
break;
case 196: /* reduce AFractionDecimalDecimal */
{
ArrayList list = new196();
push(goTo(63), list);
}
break;
case 197: /* reduce AAwholedecimal1WholeDecimal */
{
ArrayList list = new197();
push(goTo(64), list);
}
break;
case 198: /* reduce AAwholedecimal2WholeDecimal */
{
ArrayList list = new198();
push(goTo(64), list);
}
break;
case 199: /* reduce AAwholedecimal3WholeDecimal */
{
ArrayList list = new199();
push(goTo(64), list);
}
break;
case 200: /* reduce AAwholedecimal4WholeDecimal */
{
ArrayList list = new200();
push(goTo(64), list);
}
break;
case 201: /* reduce AFractionDecimal */
{
ArrayList list = new201();
push(goTo(65), list);
}
break;
case 202: /* reduce ATerminal$Routine */
{
ArrayList list = new202();
push(goTo(66), list);
}
break;
case 203: /* reduce ANonTerminal$Routine */
{
ArrayList list = new203();
push(goTo(66), list);
}
break;
case 204: /* reduce ATerminal$Semicolon */
{
ArrayList list = new204();
push(goTo(67), list);
}
break;
case 205: /* reduce ANonTerminal$Semicolon */
{
ArrayList list = new205();
push(goTo(67), list);
}
break;
case 206: /* reduce ATerminal$Otherscript */
{
ArrayList list = new206();
push(goTo(68), list);
}
break;
case 207: /* reduce ANonTerminal$Otherscript */
{
ArrayList list = new207();
push(goTo(68), list);
}
break;
case 208: /* reduce ATerminal$SubRoutineOptions */
{
ArrayList list = new208();
push(goTo(69), list);
}
break;
case 209: /* reduce ANonTerminal$SubRoutineOptions */
{
ArrayList list = new209();
push(goTo(69), list);
}
break;
case 210: /* reduce ATerminal$OtherExpr */
{
ArrayList list = new210();
push(goTo(70), list);
}
break;
case 211: /* reduce ANonTerminal$OtherExpr */
{
ArrayList list = new211();
push(goTo(70), list);
}
break;
case 212: /* reduce ATerminal$OtherOpInput */
{
ArrayList list = new212();
push(goTo(71), list);
}
break;
case 213: /* reduce ANonTerminal$OtherOpInput */
{
ArrayList list = new213();
push(goTo(71), list);
}
break;
case 214: /* reduce ATerminal$Othercol */
{
ArrayList list = new214();
push(goTo(72), list);
}
break;
case 215: /* reduce ANonTerminal$Othercol */
{
ArrayList list = new215();
push(goTo(72), list);
}
break;
case 216: /* reduce ATerminal$RepeatingAndComparison */
{
ArrayList list = new216();
push(goTo(73), list);
}
break;
case 217: /* reduce ANonTerminal$RepeatingAndComparison */
{
ArrayList list = new217();
push(goTo(73), list);
}
break;
case 218: /* reduce ATerminal$RepeatingOrComparison */
{
ArrayList list = new218();
push(goTo(74), list);
}
break;
case 219: /* reduce ANonTerminal$RepeatingOrComparison */
{
ArrayList list = new219();
push(goTo(74), list);
}
break;
case 220: /* reduce ATerminal$OtherMapEntry */
{
ArrayList list = new220();
push(goTo(75), list);
}
break;
case 221: /* reduce ANonTerminal$OtherMapEntry */
{
ArrayList list = new221();
push(goTo(75), list);
}
break;
case 222: /* reduce ATerminal$MapListExtend */
{
ArrayList list = new222();
push(goTo(76), list);
}
break;
case 223: /* reduce ANonTerminal$MapListExtend */
{
ArrayList list = new223();
push(goTo(76), list);
}
break;
}
}
@SuppressWarnings({ "unchecked", "rawtypes" })
ArrayList new0() /* reduce AAroutineconfiguration1Configuration */
{
@SuppressWarnings("hiding") ArrayList nodeList = new ArrayList();
PConfiguration pconfigurationNode1;
{
// Block
LinkedList listNode2 = new LinkedList();
{
// Block
}
pconfigurationNode1 = new ARoutineConfiguration(listNode2);
}
nodeList.add(pconfigurationNode1);
return nodeList;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
ArrayList new1() /* reduce AAroutineconfiguration2Configuration */
{
@SuppressWarnings("hiding") ArrayList nodeList = new ArrayList();
@SuppressWarnings("unused") ArrayList nodeArrayList1 = pop();
PConfiguration pconfigurationNode1;
{
// Block
LinkedList listNode3 = new LinkedList();
{
// Block
LinkedList listNode2 = new LinkedList();
listNode2 = (LinkedList)nodeArrayList1.get(0);
if(listNode2 != null)
{
listNode3.addAll(listNode2);
}
}
pconfigurationNode1 = new ARoutineConfiguration(listNode3);
}
nodeList.add(pconfigurationNode1);
return nodeList;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
ArrayList new2() /* reduce AEmptyConfiguration */
{
@SuppressWarnings("hiding") ArrayList nodeList = new ArrayList();
@SuppressWarnings("unused") ArrayList nodeArrayList1 = pop();
PConfiguration pconfigurationNode1;
{
// Block
PEmptyroutine pemptyroutineNode2;
pemptyroutineNode2 = (PEmptyroutine)nodeArrayList1.get(0);
pconfigurationNode1 = new AEmptyConfiguration(pemptyroutineNode2);
}
nodeList.add(pconfigurationNode1);
return nodeList;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
ArrayList