/* transitionsPictureStr ="

transitions=[@,@,@,@,@,@,@,@,@,@,@,@,@];
transitions[1]=[[1, \"$end\", 100],[1, \"E\", 100],[1, \"T\", 100],[1, \"F\", 100],[1, \"ID\", 100],[1, \"(\", 100],[1, \")\", 100],[1, \"+\", 100],[1, \"*\", 100]];
transitions[3]=[[3, \"$end\", 7],[3, \"(\", 100],[3, \")\", 100],[3, \"E\", 100],[3, \"F\", 100],[3, \"ID\", 100],[3, \"T\", 100],[3, \"+\", 8],[3, \"*\", 100]];
transitions[4]=[[4, \"F\", 100], [4, \"ID\", 100],[4, \")\", 100],[4, \"(\", 100],[4, \"E\", 100],[4, \"*\", 9],[4, \"$end\", 100],[4, \"T\", 100],[4, \"+\", 100]];
transitions[6]=[[6, \"*\", 100],[6, \")\", 10],[6, \"(\", 100], [6, \"E\", 100],[6, \"ID\", 100],[6, \"F\", 100],[6, \"$end\", 100],[6, \"+\", 8],[6, \"T\", 100]];
transitions[7]=[[7, \"F\", 100],[7, \"ID\", 100],[7, \"E\", 100],[7, \")\", 100],[7, \"(\", 100],[7, \"$end\", 100],[7, \"*\", 100],[7, \"+\", 100],[7, \"T\", 100]];
transitions[8]=[[8, \"*\", 100],[8, \")\", 100],[8, \"(\", 2],[8, \"ID\", 1],[8, \"$end\", 100],[8, \"F\", 5], [8, \"E\", 100],[8, \"T\", 11],[8, \"+\", 100]];
transitions[9]= [[9, \"F\", 12],[9, \"ID\", 1],[9, \"E\", 100],[9, \")\", 100],[9, \"(\", 2],[9, \"$end\", 100],[9, \"*\", 100],[9, \"T\", 100],[9, \"+\", 100]];
transitions[10]= [[10, \")\", 100],[10, \"(\", 100],[10, \"$end\", 100],[10, \"ID\", 100],[10, \"F\", 100],[10, \"E\", 100], [10, \"*\", 100],[10, \"T\", 100],[10, \"+\", 100]];
transitions[2]=[[2, \")\", 100],[2, \"(\", 2],[2, \"$end\", 100],[2, \"ID\", 1],[2, \"E\", 6],[2, \"T\", 4],[2, \"F\", 5],[2, \"+\", 100],[2, \"*\", 100]];
transitions[5]=[[5, \")\", 100],[5, \"(\", 100],[5, \"$end\", 100],[5, \"ID\", 100],[5, \"E\", 100],[5, \"F\", 100],[5, \"*\", 100],[5, \"T\", 100],[5, \"+\", 100]];
transitions[11]=[[11, \"*\", 9],[11, \"E\", 100],[11, \"$end\", 100],[11, \"ID\", 100],[11, \"F\", 100],[11, \")\", 100],[11, \"(\", 100],[11, \"T\", 100],[11, \"+\", 100]];
transitions[12]=[[12, \"F\", 100],[12, \"ID\", 100],[12, \"E\", 100],[12, \")\",100],[12, \"(\", 100],[12, \"$end\", 100],[12, \"*\", 100],[12, \"T\", 100],[12, \"+\", 100]];
transitions[13]=[[13, \"F\", 5],[13, \"ID\", 1],[13, \"E\", 3],[13, \")\",100],[13, \"(\", 2],[13, \"$end\", 100],[13, \"*\", 100],[13, \"T\", 4],[13, \"+\", 100]];

defaultreductions=[@,@,@,@,@,@,@,@,@,@,@,@,@];
defaultreductions[1]=6;
defaultreductions[4]=2;
defaultreductions[5]=4;
defaultreductions[10]=5;
defaultreductions[11]=1;
defaultreductions[12]=3;

"; */ ## transitionsPicture is Div("transitionsPicture",10,10,500,1000,transitionsPictureStr); ## picture is [transitionsPicture]; html("

transitions=[@,@,@,@,@,@,@,@,@,@,@,@,@];
transitions[1]=[[1, \"$end\", 100],[1, \"E\", 100],[1, \"T\", 100],[1, \"F\", 100],[1, \"ID\", 100],[1, \"(\", 100],[1, \")\", 100],[1, \"+\", 100],[1, \"*\", 100]];
transitions[3]=[[3, \"$end\", 7],[3, \"(\", 100],[3, \")\", 100],[3, \"E\", 100],[3, \"F\", 100],[3, \"ID\", 100],[3, \"T\", 100],[3, \"+\", 8],[3, \"*\", 100]];
transitions[4]=[[4, \"F\", 100], [4, \"ID\", 100],[4, \")\", 100],[4, \"(\", 100],[4, \"E\", 100],[4, \"*\", 9],[4, \"$end\", 100],[4, \"T\", 100],[4, \"+\", 100]];
transitions[6]=[[6, \"*\", 100],[6, \")\", 10],[6, \"(\", 100], [6, \"E\", 100],[6, \"ID\", 100],[6, \"F\", 100],[6, \"$end\", 100],[6, \"+\", 8],[6, \"T\", 100]];
transitions[7]=[[7, \"F\", 100],[7, \"ID\", 100],[7, \"E\", 100],[7, \")\", 100],[7, \"(\", 100],[7, \"$end\", 100],[7, \"*\", 100],[7, \"+\", 100],[7, \"T\", 100]];
transitions[8]=[[8, \"*\", 100],[8, \")\", 100],[8, \"(\", 2],[8, \"ID\", 1],[8, \"$end\", 100],[8, \"F\", 5], [8, \"E\", 100],[8, \"T\", 11],[8, \"+\", 100]];
transitions[9]= [[9, \"F\", 12],[9, \"ID\", 1],[9, \"E\", 100],[9, \")\", 100],[9, \"(\", 2],[9, \"$end\", 100],[9, \"*\", 100],[9, \"T\", 100],[9, \"+\", 100]];
transitions[10]= [[10, \")\", 100],[10, \"(\", 100],[10, \"$end\", 100],[10, \"ID\", 100],[10, \"F\", 100],[10, \"E\", 100], [10, \"*\", 100],[10, \"T\", 100],[10, \"+\", 100]];
transitions[2]=[[2, \")\", 100],[2, \"(\", 2],[2, \"$end\", 100],[2, \"ID\", 1],[2, \"E\", 6],[2, \"T\", 4],[2, \"F\", 5],[2, \"+\", 100],[2, \"*\", 100]];
transitions[5]=[[5, \")\", 100],[5, \"(\", 100],[5, \"$end\", 100],[5, \"ID\", 100],[5, \"E\", 100],[5, \"F\", 100],[5, \"*\", 100],[5, \"T\", 100],[5, \"+\", 100]];
transitions[11]=[[11, \"*\", 9],[11, \"E\", 100],[11, \"$end\", 100],[11, \"ID\", 100],[11, \"F\", 100],[11, \")\", 100],[11, \"(\", 100],[11, \"T\", 100],[11, \"+\", 100]];
transitions[12]=[[12, \"F\", 100],[12, \"ID\", 100],[12, \"E\", 100],[12, \")\",100],[12, \"(\", 100],[12, \"$end\", 100],[12, \"*\", 100],[12, \"T\", 100],[12, \"+\", 100]];
transitions[13]=[[13, \"F\", 5],[13, \"ID\", 1],[13, \"E\", 3],[13, \")\",100],[13, \"(\", 2],[13, \"$end\", 100],[13, \"*\", 100],[13, \"T\", 4],[13, \"+\", 100]];

defaultreductions=[@,@,@,@,@,@,@,@,@,@,@,@,@];
defaultreductions[1]=6;
defaultreductions[4]=2;
defaultreductions[5]=4;
defaultreductions[10]=5;
defaultreductions[11]=1;
defaultreductions[12]=3;

"); transitions=[@,@,@,@,@,@,@,@,@,@,@,@,@]; transitions[1]=[[1, "$end", 100],[1, "E", 100],[1, "T", 100],[1, "F", 100],[1, "ID", 100],[1, "(", 100],[1, ")", 100],[1, "+", 100],[1, "*", 100]]; transitions[3]=[[3, "$end", 7],[3, "(", 100],[3, ")", 100],[3, "E", 100],[3, "F", 100],[3, "ID", 100],[3, "T", 100],[3, "+", 8],[3, "*", 100]]; transitions[4]=[[4, "F", 100], [4, "ID", 100],[4, ")", 100],[4, "(", 100],[4, "E", 100],[4, "*", 9],[4, "$end", 100],[4, "T", 100],[4, "+", 100]]; transitions[6]=[[6, "*", 100],[6, ")", 10],[6, "(", 100], [6, "E", 100],[6, "ID", 100],[6, "F", 100],[6, "$end", 100],[6, "+", 8],[6, "T", 100]]; transitions[7]=[[7, "F", 100],[7, "ID", 100],[7, "E", 100],[7, ")", 100],[7, "(", 100],[7, "$end", 100],[7, "*", 100],[7, "+", 100],[7, "T", 100]]; transitions[8]=[[8, "*", 100],[8, ")", 100],[8, "(", 2],[8, "ID", 1],[8, "$end", 100],[8, "F", 5], [8, "E", 100],[8, "T", 11],[8, "+", 100]]; transitions[9]= [[9, "F", 12],[9, "ID", 1],[9, "E", 100],[9, ")", 100],[9, "(", 2],[9, "$end", 100],[9, "*", 100],[9, "T", 100],[9, "+", 100]]; transitions[10]= [[10, ")", 100],[10, "(", 100],[10, "$end", 100],[10, "ID", 100],[10, "F", 100],[10, "E", 100], [10, "*", 100],[10, "T", 100],[10, "+", 100]]; transitions[2]=[[2, ")", 100],[2, "(", 2],[2, "$end", 100],[2, "ID", 1],[2, "E", 6],[2, "T", 4],[2, "F", 5],[2, "+", 100],[2, "*", 100]]; transitions[5]=[[5, ")", 100],[5, "(", 100],[5, "$end", 100],[5, "ID", 100],[5, "E", 100],[5, "F", 100],[5, "*", 100],[5, "T", 100],[5, "+", 100]]; transitions[11]=[[11, "*", 9],[11, "E", 100],[11, "$end", 100],[11, "ID", 100],[11, "F", 100],[11, ")", 100],[11, "(", 100],[11, "T", 100],[11, "+", 100]]; transitions[12]=[[12, "F", 100],[12, "ID", 100],[12, "E", 100],[12, ")",100],[12, "(", 100],[12, "$end", 100],[12, "*", 100],[12, "T", 100],[12, "+", 100]]; transitions[13]=[[13, "F", 5],[13, "ID", 1],[13, "E", 3],[13, ")",100],[13, "(", 2],[13, "$end", 100],[13, "*", 100],[13, "T", 4],[13, "+", 100]]; defaultreductions=[@,@,@,@,@,@,@,@,@,@,@,@,@]; defaultreductions[1]=6; defaultreductions[4]=2; defaultreductions[5]=4; defaultreductions[10]=5; defaultreductions[11]=1; defaultreductions[12]=3; grammarRuleNo is findNoRules(defaultreductions); func findNoRules{ para rl; auto result; result=0; for(i=1;i<=rl#;i++) { if(rl[i]!=@) result++; } return result; }