|
Parser.java
|
// *******************************************************************
// This file has been automatically generated from the grammar in file
// BLD.grm by ilog.language.syntax.ParserGenerator on
// Tue Jun 03 15:07:39 CEST 2008 --- !!! PLEASE DO NO EDIT !!!
// *******************************************************************
package ilog.rif.bld;
import java.io.Reader;
import java.io.StringReader;
import java.io.IOException;
import ilog.language.syntax.*;
import java.io.PrintStream;
import ilog.language.tools.Misc;
/* ************ */
/* PARSER CLASS */
/* ************ */
public class Parser extends StaticParser
{
/* ************************ */
/* PARSER CLASS CONSTRUCTOR */
/* ************************ */
public Parser(Tokenizer t)
{
input = t;
xmlroot = "document";
xmlrootNsprefix = "rif";
String[] ns = {"rif","http://www.w3.org/2008/rif"};
namespaces = ns;
}
/* ************************* */
/* PARSER CLASS DECLARATIONS */
/* ************************* */
static
{
Lexicon.reserved("Group");
Lexicon.reserved("External");
Lexicon.reserved("Exists");
Lexicon.reserved("Forall");
Lexicon.reserved("Or");
Lexicon.reserved("And");
}
long start;
boolean quiet = true;
boolean applet = false;
String xmlForm;
PrintStream out = System.out;
public void setStartTime ()
{
start = System.currentTimeMillis();
}
public void setApplet (boolean flag)
{
applet = flag;
}
public void setQuiet (boolean flag)
{
quiet = flag;
}
public void setOutputStream (PrintStream stream)
{
out = stream;
}
public String xmlForm ()
{
return xmlForm;
}
void showXml ()
{
if (applet)
{
xmlForm = xmlForm(currentNode().xmlDocument());
}
else
{
out.println("*** Total parsing time = "
+(System.currentTimeMillis()-start)
+" ms");
if (!quiet)
{
errorManager().tallyErrors();
if (Misc.askYesNo("*** Do you want to see the XML serialization"))
{
out.println();
try
{
writeXml(currentNode(),System.out);
}
catch (Exception e)
{
e.printStackTrace();
}
// currentNode().display();
out.println();
}
}
}
}
/* ********************** */
/* STATIC INITIALIZATIONS */
/* ********************** */
static
{
initializeTerminals();
initializeNonTerminals();
initializeRules();
initializeParserActions();
initializeParserStates();
initializeActionTables();
initializeGotoTables();
initializeStateTables();
}
/* ********************* */
/* PARTIAL PARSE METHODS */
/* ********************* */
final static ParseNode $RIFDOCUMENT_SWITCH$ = new ParseNode(terminals[3]);
public final void parseRifDocument (String s) throws IOException
{
parseRifDocument(new StringReader(s));
}
public final void parseRifDocument (Reader r) throws IOException
{
input.setReader(r);
errorManager().recoverFromErrors(false);
setSwitchToken($RIFDOCUMENT_SWITCH$);
parse();
}
/* **************** */
/* SEMANTIC ACTIONS */
/* **************** */
protected ParseNode semanticAction(ParserRule $rule$) throws IOException
{
ParseNode $head$ = new ParseNode($rule$.head);
switch($rule$.index())
{
case 2:
{
$head$ = $head$.copy(node($rule$,2));
break;
}
case 62:
{
showXml();
break;
}
case 0: case 1: case 10: case 16: case 18: case 44: case 51: case 56:
break;
default:
$head$ = $head$.copy(node($rule$,1));
break;
}
return $head$;
}
/* **************** */
/* TERMINAL SYMBOLS */
/* **************** */
static void initializeTerminals ()
{
terminals = new ParserTerminal[24];
newTerminal(0,"$EMPTY$",1,2);
newTerminal(1,"$E_O_I$",1,2);
newTerminal(2,"error",1,2);
newTerminal(3,"$RifDocument_switch$",1,2);
newTerminal(4,"OPENPAR",1,2);
newTerminal(5,"CLOSEPAR",1,2);
newTerminal(6,"OPENBRA",1,2);
newTerminal(7,"CLOSEBRA",1,2);
newTerminal(8,"GROUP",11,2);
newTerminal(9,"EXTERNAL",11,2);
newTerminal(10,"LEXSPACE",11,2);
newTerminal(11,"COLON",11,2);
newTerminal(12,"OR",21,2);
newTerminal(13,"AND",21,2);
newTerminal(14,"FORALL",21,2);
newTerminal(15,"EXISTS",21,2);
newTerminal(16,"IF",31,2);
newTerminal(17,"ARROW",31,2);
newTerminal(18,"EQUAL",31,2);
newTerminal(19,"MEMBER",31,2);
newTerminal(20,"SUBCLASS",31,2);
newTerminal(21,"VARIABLE",41,2);
{ // Code for XML serialization annotation:
// [ localname = "Var" child = ( $VALUE ) ]
terminals[21].setXmlInfo(new XmlInfo("Var"));
terminals[21].setTerminalValueFlag();
}
newTerminal(22,"STRING",41,2);
{ // Code for XML serialization annotation:
// [ localname = "Str" child = ( $VALUE ) ]
terminals[22].setXmlInfo(new XmlInfo("Str"));
terminals[22].setTerminalValueFlag();
}
newTerminal(23,"IDENTIFIER",41,2);
{ // Code for XML serialization annotation:
// [ localname = "Id" child = ( $VALUE ) ]
terminals[23].setXmlInfo(new XmlInfo("Id"));
terminals[23].setTerminalValueFlag();
}
}
/* ******************** */
/* NON-TERMINAL SYMBOLS */
/* ******************** */
static void initializeNonTerminals ()
{
nonterminals = new ParserNonTerminal[36];
newNonTerminal(0,"$START$");
newNonTerminal(1,"$ROOTS$");
newNonTerminal(2,"RifDocument");
newNonTerminal(3,"Group");
newNonTerminal(4,"Meta_opt");
newNonTerminal(5,"RuleSet_opt");
newNonTerminal(6,"Meta");
newNonTerminal(7,"Frame");
newNonTerminal(8,"Rule");
newNonTerminal(9,"Clause");
newNonTerminal(10,"Vars_opt");
newNonTerminal(11,"Atomic");
newNonTerminal(12,"Implies");
newNonTerminal(13,"Formula");
newNonTerminal(14,"RuleSet");
newNonTerminal(15,"RuleOrGroup");
newNonTerminal(16,"Vars");
newNonTerminal(17,"Formulas_opt");
newNonTerminal(18,"Atom");
newNonTerminal(19,"Equal");
newNonTerminal(20,"Member");
newNonTerminal(21,"Subclass");
newNonTerminal(22,"Const");
newNonTerminal(23,"UniTermBody");
newNonTerminal(24,"Term");
newNonTerminal(25,"FrameAttributes_opt");
newNonTerminal(26,"Var");
newNonTerminal(27,"Expr");
newNonTerminal(28,"SymSpace");
newNonTerminal(29,"SubTerms_opt");
newNonTerminal(30,"SubTerms");
newNonTerminal(31,"SubTerm");
newNonTerminal(32,"TermAttribute");
newNonTerminal(33,"FrameAttributes");
newNonTerminal(34,"FrameAttribute");
newNonTerminal(35,"Formulas");
}
/* **************** */
/* PRODUCTION RULES */
/* **************** */
static void initializeRules ()
{
rules = new ParserRule[63];
rules[0] = new ParserRule(0,1,0,1,2);
rules[1] = new ParserRule(1,1,1,1,2);
rules[2] = new ParserRule(1,2,2,1,2);
rules[3] = new ParserRule(3,5,3,1,2);
{ // Code for XML serialization annotation:
// [ localname = "Group" children = ( meta*2 rule*4 ) ]
rules[3].setXmlInfo(new XmlInfo("Group"));
int[] xmlChildren = {2,4};
rules[3].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[2][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("meta",true);
paths[0] = path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("rule",true);
paths[1] = path;
rules[3].addXmlInfo(paths);
}
rules[4] = new ParserRule(6,1,4,1,2);
rules[5] = new ParserRule(8,1,5,1,2);
rules[6] = new ParserRule(8,5,6,1,2);
{ // Code for XML serialization annotation:
// [ localname = "Forall" children = ( declare*2 formula.4 ) ]
rules[6].setXmlInfo(new XmlInfo("Forall"));
int[] xmlChildren = {2,4};
rules[6].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[2][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("declare",true);
paths[0] = path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("formula");
paths[1] = path;
rules[6].addXmlInfo(paths);
}
rules[7] = new ParserRule(9,1,7,1,2);
rules[8] = new ParserRule(9,1,8,1,2);
rules[9] = new ParserRule(12,3,9,31,2);
{ // Code for XML serialization annotation:
// [ localname = "Implies" children = ( if.3 then.1 ) ]
rules[9].setXmlInfo(new XmlInfo("Implies"));
int[] xmlChildren = {3,1};
rules[9].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[2][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("if");
paths[0] = path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("then");
paths[1] = path;
rules[9].addXmlInfo(paths);
}
rules[10] = new ParserRule(5,0,10,1,2);
rules[11] = new ParserRule(5,1,11,1,2);
rules[12] = new ParserRule(14,1,12,1,2);
rules[13] = new ParserRule(14,2,13,1,2);
rules[14] = new ParserRule(15,1,14,1,2);
rules[15] = new ParserRule(15,1,15,1,2);
rules[16] = new ParserRule(4,0,16,1,2);
rules[17] = new ParserRule(4,1,17,1,2);
rules[18] = new ParserRule(10,0,18,1,2);
rules[19] = new ParserRule(10,1,19,1,2);
rules[20] = new ParserRule(13,1,20,1,2);
rules[21] = new ParserRule(13,4,21,1,2);
{ // Code for XML serialization annotation:
// [ localname = "And" children = ( formula*3 ) ]
rules[21].setXmlInfo(new XmlInfo("And"));
int[] xmlChildren = {3};
rules[21].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[1][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("formula",true);
paths[0] = path;
rules[21].addXmlInfo(paths);
}
rules[22] = new ParserRule(13,4,22,1,2);
{ // Code for XML serialization annotation:
// [ localname = "Or" children = ( formula*3 ) ]
rules[22].setXmlInfo(new XmlInfo("Or"));
int[] xmlChildren = {3};
rules[22].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[1][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("formula",true);
paths[0] = path;
rules[22].addXmlInfo(paths);
}
rules[23] = new ParserRule(13,5,23,1,2);
{ // Code for XML serialization annotation:
// [ localname = "Exists" children = ( declare*2 formula.4 ) ]
rules[23].setXmlInfo(new XmlInfo("Exists"));
int[] xmlChildren = {2,4};
rules[23].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[2][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("declare",true);
paths[0] = path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("formula");
paths[1] = path;
rules[23].addXmlInfo(paths);
}
rules[24] = new ParserRule(13,4,24,1,2);
{ // Code for XML serialization annotation:
// [ localname = "External" children = ( content.3 ) ]
rules[24].setXmlInfo(new XmlInfo("External"));
int[] xmlChildren = {3};
rules[24].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[1][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("content");
paths[0] = path;
rules[24].addXmlInfo(paths);
}
rules[25] = new ParserRule(11,1,25,1,2);
rules[26] = new ParserRule(11,1,26,1,2);
rules[27] = new ParserRule(11,1,27,1,2);
rules[28] = new ParserRule(11,1,28,1,2);
rules[29] = new ParserRule(11,1,29,1,2);
rules[30] = new ParserRule(18,4,30,1,2);
{ // Code for XML serialization annotation:
// [ localname = "Atom" children = ( op.1 arg*3 ) ]
rules[30].setXmlInfo(new XmlInfo("Atom"));
int[] xmlChildren = {1,3};
rules[30].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[2][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("op");
paths[0] = path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("arg",true);
paths[1] = path;
rules[30].addXmlInfo(paths);
}
rules[31] = new ParserRule(19,3,31,31,2);
{ // Code for XML serialization annotation:
// [ localname = "Equal" children = ( side.1 side.3 ) ]
rules[31].setXmlInfo(new XmlInfo("Equal"));
int[] xmlChildren = {1,3};
rules[31].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[2][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("side");
paths[0] = path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("side");
paths[1] = path;
rules[31].addXmlInfo(paths);
}
rules[32] = new ParserRule(20,3,32,31,2);
{ // Code for XML serialization annotation:
// [ localname = "Member" children = ( lower.1 upper.3 ) ]
rules[32].setXmlInfo(new XmlInfo("Member"));
int[] xmlChildren = {1,3};
rules[32].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[2][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("lower");
paths[0] = path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("upper");
paths[1] = path;
rules[32].addXmlInfo(paths);
}
rules[33] = new ParserRule(21,3,33,31,2);
{ // Code for XML serialization annotation:
// [ localname = "Subclass" children = ( lower.1 upper.3 ) ]
rules[33].setXmlInfo(new XmlInfo("Subclass"));
int[] xmlChildren = {1,3};
rules[33].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[2][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("lower");
paths[0] = path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("upper");
paths[1] = path;
rules[33].addXmlInfo(paths);
}
rules[34] = new ParserRule(7,4,34,1,2);
{ // Code for XML serialization annotation:
// [ localname = "Frame" children = ( object.1 slot*3 ) ]
rules[34].setXmlInfo(new XmlInfo("Frame"));
int[] xmlChildren = {1,3};
rules[34].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[2][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("object");
paths[0] = path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("slot",true);
paths[1] = path;
rules[34].addXmlInfo(paths);
}
rules[35] = new ParserRule(24,1,35,1,2);
rules[36] = new ParserRule(24,1,36,1,2);
rules[37] = new ParserRule(24,1,37,1,2);
rules[38] = new ParserRule(24,4,38,1,2);
{ // Code for XML serialization annotation:
// [ localname = "External" children = ( content.3 ) ]
rules[38].setXmlInfo(new XmlInfo("External"));
int[] xmlChildren = {3};
rules[38].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[1][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("content");
paths[0] = path;
rules[38].addXmlInfo(paths);
}
rules[39] = new ParserRule(27,4,39,1,2);
{ // Code for XML serialization annotation:
// [ localname = "Expr" children = ( op.1 arg*3 ) ]
rules[39].setXmlInfo(new XmlInfo("Expr"));
int[] xmlChildren = {1,3};
rules[39].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[2][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("op");
paths[0] = path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("arg",true);
paths[1] = path;
rules[39].addXmlInfo(paths);
}
rules[40] = new ParserRule(22,3,40,11,2);
{ // Code for XML serialization annotation:
// [ localname = "Const" attributes = { type = $TEXT ( "&" 3/typespace ";" 3/typename ) } children = ( 1[1] ) ]
rules[40].setXmlInfo(new XmlInfo("Const"));
XmlAttributeInfo[] xmlAttributes = new XmlAttributeInfo[1];
XmlTextInfoArg[] formArgs = new XmlTextInfoArg[4];
(formArgs[0] = new XmlTextInfoArg()).setText("&");
formArgs[1] = new XmlTextInfoArg(3,"typespace");
(formArgs[2] = new XmlTextInfoArg()).setText(";");
formArgs[3] = new XmlTextInfoArg(3,"typename");
XmlSpecialForm textForm = new XmlSpecialForm(formArgs);
xmlAttributes[0] = new XmlAttributeInfo("type",textForm);
rules[40].addXmlInfo(xmlAttributes);
int[] xmlChildren = {1};
rules[40].addXmlInfo(xmlChildren);
{
int[][] paths = new int[1][];
int[] path;
path = new int[1];
path[0] = 1;
paths[0] = path;
rules[40].addXmlInfo(paths);
}
}
rules[41] = new ParserRule(28,3,41,41,2);
{ // Code for XML serialization annotation:
// [ localname = "Symspace" attributes = { typespace = 1 typename = 3 } ]
rules[41].setXmlInfo(new XmlInfo("Symspace"));
XmlAttributeInfo[] xmlAttributes = new XmlAttributeInfo[2];
xmlAttributes[0] = XmlAttributeInfo.eltXmlAttributeInfo("typespace");
xmlAttributes[0].setChild(1);
xmlAttributes[1] = XmlAttributeInfo.eltXmlAttributeInfo("typename");
xmlAttributes[1].setChild(3);
rules[41].addXmlInfo(xmlAttributes);
}
rules[42] = new ParserRule(26,1,42,41,2);
rules[43] = new ParserRule(23,1,43,1,2);
rules[44] = new ParserRule(29,0,44,1,2);
rules[45] = new ParserRule(29,1,45,1,2);
rules[46] = new ParserRule(30,1,46,1,2);
rules[47] = new ParserRule(30,2,47,1,2);
rules[48] = new ParserRule(31,1,48,1,2);
rules[49] = new ParserRule(31,1,49,1,2);
rules[50] = new ParserRule(32,3,50,31,2);
rules[51] = new ParserRule(25,0,51,1,2);
rules[52] = new ParserRule(25,1,52,1,2);
rules[53] = new ParserRule(33,1,53,1,2);
rules[54] = new ParserRule(33,2,54,1,2);
rules[55] = new ParserRule(34,3,55,31,2);
{ // Code for XML serialization annotation:
// [ localname = "Prop" children = ( key.1 val.3 ) ]
rules[55].setXmlInfo(new XmlInfo("Prop"));
int[] xmlChildren = {1,3};
rules[55].addXmlInfo(xmlChildren);
XmlWrapper[][] paths = new XmlWrapper[2][];
XmlWrapper[] path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("key");
paths[0] = path;
path = new XmlWrapper[1];
path[0] = new XmlWrapper("val");
paths[1] = path;
rules[55].addXmlInfo(paths);
}
rules[56] = new ParserRule(17,0,56,1,2);
rules[57] = new ParserRule(17,1,57,1,2);
rules[58] = new ParserRule(35,1,58,1,2);
rules[59] = new ParserRule(35,2,59,1,2);
rules[60] = new ParserRule(16,1,60,1,2);
rules[61] = new ParserRule(16,2,61,1,2);
rules[62] = new ParserRule(2,1,62,1,2);
}
/* ************** */
/* PARSER ACTIONS */
/* ************** */
static void initializeParserActions ()
{
actions = new ParserAction[534];
newAction(0,5,0);
newAction(1,2,0);
newAction(2,0,3);
newAction(3,0,5);
newAction(4,1,1);
newAction(5,0,5);
newAction(6,1,62);
newAction(7,1,16);
newAction(8,0,10);
newAction(9,0,14);
newAction(10,0,15);
newAction(11,0,46);
newAction(12,1,17);
newAction(13,1,4);
newAction(14,0,37);
newAction(15,0,32);
newAction(16,1,35);
newAction(17,1,35);
newAction(18,1,35);
newAction(19,1,35);
newAction(20,1,35);
newAction(21,1,35);
newAction(22,1,35);
newAction(23,1,35);
newAction(24,1,35);
newAction(25,1,35);
newAction(26,1,35);
newAction(27,1,35);
newAction(28,1,35);
newAction(29,0,19);
newAction(30,1,36);
newAction(31,1,36);
newAction(32,1,36);
newAction(33,1,36);
newAction(34,1,36);
newAction(35,1,36);
newAction(36,1,36);
newAction(37,1,36);
newAction(38,1,36);
newAction(39,1,36);
newAction(40,1,36);
newAction(41,1,36);
newAction(42,1,36);
newAction(43,1,36);
newAction(44,1,36);
newAction(45,1,36);
newAction(46,1,37);
newAction(47,1,37);
newAction(48,1,37);
newAction(49,1,37);
newAction(50,1,37);
newAction(51,1,37);
newAction(52,1,37);
newAction(53,1,37);
newAction(54,1,37);
newAction(55,1,37);
newAction(56,1,37);
newAction(57,1,37);
newAction(58,1,37);
newAction(59,1,37);
newAction(60,1,37);
newAction(61,1,37);
newAction(62,0,16);
newAction(63,1,42);
newAction(64,1,42);
newAction(65,1,42);
newAction(66,1,42);
newAction(67,1,42);
newAction(68,1,42);
newAction(69,1,42);
newAction(70,1,42);
newAction(71,1,42);
newAction(72,1,42);
newAction(73,1,42);
newAction(74,1,42);
newAction(75,1,42);
newAction(76,1,42);
newAction(77,1,42);
newAction(78,1,42);
newAction(79,1,42);
newAction(80,0,10);
newAction(81,0,31);
newAction(82,0,19);
newAction(83,0,10);
newAction(84,0,14);
newAction(85,0,15);
newAction(86,1,44);
newAction(87,0,30);
newAction(88,1,43);
newAction(89,1,35);
newAction(90,1,35);
newAction(91,1,35);
newAction(92,1,35);
newAction(93,0,19);
newAction(94,0,28);
newAction(95,1,45);
newAction(96,0,10);
newAction(97,0,14);
newAction(98,0,15);
newAction(99,1,46);
newAction(100,1,46);
newAction(101,1,46);
newAction(102,1,46);
newAction(103,1,48);
newAction(104,1,48);
newAction(105,1,48);
newAction(106,1,48);
newAction(107,1,49);
newAction(108,1,49);
newAction(109,1,49);
newAction(110,1,49);
newAction(111,1,47);
newAction(112,1,47);
newAction(113,1,47);
newAction(114,1,47);
newAction(115,0,10);
newAction(116,0,14);
newAction(117,0,15);
newAction(118,1,50);
newAction(119,1,50);
newAction(120,1,50);
newAction(121,1,50);
newAction(122,1,39);
newAction(123,1,39);
newAction(124,1,39);
newAction(125,1,39);
newAction(126,1,39);
newAction(127,1,39);
newAction(128,1,39);
newAction(129,1,39);
newAction(130,1,39);
newAction(131,1,39);
newAction(132,1,39);
newAction(133,1,39);
newAction(134,1,39);
newAction(135,1,38);
newAction(136,1,38);
newAction(137,1,38);
newAction(138,1,38);
newAction(139,1,38);
newAction(140,1,38);
newAction(141,1,38);
newAction(142,1,38);
newAction(143,1,38);
newAction(144,1,38);
newAction(145,1,38);
newAction(146,1,38);
newAction(147,1,38);
newAction(148,1,38);
newAction(149,1,38);
newAction(150,1,38);
newAction(151,0,34);
newAction(152,1,40);
newAction(153,1,40);
newAction(154,1,40);
newAction(155,1,40);
newAction(156,1,40);
newAction(157,1,40);
newAction(158,1,40);
newAction(159,1,40);
newAction(160,1,40);
newAction(161,1,40);
newAction(162,1,40);
newAction(163,1,40);
newAction(164,1,40);
newAction(165,1,40);
newAction(166,1,40);
newAction(167,1,40);
newAction(168,1,40);
newAction(169,0,35);
newAction(170,0,36);
newAction(171,1,41);
newAction(172,1,41);
newAction(173,1,41);
newAction(174,1,41);
newAction(175,1,41);
newAction(176,1,41);
newAction(177,1,41);
newAction(178,1,41);
newAction(179,1,41);
newAction(180,1,41);
newAction(181,1,41);
newAction(182,1,41);
newAction(183,1,41);
newAction(184,1,41);
newAction(185,1,41);
newAction(186,1,41);
newAction(187,1,41);
newAction(188,0,10);
newAction(189,0,14);
newAction(190,1,51);
newAction(191,0,15);
newAction(192,0,45);
newAction(193,1,52);
newAction(194,0,10);
newAction(195,0,14);
newAction(196,0,15);
newAction(197,1,53);
newAction(198,1,53);
newAction(199,1,53);
newAction(200,1,53);
newAction(201,0,42);
newAction(202,0,10);
newAction(203,0,14);
newAction(204,0,15);
newAction(205,1,55);
newAction(206,1,55);
newAction(207,1,55);
newAction(208,1,55);
newAction(209,1,54);
newAction(210,1,54);
newAction(211,1,54);
newAction(212,1,54);
newAction(213,1,34);
newAction(214,1,34);
newAction(215,1,34);
newAction(216,1,34);
newAction(217,1,34);
newAction(218,1,34);
newAction(219,1,34);
newAction(220,1,34);
newAction(221,1,34);
newAction(222,1,34);
newAction(223,1,34);
newAction(224,0,5);
newAction(225,1,10);
newAction(226,0,51);
newAction(227,0,10);
newAction(228,0,14);
newAction(229,0,15);
newAction(230,0,104);
newAction(231,1,11);
newAction(232,0,5);
newAction(233,0,51);
newAction(234,0,10);
newAction(235,0,14);
newAction(236,0,15);
newAction(237,0,97);
newAction(238,0,98);
newAction(239,0,99);
newAction(240,0,37);
newAction(241,1,5);
newAction(242,1,5);
newAction(243,1,5);
newAction(244,1,5);
newAction(245,1,5);
newAction(246,1,5);
newAction(247,1,18);
newAction(248,0,15);
newAction(249,1,7);
newAction(250,1,7);
newAction(251,1,7);
newAction(252,1,7);
newAction(253,1,7);
newAction(254,1,7);
newAction(255,0,66);
newAction(256,1,8);
newAction(257,1,8);
newAction(258,1,8);
newAction(259,1,8);
newAction(260,1,8);
newAction(261,1,8);
newAction(262,1,25);
newAction(263,1,25);
newAction(264,1,25);
newAction(265,1,25);
newAction(266,1,25);
newAction(267,1,25);
newAction(268,1,25);
newAction(269,1,25);
newAction(270,1,25);
newAction(271,1,25);
newAction(272,1,26);
newAction(273,1,26);
newAction(274,1,26);
newAction(275,1,26);
newAction(276,1,26);
newAction(277,1,26);
newAction(278,1,26);
newAction(279,1,26);
newAction(280,1,26);
newAction(281,1,26);
newAction(282,1,27);
newAction(283,1,27);
newAction(284,1,27);
newAction(285,1,27);
newAction(286,1,27);
newAction(287,1,27);
newAction(288,1,27);
newAction(289,1,27);
newAction(290,1,27);
newAction(291,1,27);
newAction(292,1,28);
newAction(293,1,28);
newAction(294,1,28);
newAction(295,1,28);
newAction(296,1,28);
newAction(297,1,28);
newAction(298,1,28);
newAction(299,1,28);
newAction(300,1,28);
newAction(301,1,28);
newAction(302,1,29);
newAction(303,1,29);
newAction(304,1,29);
newAction(305,1,29);
newAction(306,1,29);
newAction(307,1,29);
newAction(308,1,29);
newAction(309,1,29);
newAction(310,1,29);
newAction(311,1,29);
newAction(312,1,12);
newAction(313,1,12);
newAction(314,1,12);
newAction(315,1,12);
newAction(316,1,12);
newAction(317,1,12);
newAction(318,1,14);
newAction(319,1,14);
newAction(320,1,14);
newAction(321,1,14);
newAction(322,1,14);
newAction(323,1,14);
newAction(324,1,15);
newAction(325,1,15);
newAction(326,1,15);
newAction(327,1,15);
newAction(328,1,15);
newAction(329,1,15);
newAction(330,0,63);
newAction(331,1,35);
newAction(332,1,35);
newAction(333,1,35);
newAction(334,1,35);
newAction(335,0,10);
newAction(336,0,14);
newAction(337,0,15);
newAction(338,1,44);
newAction(339,0,65);
newAction(340,1,30);
newAction(341,1,30);
newAction(342,1,30);
newAction(343,1,30);
newAction(344,1,30);
newAction(345,1,30);
newAction(346,1,30);
newAction(347,1,30);
newAction(348,1,30);
newAction(349,1,30);
newAction(350,1,39);
newAction(351,1,39);
newAction(352,1,39);
newAction(353,1,39);
newAction(354,0,69);
newAction(355,0,70);
newAction(356,0,71);
newAction(357,0,72);
newAction(358,0,10);
newAction(359,0,15);
newAction(360,1,9);
newAction(361,1,9);
newAction(362,1,9);
newAction(363,1,9);
newAction(364,1,9);
newAction(365,1,9);
newAction(366,1,20);
newAction(367,1,20);
newAction(368,1,20);
newAction(369,1,20);
newAction(370,1,20);
newAction(371,1,20);
newAction(372,1,20);
newAction(373,1,20);
newAction(374,1,20);
newAction(375,0,89);
newAction(376,0,83);
newAction(377,0,15);
newAction(378,0,73);
newAction(379,0,10);
newAction(380,0,76);
newAction(381,0,63);
newAction(382,1,24);
newAction(383,1,24);
newAction(384,1,24);
newAction(385,1,24);
newAction(386,1,24);
newAction(387,1,24);
newAction(388,1,24);
newAction(389,1,24);
newAction(390,1,24);
newAction(391,0,79);
newAction(392,0,15);
newAction(393,1,60);
newAction(394,1,60);
newAction(395,0,69);
newAction(396,0,70);
newAction(397,0,71);
newAction(398,0,72);
newAction(399,0,10);
newAction(400,0,15);
newAction(401,1,61);
newAction(402,1,61);
newAction(403,0,82);
newAction(404,1,23);
newAction(405,1,23);
newAction(406,1,23);
newAction(407,1,23);
newAction(408,1,23);
newAction(409,1,23);
newAction(410,1,23);
newAction(411,1,23);
newAction(412,1,23);
newAction(413,0,69);
newAction(414,0,70);
newAction(415,0,71);
newAction(416,0,72);
newAction(417,1,56);
newAction(418,0,10);
newAction(419,0,15);
newAction(420,0,88);
newAction(421,1,57);
newAction(422,0,69);
newAction(423,0,70);
newAction(424,0,71);
newAction(425,0,72);
newAction(426,0,10);
newAction(427,0,15);
newAction(428,1,58);
newAction(429,1,58);
newAction(430,1,58);
newAction(431,1,58);
newAction(432,1,58);
newAction(433,1,58);
newAction(434,1,58);
newAction(435,1,59);
newAction(436,1,59);
newAction(437,1,59);
newAction(438,1,59);
newAction(439,1,59);
newAction(440,1,59);
newAction(441,1,59);
newAction(442,1,22);
newAction(443,1,22);
newAction(444,1,22);
newAction(445,1,22);
newAction(446,1,22);
newAction(447,1,22);
newAction(448,1,22);
newAction(449,1,22);
newAction(450,1,22);
newAction(451,0,69);
newAction(452,0,70);
newAction(453,0,71);
newAction(454,0,72);
newAction(455,1,56);
newAction(456,0,10);
newAction(457,0,15);
newAction(458,0,91);
newAction(459,1,21);
newAction(460,1,21);
newAction(461,1,21);
newAction(462,1,21);
newAction(463,1,21);
newAction(464,1,21);
newAction(465,1,21);
newAction(466,1,21);
newAction(467,1,21);
newAction(468,0,94);
newAction(469,1,19);
newAction(470,0,15);
newAction(471,0,10);
newAction(472,0,14);
newAction(473,0,15);
newAction(474,0,96);
newAction(475,1,6);
newAction(476,1,6);
newAction(477,1,6);
newAction(478,1,6);
newAction(479,1,6);
newAction(480,1,6);
newAction(481,0,10);
newAction(482,0,14);
newAction(483,0,15);
newAction(484,0,10);
newAction(485,0,14);
newAction(486,0,15);
newAction(487,0,10);
newAction(488,0,14);
newAction(489,0,15);
newAction(490,1,33);
newAction(491,1,33);
newAction(492,1,33);
newAction(493,1,33);
newAction(494,1,33);
newAction(495,1,33);
newAction(496,1,33);
newAction(497,1,33);
newAction(498,1,33);
newAction(499,1,33);
newAction(500,1,32);
newAction(501,1,32);
newAction(502,1,32);
newAction(503,1,32);
newAction(504,1,32);
newAction(505,1,32);
newAction(506,1,32);
newAction(507,1,32);
newAction(508,1,32);
newAction(509,1,32);
newAction(510,1,31);
newAction(511,1,31);
newAction(512,1,31);
newAction(513,1,31);
newAction(514,1,31);
newAction(515,1,31);
newAction(516,1,31);
newAction(517,1,31);
newAction(518,1,31);
newAction(519,1,31);
newAction(520,1,13);
newAction(521,1,13);
newAction(522,1,13);
newAction(523,1,13);
newAction(524,1,13);
newAction(525,1,13);
newAction(526,1,3);
newAction(527,1,3);
newAction(528,1,3);
newAction(529,1,3);
newAction(530,1,3);
newAction(531,1,3);
newAction(532,1,3);
newAction(533,1,2);
}
/* ************* */
/* PARSER STATES */
/* ************* */
static void initializeParserStates ()
{
states = new ParserState[106];
for (int i=0; i<106; i++) newState(i);
}
/* ************* */
/* ACTION TABLES */
/* ************* */
static void initializeActionTables ()
{
newActionTables(97);
newActionTable(0,2);
setAction(0,8,3);
setAction(0,3,2);
newActionTable(1,1);
setAction(1,1,1);
newActionTable(2,1);
setAction(2,1,4);
newActionTable(3,1);
setAction(3,8,5);
newActionTable(4,1);
setAction(4,1,6);
newActionTable(5,4);
setAction(5,4,7);
setAction(5,9,9);
setAction(5,21,10);
setAction(5,22,8);
newActionTable(6,1);
setAction(6,4,11);
newActionTable(7,1);
setAction(7,4,12);
newActionTable(8,1);
setAction(8,4,13);
newActionTable(9,1);
setAction(9,6,14);
newActionTable(10,1);
setAction(10,10,15);
newActionTable(11,14);
setAction(11,15,24);
setAction(11,4,29);
setAction(11,8,19);
setAction(11,16,25);
setAction(11,7,18);
setAction(11,12,21);
setAction(11,22,28);
setAction(11,17,26);
setAction(11,13,22);
setAction(11,9,20);
setAction(11,21,27);
setAction(11,6,17);
setAction(11,14,23);
setAction(11,5,16);
newActionTable(12,16);
setAction(12,15,38);
setAction(12,19,42);
setAction(12,8,33);
setAction(12,16,39);
setAction(12,18,41);
setAction(12,7,32);
setAction(12,12,35);
setAction(12,22,45);
setAction(12,17,40);
setAction(12,13,36);
setAction(12,9,34);
setAction(12,21,44);
setAction(12,6,31);
setAction(12,20,43);
setAction(12,14,37);
setAction(12,5,30);
newActionTable(13,16);
setAction(13,15,54);
setAction(13,19,58);
setAction(13,8,49);
setAction(13,16,55);
setAction(13,18,57);
setAction(13,7,48);
setAction(13,12,51);
setAction(13,22,61);
setAction(13,17,56);
setAction(13,13,52);
setAction(13,9,50);
setAction(13,21,60);
setAction(13,6,47);
setAction(13,20,59);
setAction(13,14,53);
setAction(13,5,46);
newActionTable(14,1);
setAction(14,4,62);
newActionTable(15,17);
setAction(15,15,72);
setAction(15,4,63);
setAction(15,19,76);
setAction(15,8,67);
setAction(15,16,73);
setAction(15,18,75);
setAction(15,7,66);
setAction(15,12,69);
setAction(15,22,79);
setAction(15,17,74);
setAction(15,13,70);
setAction(15,9,68);
setAction(15,21,78);
setAction(15,6,65);
setAction(15,20,77);
setAction(15,14,71);
setAction(15,5,64);
newActionTable(16,1);
setAction(16,22,80);
newActionTable(17,1);
setAction(17,5,81);
newActionTable(18,1);
setAction(18,4,82);
newActionTable(19,4);
setAction(19,9,84);
setAction(19,21,85);
setAction(19,5,86);
setAction(19,22,83);
newActionTable(20,1);
setAction(20,5,87);
newActionTable(21,1);
setAction(21,5,88);
newActionTable(22,6);
setAction(22,17,94);
setAction(22,4,93);
setAction(22,9,90);
setAction(22,21,91);
setAction(22,5,89);
setAction(22,22,92);
newActionTable(23,4);
setAction(23,9,97);
setAction(23,21,98);
setAction(23,5,95);
setAction(23,22,96);
newActionTable(24,4);
setAction(24,9,100);
setAction(24,21,101);
setAction(24,5,99);
setAction(24,22,102);
newActionTable(25,4);
setAction(25,9,104);
setAction(25,21,105);
setAction(25,5,103);
setAction(25,22,106);
newActionTable(26,4);
setAction(26,9,108);
setAction(26,21,109);
setAction(26,5,107);
setAction(26,22,110);
newActionTable(27,4);
setAction(27,9,112);
setAction(27,21,113);
setAction(27,5,111);
setAction(27,22,114);
newActionTable(28,3);
setAction(28,9,116);
setAction(28,21,117);
setAction(28,22,115);
newActionTable(29,4);
setAction(29,9,119);
setAction(29,21,120);
setAction(29,5,118);
setAction(29,22,121);
newActionTable(30,13);
setAction(30,15,130);
setAction(30,8,125);
setAction(30,16,131);
setAction(30,7,124);
setAction(30,12,127);
setAction(30,22,134);
setAction(30,17,132);
setAction(30,13,128);
setAction(30,9,126);
setAction(30,21,133);
setAction(30,6,123);
setAction(30,14,129);
setAction(30,5,122);
newActionTable(31,16);
setAction(31,15,143);
setAction(31,19,147);
setAction(31,8,138);
setAction(31,16,144);
setAction(31,18,146);
setAction(31,7,137);
setAction(31,12,140);
setAction(31,22,150);
setAction(31,17,145);
setAction(31,13,141);
setAction(31,9,139);
setAction(31,21,149);
setAction(31,6,136);
setAction(31,20,148);
setAction(31,14,142);
setAction(31,5,135);
newActionTable(32,1);
setAction(32,23,151);
newActionTable(33,17);
setAction(33,15,161);
setAction(33,4,152);
setAction(33,19,165);
setAction(33,8,156);
setAction(33,16,162);
setAction(33,18,164);
setAction(33,7,155);
setAction(33,12,158);
setAction(33,22,168);
setAction(33,17,163);
setAction(33,13,159);
setAction(33,9,157);
setAction(33,21,167);
setAction(33,6,154);
setAction(33,20,166);
setAction(33,14,160);
setAction(33,5,153);
newActionTable(34,1);
setAction(34,11,169);
newActionTable(35,1);
setAction(35,23,170);
newActionTable(36,17);
setAction(36,15,180);
setAction(36,4,171);
setAction(36,19,184);
setAction(36,8,175);
setAction(36,16,181);
setAction(36,18,183);
setAction(36,7,174);
setAction(36,12,177);
setAction(36,22,187);
setAction(36,17,182);
setAction(36,13,178);
setAction(36,9,176);
setAction(36,21,186);
setAction(36,6,173);
setAction(36,20,185);
setAction(36,14,179);
setAction(36,5,172);
newActionTable(37,4);
setAction(37,9,189);
setAction(37,21,191);
setAction(37,7,190);
setAction(37,22,188);
newActionTable(38,1);
setAction(38,7,192);
newActionTable(39,4);
setAction(39,9,195);
setAction(39,21,196);
setAction(39,7,193);
setAction(39,22,194);
newActionTable(40,4);
setAction(40,9,198);
setAction(40,21,199);
setAction(40,7,197);
setAction(40,22,200);
newActionTable(41,1);
setAction(41,17,201);
newActionTable(42,4);
setAction(42,9,206);
setAction(42,21,207);
setAction(42,7,205);
setAction(42,22,208);
newActionTable(43,4);
setAction(43,9,210);
setAction(43,21,211);
setAction(43,7,209);
setAction(43,22,212);
newActionTable(44,11);
setAction(44,15,220);
setAction(44,13,218);
setAction(44,4,213);
setAction(44,9,216);
setAction(44,8,215);
setAction(44,21,222);
setAction(44,16,221);
setAction(44,14,219);
setAction(44,12,217);
setAction(44,5,214);
setAction(44,22,223);
newActionTable(45,6);
setAction(45,9,228);
setAction(45,8,224);
setAction(45,21,229);
setAction(45,14,226);
setAction(45,5,225);
setAction(45,22,227);
newActionTable(46,1);
setAction(46,5,230);
newActionTable(47,6);
setAction(47,9,235);
setAction(47,8,232);
setAction(47,21,236);
setAction(47,14,233);
setAction(47,5,231);
setAction(47,22,234);
newActionTable(48,4);
setAction(48,19,238);
setAction(48,6,240);
setAction(48,18,237);
setAction(48,20,239);
newActionTable(49,6);
setAction(49,9,243);
setAction(49,8,242);
setAction(49,21,245);
setAction(49,14,244);
setAction(49,5,241);
setAction(49,22,246);
newActionTable(50,2);
setAction(50,4,247);
setAction(50,21,248);
newActionTable(51,7);
setAction(51,9,251);
setAction(51,8,250);
setAction(51,21,253);
setAction(51,16,255);
setAction(51,14,252);
setAction(51,5,249);
setAction(51,22,254);
newActionTable(52,6);
setAction(52,9,258);
setAction(52,8,257);
setAction(52,21,260);
setAction(52,14,259);
setAction(52,5,256);
setAction(52,22,261);
newActionTable(53,10);
setAction(53,15,268);
setAction(53,13,266);
setAction(53,9,264);
setAction(53,8,263);
setAction(53,21,270);
setAction(53,16,269);
setAction(53,14,267);
setAction(53,12,265);
setAction(53,5,262);
setAction(53,22,271);
newActionTable(54,10);
setAction(54,15,278);
setAction(54,13,276);
setAction(54,9,274);
setAction(54,8,273);
setAction(54,21,280);
setAction(54,16,279);
setAction(54,14,277);
setAction(54,12,275);
setAction(54,5,272);
setAction(54,22,281);
newActionTable(55,10);
setAction(55,15,288);
setAction(55,13,286);
setAction(55,9,284);
setAction(55,8,283);
setAction(55,21,290);
setAction(55,16,289);
setAction(55,14,287);
setAction(55,12,285);
setAction(55,5,282);
setAction(55,22,291);
newActionTable(56,10);
setAction(56,15,298);
setAction(56,13,296);
setAction(56,9,294);
setAction(56,8,293);
setAction(56,21,300);
setAction(56,16,299);
setAction(56,14,297);
setAction(56,12,295);
setAction(56,5,292);
setAction(56,22,301);
newActionTable(57,10);
setAction(57,15,308);
setAction(57,13,306);
setAction(57,9,304);
setAction(57,8,303);
setAction(57,21,310);
setAction(57,16,309);
setAction(57,14,307);
setAction(57,12,305);
setAction(57,5,302);
setAction(57,22,311);
newActionTable(58,6);
setAction(58,9,314);
setAction(58,8,313);
setAction(58,21,316);
setAction(58,14,315);
setAction(58,5,312);
setAction(58,22,317);
newActionTable(59,6);
setAction(59,9,320);
setAction(59,8,319);
setAction(59,21,322);
setAction(59,14,321);
setAction(59,5,318);
setAction(59,22,323);
newActionTable(60,6);
setAction(60,9,326);
setAction(60,8,325);
setAction(60,21,328);
setAction(60,14,327);
setAction(60,5,324);
setAction(60,22,329);
newActionTable(61,5);
setAction(61,4,330);
setAction(61,19,333);
setAction(61,6,331);
setAction(61,18,332);
setAction(61,20,334);
newActionTable(62,1);
setAction(62,5,339);
newActionTable(63,14);
setAction(63,15,346);
setAction(63,19,352);
setAction(63,8,341);
setAction(63,16,347);
setAction(63,18,351);
setAction(63,12,343);
setAction(63,22,349);
setAction(63,13,344);
setAction(63,9,342);
setAction(63,21,348);
setAction(63,6,350);
setAction(63,20,353);
setAction(63,14,345);
setAction(63,5,340);
newActionTable(64,6);
setAction(64,15,356);
setAction(64,13,354);
setAction(64,9,357);
setAction(64,21,359);
setAction(64,12,355);
setAction(64,22,358);
newActionTable(65,6);
setAction(65,9,362);
setAction(65,8,361);
setAction(65,21,364);
setAction(65,14,363);
setAction(65,5,360);
setAction(65,22,365);
newActionTable(66,9);
setAction(66,15,372);
setAction(66,13,370);
setAction(66,9,368);
setAction(66,8,367);
setAction(66,21,373);
setAction(66,14,371);
setAction(66,12,369);
setAction(66,5,366);
setAction(66,22,374);
newActionTable(67,1);
setAction(67,4,375);
newActionTable(68,1);
setAction(68,4,376);
newActionTable(69,1);
setAction(69,21,377);
newActionTable(70,1);
setAction(70,4,378);
newActionTable(71,1);
setAction(71,5,380);
newActionTable(72,1);
setAction(72,4,381);
newActionTable(73,9);
setAction(73,15,388);
setAction(73,13,386);
setAction(73,9,384);
setAction(73,8,383);
setAction(73,21,389);
setAction(73,14,387);
setAction(73,12,385);
setAction(73,5,382);
setAction(73,22,390);
newActionTable(74,2);
setAction(74,4,391);
setAction(74,21,392);
newActionTable(75,2);
setAction(75,4,393);
setAction(75,21,394);
newActionTable(76,2);
setAction(76,4,401);
setAction(76,21,402);
newActionTable(77,1);
setAction(77,5,403);
newActionTable(78,9);
setAction(78,15,410);
setAction(78,13,408);
setAction(78,9,406);
setAction(78,8,405);
setAction(78,21,411);
setAction(78,14,409);
setAction(78,12,407);
setAction(78,5,404);
setAction(78,22,412);
newActionTable(79,7);
setAction(79,15,415);
setAction(79,13,413);
setAction(79,9,416);
setAction(79,21,419);
setAction(79,5,417);
setAction(79,12,414);
setAction(79,22,418);
newActionTable(80,1);
setAction(80,5,420);
newActionTable(81,7);
setAction(81,15,424);
setAction(81,13,422);
setAction(81,9,425);
setAction(81,21,427);
setAction(81,12,423);
setAction(81,5,421);
setAction(81,22,426);
newActionTable(82,7);
setAction(82,15,432);
setAction(82,13,431);
setAction(82,9,429);
setAction(82,21,433);
setAction(82,12,430);
setAction(82,5,428);
setAction(82,22,434);
newActionTable(83,7);
setAction(83,15,439);
setAction(83,13,438);
setAction(83,9,436);
setAction(83,21,440);
setAction(83,12,437);
setAction(83,5,435);
setAction(83,22,441);
newActionTable(84,9);
setAction(84,15,448);
setAction(84,13,446);
setAction(84,9,444);
setAction(84,8,443);
setAction(84,21,449);
setAction(84,14,447);
setAction(84,12,445);
setAction(84,5,442);
setAction(84,22,450);
newActionTable(85,1);
setAction(85,5,458);
newActionTable(86,9);
setAction(86,15,465);
setAction(86,13,463);
setAction(86,9,461);
setAction(86,8,460);
setAction(86,21,466);
setAction(86,14,464);
setAction(86,12,462);
setAction(86,5,459);
setAction(86,22,467);
newActionTable(87,1);
setAction(87,4,468);
newActionTable(88,2);
setAction(88,4,469);
setAction(88,21,470);
newActionTable(89,1);
setAction(89,5,474);
newActionTable(90,6);
setAction(90,9,477);
setAction(90,8,476);
setAction(90,21,479);
setAction(90,14,478);
setAction(90,5,475);
setAction(90,22,480);
newActionTable(91,10);
setAction(91,15,496);
setAction(91,13,494);
setAction(91,9,492);
setAction(91,8,491);
setAction(91,21,498);
setAction(91,16,497);
setAction(91,14,495);
setAction(91,12,493);
setAction(91,5,490);
setAction(91,22,499);
newActionTable(92,10);
setAction(92,15,506);
setAction(92,13,504);
setAction(92,9,502);
setAction(92,8,501);
setAction(92,21,508);
setAction(92,16,507);
setAction(92,14,505);
setAction(92,12,503);
setAction(92,5,500);
setAction(92,22,509);
newActionTable(93,10);
setAction(93,15,516);
setAction(93,13,514);
setAction(93,9,512);
setAction(93,8,511);
setAction(93,21,518);
setAction(93,16,517);
setAction(93,14,515);
setAction(93,12,513);
setAction(93,5,510);
setAction(93,22,519);
newActionTable(94,6);
setAction(94,9,522);
setAction(94,8,521);
setAction(94,21,524);
setAction(94,14,523);
setAction(94,5,520);
setAction(94,22,525);
newActionTable(95,7);
setAction(95,9,529);
setAction(95,8,528);
setAction(95,21,531);
setAction(95,1,526);
setAction(95,14,530);
setAction(95,5,527);
setAction(95,22,532);
newActionTable(96,1);
setAction(96,1,533);
}
/* *********** */
/* GOTO TABLES */
/* *********** */
static void initializeGotoTables ()
{
newGotoTables(28);
newGotoTable(0,3);
setGoto(0,2,2);
setGoto(0,1,1);
setGoto(0,3,4);
newGotoTable(1,0);
newGotoTable(2,2);
setGoto(2,2,105);
setGoto(2,3,4);
newGotoTable(3,7);
setGoto(3,4,6);
setGoto(3,26,12);
setGoto(3,6,7);
setGoto(3,24,9);
setGoto(3,7,8);
setGoto(3,27,13);
setGoto(3,22,11);
newGotoTable(4,2);
setGoto(4,22,18);
setGoto(4,27,17);
newGotoTable(5,9);
setGoto(5,32,26);
setGoto(5,30,23);
setGoto(5,26,12);
setGoto(5,23,20);
setGoto(5,31,24);
setGoto(5,29,21);
setGoto(5,24,25);
setGoto(5,27,13);
setGoto(5,22,22);
newGotoTable(6,6);
setGoto(6,32,26);
setGoto(6,26,12);
setGoto(6,31,27);
setGoto(6,24,25);
setGoto(6,27,13);
setGoto(6,22,22);
newGotoTable(7,4);
setGoto(7,26,12);
setGoto(7,24,29);
setGoto(7,27,13);
setGoto(7,22,11);
newGotoTable(8,1);
setGoto(8,28,33);
newGotoTable(9,7);
setGoto(9,34,40);
setGoto(9,26,12);
setGoto(9,33,39);
setGoto(9,24,41);
setGoto(9,25,38);
setGoto(9,27,13);
setGoto(9,22,11);
newGotoTable(10,5);
setGoto(10,34,44);
setGoto(10,26,12);
setGoto(10,24,41);
setGoto(10,27,13);
setGoto(10,22,11);
newGotoTable(11,4);
setGoto(11,26,12);
setGoto(11,24,43);
setGoto(11,27,13);
setGoto(11,22,11);
newGotoTable(12,17);
setGoto(12,15,59);
setGoto(12,19,55);
setGoto(12,8,60);
setGoto(12,26,12);
setGoto(12,11,52);
setGoto(12,18,54);
setGoto(12,3,61);
setGoto(12,7,58);
setGoto(12,12,53);
setGoto(12,27,13);
setGoto(12,22,62);
setGoto(12,9,50);
setGoto(12,21,57);
setGoto(12,20,56);
setGoto(12,14,48);
setGoto(12,24,49);
setGoto(12,5,47);
newGotoTable(13,15);
setGoto(13,15,103);
setGoto(13,19,55);
setGoto(13,8,60);
setGoto(13,26,12);
setGoto(13,11,52);
setGoto(13,18,54);
setGoto(13,3,61);
setGoto(13,7,58);
setGoto(13,12,53);
setGoto(13,27,13);
setGoto(13,22,62);
setGoto(13,9,50);
setGoto(13,21,57);
setGoto(13,20,56);
setGoto(13,24,49);
newGotoTable(14,3);
setGoto(14,26,78);
setGoto(14,16,93);
setGoto(14,10,92);
newGotoTable(15,9);
setGoto(15,32,26);
setGoto(15,30,23);
setGoto(15,26,12);
setGoto(15,23,64);
setGoto(15,31,24);
setGoto(15,29,21);
setGoto(15,24,25);
setGoto(15,27,13);
setGoto(15,22,22);
newGotoTable(16,11);
setGoto(16,13,67);
setGoto(16,19,55);
setGoto(16,26,12);
setGoto(16,21,57);
setGoto(16,11,68);
setGoto(16,18,54);
setGoto(16,20,56);
setGoto(16,24,49);
setGoto(16,7,58);
setGoto(16,27,13);
setGoto(16,22,62);
newGotoTable(17,2);
setGoto(17,26,78);
setGoto(17,16,77);
newGotoTable(18,3);
setGoto(18,18,74);
setGoto(18,22,75);
setGoto(18,27,17);
newGotoTable(19,1);
setGoto(19,26,80);
newGotoTable(20,11);
setGoto(20,13,81);
setGoto(20,19,55);
setGoto(20,26,12);
setGoto(20,21,57);
setGoto(20,11,68);
setGoto(20,18,54);
setGoto(20,20,56);
setGoto(20,24,49);
setGoto(20,7,58);
setGoto(20,27,13);
setGoto(20,22,62);
newGotoTable(21,13);
setGoto(21,19,55);
setGoto(21,26,12);
setGoto(21,11,68);
setGoto(21,18,54);
setGoto(21,35,85);
setGoto(21,7,58);
setGoto(21,22,62);
setGoto(21,27,13);
setGoto(21,17,84);
setGoto(21,13,86);
setGoto(21,21,57);
setGoto(21,20,56);
setGoto(21,24,49);
newGotoTable(22,11);
setGoto(22,13,87);
setGoto(22,19,55);
setGoto(22,26,12);
setGoto(22,21,57);
setGoto(22,11,68);
setGoto(22,18,54);
setGoto(22,20,56);
setGoto(22,24,49);
setGoto(22,7,58);
setGoto(22,27,13);
setGoto(22,22,62);
newGotoTable(23,13);
setGoto(23,19,55);
setGoto(23,26,12);
setGoto(23,11,68);
setGoto(23,18,54);
setGoto(23,35,85);
setGoto(23,7,58);
setGoto(23,22,62);
setGoto(23,27,13);
setGoto(23,17,90);
setGoto(23,13,86);
setGoto(23,21,57);
setGoto(23,20,56);
setGoto(23,24,49);
newGotoTable(24,12);
setGoto(24,19,55);
setGoto(24,9,95);
setGoto(24,26,12);
setGoto(24,21,57);
setGoto(24,11,52);
setGoto(24,18,54);
setGoto(24,20,56);
setGoto(24,24,49);
setGoto(24,7,58);
setGoto(24,12,53);
setGoto(24,27,13);
setGoto(24,22,62);
newGotoTable(25,4);
setGoto(25,26,12);
setGoto(25,24,102);
setGoto(25,27,13);
setGoto(25,22,11);
newGotoTable(26,4);
setGoto(26,26,12);
setGoto(26,24,101);
setGoto(26,27,13);
setGoto(26,22,11);
newGotoTable(27,4);
setGoto(27,26,12);
setGoto(27,24,100);
setGoto(27,27,13);
setGoto(27,22,11);
}
/* ************ */
/* STATE TABLES */
/* ************ */
static void initializeStateTables ()
{
setTables(0,0,0);
setTables(1,1,1);
setTables(2,2,1);
setTables(3,3,2);
setTables(4,4,1);
setTables(5,5,3);
setTables(6,6,1);
setTables(7,7,1);
setTables(8,8,1);
setTables(9,9,1);
setTables(10,10,1);
setTables(11,11,1);
setTables(12,12,1);
setTables(13,13,1);
setTables(14,14,1);
setTables(15,15,1);
setTables(16,16,4);
setTables(17,17,1);
setTables(18,18,1);
setTables(19,19,5);
setTables(20,20,1);
setTables(21,21,1);
setTables(22,22,1);
setTables(23,23,6);
setTables(24,24,1);
setTables(25,25,1);
setTables(26,26,1);
setTables(27,27,1);
setTables(28,28,7);
setTables(29,29,1);
setTables(30,30,1);
setTables(31,31,1);
setTables(32,32,8);
setTables(33,33,1);
setTables(34,34,1);
setTables(35,35,1);
setTables(36,36,1);
setTables(37,37,9);
setTables(38,38,1);
setTables(39,39,10);
setTables(40,40,1);
setTables(41,41,1);
setTables(42,28,11);
setTables(43,42,1);
setTables(44,43,1);
setTables(45,44,1);
setTables(46,45,12);
setTables(47,46,1);
setTables(48,47,13);
setTables(49,48,1);
setTables(50,49,1);
setTables(51,50,14);
setTables(52,51,1);
setTables(53,52,1);
setTables(54,53,1);
setTables(55,54,1);
setTables(56,55,1);
setTables(57,56,1);
setTables(58,57,1);
setTables(59,58,1);
setTables(60,59,1);
setTables(61,60,1);
setTables(62,61,1);
setTables(63,19,15);
setTables(64,62,1);
setTables(65,63,1);
setTables(66,64,16);
setTables(67,65,1);
setTables(68,66,1);
setTables(69,67,1);
setTables(70,68,1);
setTables(71,69,17);
setTables(72,70,1);
setTables(73,16,18);
setTables(74,71,1);
setTables(75,72,1);
setTables(76,73,1);
setTables(77,74,19);
setTables(78,75,1);
setTables(79,64,20);
setTables(80,76,1);
setTables(81,77,1);
setTables(82,78,1);
setTables(83,79,21);
setTables(84,80,1);
setTables(85,81,22);
setTables(86,82,1);
setTables(87,83,1);
setTables(88,84,1);
setTables(89,79,23);
setTables(90,85,1);
setTables(91,86,1);
setTables(92,87,1);
setTables(93,88,19);
setTables(94,28,24);
setTables(95,89,1);
setTables(96,90,1);
setTables(97,28,25);
setTables(98,28,26);
setTables(99,28,27);
setTables(100,91,1);
setTables(101,92,1);
setTables(102,93,1);
setTables(103,94,1);
setTables(104,95,1);
setTables(105,96,1);
}
}
/* ***************** */
/* ANCILLARY CLASSES */
/* ***************** */
////////////////////////////////////////////////////////////////////////
This file was generated on Tue Jun 24 17:55:22 CEST 2008 from file Parser.java
by the ilog.language.tools.Hilite Java tool written by Hassan Aït-Kaci