#ifdef YYDEBUG char *yytoknames[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0," $", " %", 0,0,0,0," *", " +", " ,", " -", " .", " /", 0,0,0,0,0,0,0,0,0,0," :", " ;", 0,0,0," ?", 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0," ^", 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0," ~", 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"VARIABLE", "AUTO", "ARRAY", "FCT", "BLTN", "NAME", "VAL", "STRING", "A", "WINDOW", "C", "DEF", "DEL", "SCOM", "ECOM", "UP", "DOWN", "RUN", "F", "H", "Q", "R", "SET", "SETF", "GET", "W", "PCONST", "RETURN", "OPEN", "CLOSE", "DECL", "INT", "GLOBAL", "X", "Y", "I", "OLD", "TMP", "CMAP", "FOR", "DO", "WHILE", "JUMP", "IF", "ELSE", "COLOR", "NOCOLOR", "ZAP", "FASTER", "SLOWER", "HELP", "FRAMEBUFFER", "METHEUS", "BLIND", "SEETREE", "OPTIM", "ASSIGN", "OPER", "OROR", "ANDAND", "OR", "AND", "EQ", "NE", "GT", "GE", "LT", "LE", "LSH", "RSH", "POST", "UNARYMINUS", "NOT", "RCHAN", "GCHAN", "BCHAN", "BW", "RGB", "POW", 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}; char *yystates[] = { "", /*0*/ "$accept : comm.$end \n", /*1*/ "comm : pcom.; \n", /*2*/ "", /*3*/ "", /*4*/ "comm : R.pathn ; \n", /*5*/ "comm : Q.; \n", /*6*/ "pcom : A.pathn \npcom : A.vval vval vval vval pathn \n", /*7*/ "pcom : DEL.pathn \npcom : DEL.array \npcom : DEL.VAL \n", /*8*/ "", /*9*/ "", /*10*/ "pcom : H.hnmlst \n", /*11*/ "", /*12*/ "", /*13*/ "", /*14*/ "", /*15*/ "", /*16*/ "", /*17*/ "", /*18*/ "", /*19*/ "", /*20*/ "pcom : WINDOW.vval vval vval vval \n", /*21*/ "pcom : W.pathn \npcom : W.- pathn \n", /*22*/ "defpr : DEF.NAME ( rglst ) \ndefpr : DEF.FCT ( rglst ) \n", /*23*/ "", /*24*/ "", /*25*/ "", /*26*/ "SPEC : chann.; \n", /*27*/ "SPEC : pprog.; \n", /*28*/ "sstmnt : assign.; \n", /*29*/ "", /*30*/ "sstmnt : fcall.; \n", /*31*/ "", /*32*/ "sstmnt : FOR.( expr ; expr ; expr ) YoN stmnt \n", /*33*/ "", /*34*/ "", /*35*/ "sstmnt : RETURN.expr ; \n", /*36*/ "chann : CMAP.ASSIGN expr \nchann : CMAP.. RGB ASSIGN expr \nchann : CMAP.. RCHAN ASSIGN expr \nchann : CMAP.. GCHAN ASSIGN expr \nchann : CMAP.. BCHAN ASSIGN expr \n", /*37*/ "", /*38*/ "assign : lval.POST \nassign : lval.OPER expr \nassign : lval.ASSIGN expr \n", /*39*/ "decls : glob.INT declst ; \ndecls : glob.DECL decars ; \n", /*40*/ "fcall : FCT.aparams \n", /*41*/ "fcall : BLTN.aparams \n", /*42*/ "ifpre : IF.( expr ) YoN \n", /*43*/ "whpre : WHILE.( expr ) YoN \n", /*44*/ "", /*45*/ "", /*46*/ "", /*47*/ "", /*48*/ "", /*49*/ "", /*50*/ "", /*51*/ "", /*52*/ "", /*53*/ "", /*54*/ "", /*55*/ "", /*56*/ "", /*57*/ "", /*58*/ "", /*59*/ "", /*60*/ "", /*61*/ "array : $.TMP \narray : $.OLD \narray : $.VAL \narray : $.ANAME \n", /*62*/ "", /*63*/ "", /*64*/ "comm : R pathn.; \n", /*65*/ "", /*66*/ "", /*67*/ "", /*68*/ "", /*69*/ "", /*70*/ "", /*71*/ "", /*72*/ "", /*73*/ "", /*74*/ "", /*75*/ "", /*76*/ "", /*77*/ "", /*78*/ "", /*79*/ "pcom : A vval.vval vval vval pathn \n", /*80*/ "", /*81*/ "vval : -.VAL \n", /*82*/ "", /*83*/ "", /*84*/ "", /*85*/ "", /*86*/ "", /*87*/ "pcom : GET vval.vval vval vval pathn \narname : vval.vval array \narname : vval.vval vval vval array \n", /*88*/ "", /*89*/ "", /*90*/ "", /*91*/ "", /*92*/ "pcom : WINDOW vval.vval vval vval \n", /*93*/ "", /*94*/ "pcom : W -.pathn \n", /*95*/ "defpr : DEF NAME.( rglst ) \n", /*96*/ "defpr : DEF FCT.( rglst ) \n", /*97*/ "", /*98*/ "", /*99*/ "", /*100*/ "", /*101*/ "", /*102*/ "stmnt : pprog.; \n", /*103*/ "stmnt : ANAME.: stmnt \n", /*104*/ "stmnt : JUMP.ANAME ; \n", /*105*/ "", /*106*/ "stmnt : chann.; \n", /*107*/ "", /*108*/ "", /*109*/ "", /*110*/ "", /*111*/ "", /*112*/ "", /*113*/ "", /*114*/ "", /*115*/ "", /*116*/ "sstmnt : FOR (.expr ; expr ; expr ) YoN stmnt \n", /*117*/ "", /*118*/ "", /*119*/ "sstmnt : RETURN expr.; \nexpr : expr.? expr : expr \nexpr : expr.+ expr \nexpr : expr.- expr \nexpr : expr.* expr \nexpr : expr./ expr \nexpr : expr.% expr \nexpr : expr.^ expr \nexpr : expr.POW expr \nexpr : expr.GT expr \nexpr : expr.GE expr \nexpr : expr.LT expr \nexpr : expr.LE expr \nexpr : expr.EQ expr \nexpr : expr.NE expr \nexpr : expr.ANDAND expr \nexpr : expr.OROR expr \nexpr : expr.OR expr \nexpr : expr.AND expr \nexpr : expr.LSH expr \nexpr : expr.RSH expr \n", /*120*/ "", /*121*/ "", /*122*/ "expr : (.expr ) \n", /*123*/ "expr : [.elist ] \n", /*124*/ "", /*125*/ "", /*126*/ "expr : -.expr \n", /*127*/ "expr : ~.expr \n", /*128*/ "expr : NOT.expr \n", /*129*/ "", /*130*/ "", /*131*/ "chann : CMAP ASSIGN.expr \n", /*132*/ "chann : CMAP ..RGB ASSIGN expr \nchann : CMAP ..RCHAN ASSIGN expr \nchann : CMAP ..GCHAN ASSIGN expr \nchann : CMAP ..BCHAN ASSIGN expr \n", /*133*/ "", /*134*/ "", /*135*/ "", /*136*/ "assign : lval OPER.expr \n", /*137*/ "assign : lval ASSIGN.expr \n", /*138*/ "decls : glob INT.declst ; \n", /*139*/ "decls : glob DECL.decars ; \n", /*140*/ "", /*141*/ "aparams : (.) \naparams : (.elist ) \n", /*142*/ "", /*143*/ "ifpre : IF (.expr ) YoN \n", /*144*/ "whpre : WHILE (.expr ) YoN \n", /*145*/ "iarray : array ..RGB \niarray : array ..BW \niarray : array ..RCHAN \niarray : array ..GCHAN \niarray : array ..BCHAN \niarray : array ..RGB [ elist ] \niarray : array ..BW [ elist ] \niarray : array ..RCHAN [ elist ] \niarray : array ..GCHAN [ elist ] \niarray : array ..BCHAN [ elist ] \n", /*146*/ "iarray : array [.elist ] \niarray : array [.elist ] . RGB \niarray : array [.elist ] . BW \niarray : array [.elist ] . RCHAN \niarray : array [.elist ] . GCHAN \niarray : array [.elist ] . BCHAN \n", /*147*/ "iarray : ARRAY [.elist ] \n", /*148*/ "", /*149*/ "", /*150*/ "", /*151*/ "", /*152*/ "", /*153*/ "", /*154*/ "pcom : A vval vval.vval vval pathn \n", /*155*/ "", /*156*/ "pcom : GET vval vval.vval vval pathn \narname : vval vval.array \narname : vval vval.vval vval array \n", /*157*/ "", /*158*/ "pcom : WINDOW vval vval.vval vval \n", /*159*/ "", /*160*/ "", /*161*/ "", /*162*/ "", /*163*/ "", /*164*/ "", /*165*/ "stmnt : JUMP ANAME.; \n", /*166*/ "", /*167*/ "sstmnt : FOR ( expr.; expr ; expr ) YoN stmnt \nexpr : expr.? expr : expr \nexpr : expr.+ expr \nexpr : expr.- expr \nexpr : expr.* expr \nexpr : expr./ expr \nexpr : expr.% expr \nexpr : expr.^ expr \nexpr : expr.POW expr \nexpr : expr.GT expr \nexpr : expr.GE expr \nexpr : expr.LT expr \nexpr : expr.LE expr \nexpr : expr.EQ expr \nexpr : expr.NE expr \nexpr : expr.ANDAND expr \nexpr : expr.OROR expr \nexpr : expr.OR expr \nexpr : expr.AND expr \nexpr : expr.LSH expr \nexpr : expr.RSH expr \n", /*168*/ "sstmnt : DO YoN stmnt.WHILE ( expr ) ; \n", /*169*/ "", /*170*/ "expr : expr ?.expr : expr \n", /*171*/ "expr : expr +.expr \n", /*172*/ "expr : expr -.expr \n", /*173*/ "expr : expr *.expr \n", /*174*/ "expr : expr /.expr \n", /*175*/ "expr : expr %.expr \n", /*176*/ "expr : expr ^.expr \n", /*177*/ "expr : expr POW.expr \n", /*178*/ "expr : expr GT.expr \n", /*179*/ "expr : expr GE.expr \n", /*180*/ "expr : expr LT.expr \n", /*181*/ "expr : expr LE.expr \n", /*182*/ "expr : expr EQ.expr \n", /*183*/ "expr : expr NE.expr \n", /*184*/ "expr : expr ANDAND.expr \n", /*185*/ "expr : expr OROR.expr \n", /*186*/ "expr : expr OR.expr \n", /*187*/ "expr : expr AND.expr \n", /*188*/ "expr : expr LSH.expr \n", /*189*/ "expr : expr RSH.expr \n", /*190*/ "expr : ( expr.) \nexpr : expr.? expr : expr \nexpr : expr.+ expr \nexpr : expr.- expr \nexpr : expr.* expr \nexpr : expr./ expr \nexpr : expr.% expr \nexpr : expr.^ expr \nexpr : expr.POW expr \nexpr : expr.GT expr \nexpr : expr.GE expr \nexpr : expr.LT expr \nexpr : expr.LE expr \nexpr : expr.EQ expr \nexpr : expr.NE expr \nexpr : expr.ANDAND expr \nexpr : expr.OROR expr \nexpr : expr.OR expr \nexpr : expr.AND expr \nexpr : expr.LSH expr \nexpr : expr.RSH expr \n", /*191*/ "expr : [ elist.] \n", /*192*/ "", /*193*/ "", /*194*/ "", /*195*/ "", /*196*/ "", /*197*/ "chann : CMAP . RGB.ASSIGN expr \n", /*198*/ "chann : CMAP . RCHAN.ASSIGN expr \n", /*199*/ "chann : CMAP . GCHAN.ASSIGN expr \n", /*200*/ "chann : CMAP . BCHAN.ASSIGN expr \n", /*201*/ "pprog : OPEN pbody YoN.CLOSE \n", /*202*/ "", /*203*/ "", /*204*/ "", /*205*/ "decls : glob INT declst.; \ndeclst : declst., declo \n", /*206*/ "", /*207*/ "", /*208*/ "", /*209*/ "", /*210*/ "decls : glob DECL decars.; \ndecars : decars., decar \n", /*211*/ "", /*212*/ "decar : NAME.[ eval ] \n", /*213*/ "decar : ARRAY.[ eval ] \n", /*214*/ "", /*215*/ "aparams : ( elist.) \n", /*216*/ "ifpre : IF ( expr.) YoN \nexpr : expr.? expr : expr \nexpr : expr.+ expr \nexpr : expr.- expr \nexpr : expr.* expr \nexpr : expr./ expr \nexpr : expr.% expr \nexpr : expr.^ expr \nexpr : expr.POW expr \nexpr : expr.GT expr \nexpr : expr.GE expr \nexpr : expr.LT expr \nexpr : expr.LE expr \nexpr : expr.EQ expr \nexpr : expr.NE expr \nexpr : expr.ANDAND expr \nexpr : expr.OROR expr \nexpr : expr.OR expr \nexpr : expr.AND expr \nexpr : expr.LSH expr \nexpr : expr.RSH expr \n", /*217*/ "whpre : WHILE ( expr.) YoN \nexpr : expr.? expr : expr \nexpr : expr.+ expr \nexpr : expr.- expr \nexpr : expr.* expr \nexpr : expr./ expr \nexpr : expr.% expr \nexpr : expr.^ expr \nexpr : expr.POW expr \nexpr : expr.GT expr \nexpr : expr.GE expr \nexpr : expr.LT expr \nexpr : expr.LE expr \nexpr : expr.EQ expr \nexpr : expr.NE expr \nexpr : expr.ANDAND expr \nexpr : expr.OROR expr \nexpr : expr.OR expr \nexpr : expr.AND expr \nexpr : expr.LSH expr \nexpr : expr.RSH expr \n", /*218*/ "", /*219*/ "", /*220*/ "", /*221*/ "", /*222*/ "", /*223*/ "iarray : array [ elist.] \niarray : array [ elist.] . RGB \niarray : array [ elist.] . BW \niarray : array [ elist.] . RCHAN \niarray : array [ elist.] . GCHAN \niarray : array [ elist.] . BCHAN \n", /*224*/ "iarray : ARRAY [ elist.] \n", /*225*/ "pcom : A vval vval vval.vval pathn \n", /*226*/ "pcom : GET vval vval vval.vval pathn \narname : vval vval vval.vval array \n", /*227*/ "", /*228*/ "pcom : WINDOW vval vval vval.vval \n", /*229*/ "defpr : DEF NAME ( rglst.) \n", /*230*/ "", /*231*/ "", /*232*/ "defpr : DEF FCT ( rglst.) \n", /*233*/ "", /*234*/ "", /*235*/ "", /*236*/ "sstmnt : FOR ( expr ;.expr ; expr ) YoN stmnt \n", /*237*/ "sstmnt : DO YoN stmnt WHILE.( expr ) ; \n", /*238*/ "expr : expr.? expr : expr \nexpr : expr ? expr.: expr \nexpr : expr.+ expr \nexpr : expr.- expr \nexpr : expr.* expr \nexpr : expr./ expr \nexpr : expr.% expr \nexpr : expr.^ expr \nexpr : expr.POW expr \nexpr : expr.GT expr \nexpr : expr.GE expr \nexpr : expr.LT expr \nexpr : expr.LE expr \nexpr : expr.EQ expr \nexpr : expr.NE expr \nexpr : expr.ANDAND expr \nexpr : expr.OROR expr \nexpr : expr.OR expr \nexpr : expr.AND expr \nexpr : expr.LSH expr \nexpr : expr.RSH expr \n", /*239*/ "", /*240*/ "", /*241*/ "", /*242*/ "", /*243*/ "", /*244*/ "", /*245*/ "", /*246*/ "", /*247*/ "", /*248*/ "", /*249*/ "", /*250*/ "", /*251*/ "", /*252*/ "", /*253*/ "", /*254*/ "", /*255*/ "", /*256*/ "", /*257*/ "", /*258*/ "", /*259*/ "", /*260*/ "elist : expr ,.elist \n", /*261*/ "chann : CMAP . RGB ASSIGN.expr \n", /*262*/ "chann : CMAP . RCHAN ASSIGN.expr \n", /*263*/ "chann : CMAP . GCHAN ASSIGN.expr \n", /*264*/ "chann : CMAP . BCHAN ASSIGN.expr \n", /*265*/ "", /*266*/ "", /*267*/ "declst : declst ,.declo \n", /*268*/ "declo : NAME ASSIGN.eval \n", /*269*/ "declo : VARIABLE ASSIGN.eval \n", /*270*/ "", /*271*/ "decars : decars ,.decar \n", /*272*/ "decar : NAME [.eval ] \n", /*273*/ "decar : ARRAY [.eval ] \n", /*274*/ "", /*275*/ "", /*276*/ "", /*277*/ "iarray : array . RGB [.elist ] \n", /*278*/ "iarray : array . BW [.elist ] \n", /*279*/ "iarray : array . RCHAN [.elist ] \n", /*280*/ "iarray : array . GCHAN [.elist ] \n", /*281*/ "iarray : array . BCHAN [.elist ] \n", /*282*/ "", /*283*/ "", /*284*/ "pcom : A vval vval vval vval.pathn \n", /*285*/ "pcom : GET vval vval vval vval.pathn \narname : vval vval vval vval.array \n", /*286*/ "", /*287*/ "", /*288*/ "arglst : arglst ,.NAME \n", /*289*/ "", /*290*/ "", /*291*/ "sstmnt : FOR ( expr ; expr.; expr ) YoN stmnt \nexpr : expr.? expr : expr \nexpr : expr.+ expr \nexpr : expr.- expr \nexpr : expr.* expr \nexpr : expr./ expr \nexpr : expr.% expr \nexpr : expr.^ expr \nexpr : expr.POW expr \nexpr : expr.GT expr \nexpr : expr.GE expr \nexpr : expr.LT expr \nexpr : expr.LE expr \nexpr : expr.EQ expr \nexpr : expr.NE expr \nexpr : expr.ANDAND expr \nexpr : expr.OROR expr \nexpr : expr.OR expr \nexpr : expr.AND expr \nexpr : expr.LSH expr \nexpr : expr.RSH expr \n", /*292*/ "sstmnt : DO YoN stmnt WHILE (.expr ) ; \n", /*293*/ "expr : expr ? expr :.expr \n", /*294*/ "", /*295*/ "", /*296*/ "", /*297*/ "", /*298*/ "", /*299*/ "", /*300*/ "", /*301*/ "", /*302*/ "", /*303*/ "", /*304*/ "", /*305*/ "", /*306*/ "decar : NAME [ eval.] \n", /*307*/ "decar : ARRAY [ eval.] \n", /*308*/ "", /*309*/ "", /*310*/ "iarray : array . RGB [ elist.] \n", /*311*/ "iarray : array . BW [ elist.] \n", /*312*/ "iarray : array . RCHAN [ elist.] \n", /*313*/ "iarray : array . GCHAN [ elist.] \n", /*314*/ "iarray : array . BCHAN [ elist.] \n", /*315*/ "iarray : array [ elist ] ..RGB \niarray : array [ elist ] ..BW \niarray : array [ elist ] ..RCHAN \niarray : array [ elist ] ..GCHAN \niarray : array [ elist ] ..BCHAN \n", /*316*/ "", /*317*/ "", /*318*/ "", /*319*/ "", /*320*/ "sstmnt : FOR ( expr ; expr ;.expr ) YoN stmnt \n", /*321*/ "sstmnt : DO YoN stmnt WHILE ( expr.) ; \nexpr : expr.? expr : expr \nexpr : expr.+ expr \nexpr : expr.- expr \nexpr : expr.* expr \nexpr : expr./ expr \nexpr : expr.% expr \nexpr : expr.^ expr \nexpr : expr.POW expr \nexpr : expr.GT expr \nexpr : expr.GE expr \nexpr : expr.LT expr \nexpr : expr.LE expr \nexpr : expr.EQ expr \nexpr : expr.NE expr \nexpr : expr.ANDAND expr \nexpr : expr.OROR expr \nexpr : expr.OR expr \nexpr : expr.AND expr \nexpr : expr.LSH expr \nexpr : expr.RSH expr \n", /*322*/ "", /*323*/ "", /*324*/ "", /*325*/ "", /*326*/ "", /*327*/ "", /*328*/ "", /*329*/ "", /*330*/ "", /*331*/ "", /*332*/ "", /*333*/ "", /*334*/ "", /*335*/ "sstmnt : FOR ( expr ; expr ; expr.) YoN stmnt \nexpr : expr.? expr : expr \nexpr : expr.+ expr \nexpr : expr.- expr \nexpr : expr.* expr \nexpr : expr./ expr \nexpr : expr.% expr \nexpr : expr.^ expr \nexpr : expr.POW expr \nexpr : expr.GT expr \nexpr : expr.GE expr \nexpr : expr.LT expr \nexpr : expr.LE expr \nexpr : expr.EQ expr \nexpr : expr.NE expr \nexpr : expr.ANDAND expr \nexpr : expr.OROR expr \nexpr : expr.OR expr \nexpr : expr.AND expr \nexpr : expr.LSH expr \nexpr : expr.RSH expr \n", /*336*/ "sstmnt : DO YoN stmnt WHILE ( expr ).; \n", /*337*/ "", /*338*/ "", /*339*/ "", /*340*/ "", /*341*/ }; #endif