* ENTERING File funcs.sno -LIST LEFT -CASE 0 * ENTERING File funcs.sno &STLIMIT = 500000 &DUMP = 1 &ANCHOR = 1 &TRIM = 1 &TRACE = 1000000 TRACE("yyssa","VALUE") TRACE("yyvsa","VALUE") TRACE("yyss","VALUE") TRACE("yyssp","VALUE") TRACE("yyvs","VALUE") TRACE("yyvsp","VALUE") TRACE("yyval","VALUE") TRACE("yylval","VALUE") TRACE("yyn","VALUE") TRACE("yystate","VALUE") TRACE("yychar","VALUE") TRACE("token_buffer","VALUE") TRACE("initflag","VALUE") yyn = 0 EOF = -1 TRUE = 1 FALSE = 0 &FTRACE = 10000 alpha = "abcdefghijklmnopqrstuvwxyz" alpha2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" digits = "0123456789" num_lit = ("-" | '') SPAN(digits) alphanum = ANY(alpha alpha2) (SPAN(alpha alpha2 digits) | '') id = ANY(alpha alpha2) (SPAN(alpha alpha2 digits "_") | '') id_or_num_lit = id | num_lit INPUT(.prob,10,2048,"r_args.txt") loop args_in = prob :f(bot1) OUTPUT = args_in args_in "ifname" SPAN(" ") alphanum . ifname :s(loop) args_in "ofname" SPAN(" ") alphanum . ofname :s(loop) args_in "sigfname" SPAN(" ") alphanum . sigfname :s(loop) args_in "optfname" SPAN(" ") alphanum . optfname :s(loop) args_in "Gflag" SPAN(" ") alphanum . Gflag :s(loop) OUTPUT = "unrecognized argument = " args_in :(loop) bot1 OUTPUT = IDENT(ifname) "NO INPUT FILE NAME" :s(END) OUTPUT = IDENT(ofname) "NO OUTPUT FILE NAME" :s(END) OUTPUT = IDENT(sigfname) "NO SIGNATURE FILE NAME" :s(END) OUTPUT = IDENT(optfname) "NO OPT FILE NAME" :s(END) ifname = ifname ".r" ofname = ofname ".sno.ric" progfname = ofname ".progress.tmp" reducefname = ofname ".reduce.tmp" statsfname = ofname ".stats.tmp" nodesfname = ofname ".nodes.tmp" lists_listfname = ofname ".lists.tmp" debugfname = ofname ".debug.tmp" sigfname = sigfname ".sno.sig.tmp" optfname = optfname ".sno.opt.tmp" errfname = ofname ".err.tmp" ofname = ofname ".tmp" OUTPUT = ifname OUTPUT = ofname OUTPUT = progfname OUTPUT = debugfname OUTPUT = reducefname OUTPUT = statsfname OUTPUT = nodessfname OUTPUT = lists_listfname OUTPUT = sigfname OUTPUT = optfname OUTPUT = Gflag * Initialize INPUT(.infile,11,2048,ifname) linebuf = infile :s(gotinput) rpt_err('No Input') gotinput OUTPUT = linebuf line_cnt = 1 OUTPUT(.outfile,12,2048,ofname) OUTPUT(.sf,13,2048,sigfname) OUTPUT(.opf,14,2048,optfname) OUTPUT(.errfile,15,2048,errfname) OUTPUT(.progress,16,2048,progfname) OUTPUT(.reduce,17,2048,reducefname) OUTPUT(.stats,18,2048,statsfname) OUTPUT(.nodes,19,2048,nodesfname) OUTPUT(.lists_list,20,2048,lists_listfname) OUTPUT(.debug,21,2048,debugfname) progress = "Tok" DUPL(" ",8 - SIZE("Tok")) "Cat" DUPL(" ",8 - SIZE("Cat") ) "outtok" DUPL(" ",8 - SIZE("outtok")) "yyval" DUPL(" ",18 - SIZE("yyval")) "yylval" DUPL(" ",8 - SIZE("yylval")) "yyval" DUPL(" ",18 - SIZE("yyval")) "yyvsp" DUPL(" ",8 - SIZE("yyvsp")) "yyssp" DUPL(" ",8 - SIZE("yyssp")) "yyvsa[yyvsp]" DUPL(" ",18 - SIZE("yyvsa[yyvsp]")) "yyssa[yyss]" reduce = "loc" DUPL(" ",22 - SIZE("loc")) "yychar" DUPL(" ",8 - SIZE("yychar")) "yyn" DUPL(" ",8 - SIZE("yyn")) "token" DUPL(" ",16 - SIZE("token")) "yylen" DUPL(" ",8 - SIZE("yylen")) "yylval" DUPL(" ",8 - SIZE("yylval")) "yyval" DUPL(" ",18 - SIZE("yyval")) "yytoken" DUPL(" ",10 - SIZE("yytoken")) "yystate" DUPL(" ",8 - SIZE("yystate")) "yyvsp" DUPL(" ",8 - SIZE("yyvsp")) "yyssp" DUPL(" ",8 - SIZE("yyssp")) "yyvsa[yyvsp]" DUPL(" ",18 - SIZE("yyssa[yyssp]")) "yyssa[yyssp]" DEFINE('rpt_reduce(loc,yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar)sz1,sz2,sz3.sz4,sz5,sz6,it,it2') debug = "GOT HERE 2" * ERRFILE = "GOT HERE 2" DEFINE('initids()tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7') DEFINE('stt_enter(stt_id,stt_len)') DEFINE('stt_enter_2(stt_id,stt_len)') DEFINE('rpt_err(error_msg)') DEFINE('yyinfo(msg)') DEFINE('yywarn(msg)') DEFINE('yyperror(msg)') DEFINE('cn_tail(l)') DEFINE('cn_head(l)') DEFINE('is_null_cn(l)') DEFINE('cn_sethead(nodeptr,fvalue)') DEFINE('cn_settail(nodeptr,list)') DEFINE('cn_cons(hd,tl)') DEFINE('cn_del_hd(l)') DEFINE('push(x,S)') DEFINE('pop(S)') DEFINE('top(S)') DEFINE('is_stempty(S)') DEFINE('emptystack()') DEFINE('mark(S)') DEFINE('is_top_marked(S,mark)') DEFINE('mknode(va_alist)i,err,a1,a2,a3,a4,a5,a6,a7,it') DEFINE('mklist(va_alist)i,it,a1,a2,a3,a4,a5.a6,a7') DEFINE('emptylist()') DEFINE('addright(l,e)p') DEFINE('init_RIC_table()i') DEFINE('add_RIC_table(nm,val)it') DEFINE('lock(in)') stt_table = TABLE(255) pend = ARRAY(255) * Next two for RIC - Russell Intermediate Code htable = TABLE(200) DATA('hrecord(id,val)') op_code_table = ARRAY("0:110") DEFINE('yyparse()c') DEFINE('yypact_value_is_default(yystate)') * DEFINE('yylex()c,cc,p,outtok,saw_quote') DEFINE('yylex()c,cc') DEFINE('getchr()') DEFINE('reschk_id(p,dflt)') DEFINE('reschk_op(p,dflt)') DEFINE('yytranslate(yyx)') YYMAXUTOK = 299 DEFINE('yypopstack(n)') * scanstk for recovery in scan.sno (integer) scanstk = ARRAY("0:5") stktop = -1 scansavc = '\n' eof_flag = FALSE YYEMPTY = "" DEFINE('dump_value_stack()') DEFINE('dump_state_stack()') DEFINE('rpt_stats()') DEFINE('statsline(item,count)') * EXITING File funcs.sno * ENTERING File pass1/parser/y_tab_h.sno YYINITDEPTH = 200 YYEOF = -1 CAND = 257 CHARACTERS = 258 CONSTANTS = 259 COR = 260 DO = 261 ELSE = 262 ELSIF = 263 END = 264 ENUM = 265 EXPORT = 266 FI = 267 FIELD = 268 FUNC = 269 HIDE = 270 IF = 271 IN = 272 EXTEND = 273 LET = 274 NI = 275 OD = 276 READONLY = 277 RECORD = 278 THEN = 279 TYPE = 280 UNION = 281 USE = 282 VAL = 283 VAR = 284 WITH = 285 RIGHT = ARROW EQUALS = EQUALS EQUALS = EQUALS COLON = 289 WORDID = 290 OPID = 291 PROD = 292 QSTRING = 293 UQSTRING = 294 LEFT = ANGLE RIGHT = ANGLE EXTERN = 297 SIGNATURE = 298 * pointer to dummy BLOCKDENOTATION vertex into */ * Identify Bison output. */ YYBISON = 1 * Bison version. */ YYBISON_VERSION = "2.7" * Skeleton name. */ YYSKELETON_NAME "yacc.c" * Pure parsers. */ YYPURE = 0 * Push parsers. */ YYPUSH = 0 * Pull parsers. */ YYPULL = 1 * Copy the first part of user declarations. */ * Line 371 of yacc.c */ * #line 27 "grammar.y" YYDEBUG = 1 * typedef NODE * NodeStar; * YYSTYPE = NodeStar maxskip = 8 * maximum number of tokens to be skipped in error */ * recovery, other than in denotation sequences */ * ifdef BAD * extern boolean BADflag; * endif * ifdef DEBUG * int yydebug; * endif LIST_END = "0x7fff" paramstop = ARRAY('0:10') * stop symbols for parameter error recovery */ paramstop[0] = ';' paramstop[1] = ']' paramstop[2] = '{' paramstop[3] = VAR paramstop[4] = VAL paramstop[5] = FUNC paramstop[6] = TYPE paramstop[7] = SIGNATURE paramstop[8] = EOF paramstop[9] = LIST_END denseqstop = ARRAY('0:18') * stop symbols for statement list error recovery */ denseqstop[0] = ';' denseqstop[1] = '#' denseqstop[2] = ELSIF denseqstop[3] = ELSE denseqstop[4] = FI denseqstop[5] = OD denseqstop[6] = ')' denseqstop[7] = NI denseqstop[8] = '}' denseqstop[10] = IF denseqstop[11] = DO denseqstop[12] = LET denseqstop[13] = FUNC denseqstop[14] = '(' denseqstop[15] = WITH denseqstop[16] = IN denseqstop[17] = EOF denseqstop[18] = LIST_END condstop = ARRAY('0:12') * stop symbols for error recovery in various */ * conditional constructs */ condstop[0] = OD condstop[1] = FI condstop[2] = RIGHT_ARROW condstop[3] = '#' condstop[4] = ';' condstop[5] = LET condstop[6] = DO condstop[7] = IF condstop[8] = THEN condstop[9] = ELSE condstop[10] = '(' condstop[11] = EOF condstop[12] = LIST_END declstop = ARRAY("0:11") * stop symbols for error recovery in declarations */ declstop[0] = EQUALS_EQUALS declstop[1] = EQUALS_EQUALS_EQUALS declstop[2] = ';' declstop[3] = '}' declstop[4] = IN declstop[5] = NI declstop[6] = IF declstop[7] = DO declstop[8] = LET declstop[9] = '(' declstop[10] = EOF declstop[11] = LIST_END * Defines to establish and test the presence of an optional element */ * define PRESENT ((NodeStar)1) * define NOTPRESENT 0 * is_present(x) ((x) == PRESENT) PRESENT = 1 NOTPRESENT = 0 * is_present ident(x,PRESENT) :s(return)f(freturn) * Line 371 of yacc.c */ * line 228 "y.tab.c" YY_NULL = 0 * Enabling verbose error messages. */ YYERROR_VERBOSE = 1 * Enabling traces. */ YYDEBUG = 0 * Tokens. */ * if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED * typedef int YYSTYPE; YYSTYPE_IS_TRIVIAL = 1 yystype = YYSTYPE * obsolescent; will be withdrawn */ YYSTYPE_IS_DECLARED = 1 * YYFINAL -- State number of the termination state. */ YYFINAL = 5 * YYLAST -- Last index in YYTABLE. */ YYLAST = 849 * YYNTOKENS -- Number of terminals. */ YYNTOKENS = 57 * YYNNTS -- Number of nonterminals. */ YYNNTS = 58 * YYNRULES -- Number of rules. */ YYNRULES = 148 * YYNRULES -- Number of states. */ YYNSTATES = 390 * YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ YYUNDEFTOK = 2 YYMAXUTOK = 299 * YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ * static const yytype_uint8 yytranslate[] = YYPACT_NINF = -295 YYTABLE_NINF = -92 yytranslate_arr = ARRAY("0:299") yytranslate_arr[0] = 0 yytranslate_arr[1] = 2 yytranslate_arr[2] = 54 yytranslate_arr[3] = 2 yytranslate_arr[4] = 2 yytranslate_arr[5] = 2 yytranslate_arr[6] = 2 yytranslate_arr[7] = 2 yytranslate_arr[8] = 2 yytranslate_arr[9] = 2 yytranslate_arr[10] = 2 yytranslate_arr[11] = 2 yytranslate_arr[12] = 2 yytranslate_arr[13] = 2 yytranslate_arr[14] = 2 yytranslate_arr[15] = 2 yytranslate_arr[16] = 2 yytranslate_arr[17] = 2 yytranslate_arr[18] = 2 yytranslate_arr[19] = 2 yytranslate_arr[20] = 2 yytranslate_arr[21] = 2 yytranslate_arr[22] = 2 yytranslate_arr[23] = 2 yytranslate_arr[24] = 2 yytranslate_arr[25] = 2 yytranslate_arr[26] = 2 yytranslate_arr[27] = 2 yytranslate_arr[28] = 2 yytranslate_arr[29] = 2 yytranslate_arr[30] = 2 yytranslate_arr[31] = 2 yytranslate_arr[32] = 2 yytranslate_arr[33] = 2 yytranslate_arr[34] = 2 yytranslate_arr[35] = 56 yytranslate_arr[36] = 55 yytranslate_arr[37] = 2 yytranslate_arr[38] = 2 yytranslate_arr[39] = 2 yytranslate_arr[40] = 48 yytranslate_arr[41] = 49 yytranslate_arr[42] = 2 yytranslate_arr[43] = 2 yytranslate_arr[44] = 47 yytranslate_arr[45] = 2 yytranslate_arr[46] = 2 yytranslate_arr[47] = 2 yytranslate_arr[48] = 2 yytranslate_arr[49] = 2 yytranslate_arr[50] = 2 yytranslate_arr[51] = 2 yytranslate_arr[52] = 2 yytranslate_arr[53] = 2 yytranslate_arr[54] = 2 yytranslate_arr[55] = 2 yytranslate_arr[56] = 2 yytranslate_arr[57] = 2 yytranslate_arr[58] = 2 yytranslate_arr[59] = 46 yytranslate_arr[60] = 2 yytranslate_arr[61] = 45 yytranslate_arr[62] = 2 yytranslate_arr[63] = 2 yytranslate_arr[64] = 2 yytranslate_arr[65] = 2 yytranslate_arr[66] = 2 yytranslate_arr[67] = 2 yytranslate_arr[68] = 2 yytranslate_arr[69] = 2 yytranslate_arr[70] = 2 yytranslate_arr[71] = 2 yytranslate_arr[72] = 2 yytranslate_arr[73] = 2 yytranslate_arr[74] = 2 yytranslate_arr[75] = 2 yytranslate_arr[76] = 2 yytranslate_arr[77] = 2 yytranslate_arr[78] = 2 yytranslate_arr[79] = 2 yytranslate_arr[80] = 2 yytranslate_arr[81] = 2 yytranslate_arr[82] = 2 yytranslate_arr[83] = 2 yytranslate_arr[84] = 2 yytranslate_arr[85] = 2 yytranslate_arr[86] = 2 yytranslate_arr[87] = 2 yytranslate_arr[88] = 2 yytranslate_arr[89] = 2 yytranslate_arr[90] = 2 yytranslate_arr[91] = 52 yytranslate_arr[92] = 2 yytranslate_arr[93] = 53 yytranslate_arr[94] = 2 yytranslate_arr[95] = 2 yytranslate_arr[96] = 2 yytranslate_arr[97] = 2 yytranslate_arr[98] = 2 yytranslate_arr[99] = 2 yytranslate_arr[100] = 2 yytranslate_arr[101] = 2 yytranslate_arr[102] = 2 yytranslate_arr[103] = 2 yytranslate_arr[104] = 2 yytranslate_arr[105] = 2 yytranslate_arr[106] = 2 yytranslate_arr[107] = 2 yytranslate_arr[108] = 2 yytranslate_arr[109] = 2 yytranslate_arr[110] = 2 yytranslate_arr[111] = 2 yytranslate_arr[112] = 2 yytranslate_arr[113] = 2 yytranslate_arr[114] = 2 yytranslate_arr[115] = 2 yytranslate_arr[116] = 2 yytranslate_arr[117] = 2 yytranslate_arr[118] = 2 yytranslate_arr[119] = 2 yytranslate_arr[120] = 2 yytranslate_arr[121] = 2 yytranslate_arr[122] = 2 yytranslate_arr[123] = 50 yytranslate_arr[124] = 2 yytranslate_arr[125] = 51 yytranslate_arr[126] = 2 yytranslate_arr[127] = 2 yytranslate_arr[128] = 2 yytranslate_arr[129] = 2 yytranslate_arr[130] = 2 yytranslate_arr[131] = 2 yytranslate_arr[132] = 2 yytranslate_arr[133] = 2 yytranslate_arr[134] = 2 yytranslate_arr[135] = 2 yytranslate_arr[136] = 2 yytranslate_arr[137] = 2 yytranslate_arr[138] = 2 yytranslate_arr[139] = 2 yytranslate_arr[140] = 2 yytranslate_arr[141] = 2 yytranslate_arr[142] = 2 yytranslate_arr[143] = 2 yytranslate_arr[144] = 2 yytranslate_arr[145] = 2 yytranslate_arr[146] = 2 yytranslate_arr[147] = 2 yytranslate_arr[148] = 2 yytranslate_arr[149] = 2 yytranslate_arr[150] = 2 yytranslate_arr[151] = 2 yytranslate_arr[152] = 2 yytranslate_arr[153] = 2 yytranslate_arr[154] = 2 yytranslate_arr[155] = 2 yytranslate_arr[156] = 2 yytranslate_arr[157] = 2 yytranslate_arr[158] = 2 yytranslate_arr[159] = 2 yytranslate_arr[160] = 2 yytranslate_arr[161] = 2 yytranslate_arr[162] = 2 yytranslate_arr[163] = 2 yytranslate_arr[164] = 2 yytranslate_arr[165] = 2 yytranslate_arr[166] = 2 yytranslate_arr[167] = 2 yytranslate_arr[168] = 2 yytranslate_arr[169] = 2 yytranslate_arr[170] = 2 yytranslate_arr[171] = 2 yytranslate_arr[172] = 2 yytranslate_arr[173] = 2 yytranslate_arr[174] = 2 yytranslate_arr[175] = 2 yytranslate_arr[176] = 2 yytranslate_arr[177] = 2 yytranslate_arr[178] = 2 yytranslate_arr[179] = 2 yytranslate_arr[180] = 2 yytranslate_arr[181] = 2 yytranslate_arr[182] = 2 yytranslate_arr[183] = 2 yytranslate_arr[184] = 2 yytranslate_arr[185] = 2 yytranslate_arr[186] = 2 yytranslate_arr[187] = 2 yytranslate_arr[188] = 2 yytranslate_arr[189] = 2 yytranslate_arr[190] = 2 yytranslate_arr[191] = 2 yytranslate_arr[192] = 2 yytranslate_arr[193] = 2 yytranslate_arr[194] = 2 yytranslate_arr[195] = 2 yytranslate_arr[196] = 2 yytranslate_arr[197] = 2 yytranslate_arr[198] = 2 yytranslate_arr[199] = 2 yytranslate_arr[200] = 2 yytranslate_arr[201] = 2 yytranslate_arr[202] = 2 yytranslate_arr[203] = 2 yytranslate_arr[204] = 2 yytranslate_arr[205] = 2 yytranslate_arr[206] = 2 yytranslate_arr[207] = 2 yytranslate_arr[208] = 2 yytranslate_arr[209] = 2 yytranslate_arr[210] = 2 yytranslate_arr[211] = 2 yytranslate_arr[212] = 2 yytranslate_arr[213] = 2 yytranslate_arr[214] = 2 yytranslate_arr[215] = 2 yytranslate_arr[216] = 2 yytranslate_arr[217] = 2 yytranslate_arr[218] = 2 yytranslate_arr[219] = 2 yytranslate_arr[220] = 2 yytranslate_arr[221] = 2 yytranslate_arr[222] = 2 yytranslate_arr[223] = 2 yytranslate_arr[224] = 2 yytranslate_arr[225] = 2 yytranslate_arr[226] = 2 yytranslate_arr[227] = 2 yytranslate_arr[228] = 2 yytranslate_arr[229] = 2 yytranslate_arr[230] = 2 yytranslate_arr[231] = 2 yytranslate_arr[232] = 2 yytranslate_arr[233] = 2 yytranslate_arr[234] = 2 yytranslate_arr[235] = 2 yytranslate_arr[236] = 2 yytranslate_arr[237] = 2 yytranslate_arr[238] = 2 yytranslate_arr[239] = 2 yytranslate_arr[240] = 2 yytranslate_arr[241] = 2 yytranslate_arr[242] = 2 yytranslate_arr[243] = 2 yytranslate_arr[244] = 2 yytranslate_arr[245] = 2 yytranslate_arr[246] = 2 yytranslate_arr[247] = 2 yytranslate_arr[248] = 2 yytranslate_arr[249] = 2 yytranslate_arr[250] = 2 yytranslate_arr[251] = 2 yytranslate_arr[252] = 2 yytranslate_arr[253] = 2 yytranslate_arr[254] = 2 yytranslate_arr[255] = 2 yytranslate_arr[256] = 1 yytranslate_arr[257] = 2 yytranslate_arr[258] = 3 yytranslate_arr[259] = 4 yytranslate_arr[260] = 5 yytranslate_arr[261] = 6 yytranslate_arr[262] = 7 yytranslate_arr[263] = 8 yytranslate_arr[264] = 9 yytranslate_arr[265] = 10 yytranslate_arr[266] = 11 yytranslate_arr[267] = 12 yytranslate_arr[268] = 13 yytranslate_arr[269] = 14 yytranslate_arr[270] = 15 yytranslate_arr[271] = 16 yytranslate_arr[272] = 17 yytranslate_arr[273] = 18 yytranslate_arr[274] = 19 yytranslate_arr[275] = 20 yytranslate_arr[276] = 21 yytranslate_arr[277] = 22 yytranslate_arr[278] = 23 yytranslate_arr[279] = 24 yytranslate_arr[280] = 25 yytranslate_arr[281] = 26 yytranslate_arr[282] = 27 yytranslate_arr[283] = 28 yytranslate_arr[284] = 29 yytranslate_arr[285] = 30 yytranslate_arr[286] = 31 yytranslate_arr[287] = 32 yytranslate_arr[288] = 33 yytranslate_arr[289] = 34 yytranslate_arr[290] = 35 yytranslate_arr[291] = 36 yytranslate_arr[292] = 37 yytranslate_arr[293] = 38 yytranslate_arr[294] = 39 yytranslate_arr[295] = 40 yytranslate_arr[296] = 41 yytranslate_arr[297] = 42 yytranslate_arr[298] = 43 yytranslate_arr[299] = 44 yyprhs = ARRAY("0:148") yyprhs[0] = 0 yyprhs[1] = 0 yyprhs[2] = 3 yyprhs[3] = 4 yyprhs[4] = 8 yyprhs[5] = 10 yyprhs[6] = 11 yyprhs[7] = 15 yyprhs[8] = 20 yyprhs[9] = 23 yyprhs[10] = 25 yyprhs[11] = 27 yyprhs[12] = 28 yyprhs[13] = 31 yyprhs[14] = 33 yyprhs[15] = 36 yyprhs[16] = 41 yyprhs[17] = 44 yyprhs[18] = 49 yyprhs[19] = 51 yyprhs[20] = 53 yyprhs[21] = 55 yyprhs[22] = 59 yyprhs[23] = 63 yyprhs[24] = 66 yyprhs[25] = 82 yyprhs[26] = 97 yyprhs[27] = 111 yyprhs[28] = 123 yyprhs[29] = 133 yyprhs[30] = 140 yyprhs[31] = 143 yyprhs[32] = 145 yyprhs[33] = 150 yyprhs[34] = 152 yyprhs[35] = 158 yyprhs[36] = 167 yyprhs[37] = 175 yyprhs[38] = 178 yyprhs[39] = 180 yyprhs[40] = 183 yyprhs[41] = 188 yyprhs[42] = 191 yyprhs[43] = 193 yyprhs[44] = 198 yyprhs[45] = 205 yyprhs[46] = 208 yyprhs[47] = 211 yyprhs[48] = 213 yyprhs[49] = 216 yyprhs[50] = 218 yyprhs[51] = 220 yyprhs[52] = 222 yyprhs[53] = 225 yyprhs[54] = 228 yyprhs[55] = 231 yyprhs[56] = 233 yyprhs[57] = 236 yyprhs[58] = 239 yyprhs[59] = 241 yyprhs[60] = 243 yyprhs[61] = 245 yyprhs[62] = 247 yyprhs[63] = 249 yyprhs[64] = 252 yyprhs[65] = 256 yyprhs[66] = 261 yyprhs[67] = 266 yyprhs[68] = 273 yyprhs[69] = 280 yyprhs[70] = 286 yyprhs[71] = 291 yyprhs[72] = 294 yyprhs[73] = 296 yyprhs[74] = 299 yyprhs[75] = 301 yyprhs[76] = 307 yyprhs[77] = 314 yyprhs[78] = 317 yyprhs[79] = 325 yyprhs[80] = 332 yyprhs[81] = 338 yyprhs[82] = 343 yyprhs[83] = 347 yyprhs[84] = 350 yyprhs[85] = 353 yyprhs[86] = 356 yyprhs[87] = 359 yyprhs[88] = 362 yyprhs[89] = 365 yyprhs[90] = 368 yyprhs[91] = 371 yyprhs[92] = 373 yyprhs[93] = 378 yyprhs[94] = 381 yyprhs[95] = 386 yyprhs[96] = 388 yyprhs[97] = 391 yyprhs[98] = 396 yyprhs[99] = 402 yyprhs[100] = 408 yyprhs[101] = 410 yyprhs[102] = 412 yyprhs[103] = 416 yyprhs[104] = 418 yyprhs[105] = 424 yyprhs[106] = 430 yyprhs[107] = 437 yyprhs[108] = 440 yyprhs[109] = 446 yyprhs[110] = 449 yyprhs[111] = 456 yyprhs[112] = 459 yyprhs[113] = 462 yyprhs[114] = 467 yyprhs[115] = 470 yyprhs[116] = 472 yyprhs[117] = 477 yyprhs[118] = 480 yyprhs[119] = 483 yyprhs[120] = 490 yyprhs[121] = 493 yyprhs[122] = 500 yyprhs[123] = 503 yyprhs[124] = 506 yyprhs[125] = 509 yyprhs[126] = 512 yyprhs[127] = 515 yyprhs[128] = 520 yyprhs[129] = 522 yyprhs[130] = 527 yyprhs[131] = 530 yyprhs[132] = 532 yyprhs[133] = 535 yyprhs[134] = 537 yyprhs[135] = 542 yyprhs[136] = 544 yyprhs[137] = 546 yyprhs[138] = 547 yyprhs[139] = 550 yyprhs[140] = 556 yyprhs[141] = 559 yyprhs[142] = 564 yyprhs[143] = 569 yyprhs[144] = 571 yyprhs[145] = 576 yyprhs[146] = 579 yyprhs[147] = 582 yyprhs[148] = 585 yyrhs = ARRAY("0:587") yyrhs[0] = 58 yyrhs[1] = 0 yyrhs[2] = -1 yyrhs[3] = -1 yyrhs[4] = 59 yyrhs[5] = 77 yyrhs[6] = 45 yyrhs[7] = -1 yyrhs[8] = 1 yyrhs[9] = -1 yyrhs[10] = -1 yyrhs[11] = 1 yyrhs[12] = 60 yyrhs[13] = 81 yyrhs[14] = -1 yyrhs[15] = 65 yyrhs[16] = 62 yyrhs[17] = 66 yyrhs[18] = 45 yyrhs[19] = -1 yyrhs[20] = 66 yyrhs[21] = 45 yyrhs[22] = -1 yyrhs[23] = 1 yyrhs[24] = -1 yyrhs[25] = 35 yyrhs[26] = -1 yyrhs[27] = -1 yyrhs[28] = 61 yyrhs[29] = 45 yyrhs[30] = -1 yyrhs[31] = 45 yyrhs[32] = -1 yyrhs[33] = 63 yyrhs[34] = 45 yyrhs[35] = -1 yyrhs[36] = 64 yyrhs[37] = 46 yyrhs[38] = 63 yyrhs[39] = 45 yyrhs[40] = -1 yyrhs[41] = 113 yyrhs[42] = 45 yyrhs[43] = -1 yyrhs[44] = 65 yyrhs[45] = 47 yyrhs[46] = 113 yyrhs[47] = 45 yyrhs[48] = -1 yyrhs[49] = 113 yyrhs[50] = -1 yyrhs[51] = 67 yyrhs[52] = -1 yyrhs[53] = 44 yyrhs[54] = -1 yyrhs[55] = 30 yyrhs[56] = 78 yyrhs[57] = 45 yyrhs[58] = -1 yyrhs[59] = 29 yyrhs[60] = 78 yyrhs[61] = 45 yyrhs[62] = -1 yyrhs[63] = 71 yyrhs[64] = 45 yyrhs[65] = -1 yyrhs[66] = 26 yyrhs[67] = 48 yyrhs[68] = 68 yyrhs[69] = 5 yyrhs[70] = 39 yyrhs[71] = 39 yyrhs[72] = 39 yyrhs[73] = 40 yyrhs[74] = 39 yyrhs[75] = 49 yyrhs[76] = 74 yyrhs[77] = 50 yyrhs[78] = 73 yyrhs[79] = 51 yyrhs[80] = 45 yyrhs[81] = -1 yyrhs[82] = 26 yyrhs[83] = 48 yyrhs[84] = 68 yyrhs[85] = 5 yyrhs[86] = 39 yyrhs[87] = 39 yyrhs[88] = 39 yyrhs[89] = 40 yyrhs[90] = 49 yyrhs[91] = 74 yyrhs[92] = 50 yyrhs[93] = 73 yyrhs[94] = 51 yyrhs[95] = 45 yyrhs[96] = -1 yyrhs[97] = 26 yyrhs[98] = 48 yyrhs[99] = 68 yyrhs[100] = 5 yyrhs[101] = 39 yyrhs[102] = 39 yyrhs[103] = 39 yyrhs[104] = 49 yyrhs[105] = 74 yyrhs[106] = 50 yyrhs[107] = 73 yyrhs[108] = 51 yyrhs[109] = 45 yyrhs[110] = -1 yyrhs[111] = 26 yyrhs[112] = 48 yyrhs[113] = 68 yyrhs[114] = 5 yyrhs[115] = 39 yyrhs[116] = 49 yyrhs[117] = 74 yyrhs[118] = 50 yyrhs[119] = 73 yyrhs[120] = 51 yyrhs[121] = 45 yyrhs[122] = -1 yyrhs[123] = 26 yyrhs[124] = 48 yyrhs[125] = 68 yyrhs[126] = 49 yyrhs[127] = 74 yyrhs[128] = 50 yyrhs[129] = 73 yyrhs[130] = 51 yyrhs[131] = 45 yyrhs[132] = -1 yyrhs[133] = 26 yyrhs[134] = 74 yyrhs[135] = 50 yyrhs[136] = 73 yyrhs[137] = 51 yyrhs[138] = 45 yyrhs[139] = -1 yyrhs[140] = 113 yyrhs[141] = 45 yyrhs[142] = -1 yyrhs[143] = 45 yyrhs[144] = -1 yyrhs[145] = 48 yyrhs[146] = 113 yyrhs[147] = 39 yyrhs[148] = 49 yyrhs[149] = -1 yyrhs[150] = 45 yyrhs[151] = -1 yyrhs[152] = 48 yyrhs[153] = 113 yyrhs[154] = 113 yyrhs[155] = 40 yyrhs[156] = 49 yyrhs[157] = -1 yyrhs[158] = 15 yyrhs[159] = 70 yyrhs[160] = 69 yyrhs[161] = 52 yyrhs[162] = 64 yyrhs[163] = 53 yyrhs[164] = 66 yyrhs[165] = 45 yyrhs[166] = -1 yyrhs[167] = 15 yyrhs[168] = 69 yyrhs[169] = 52 yyrhs[170] = 64 yyrhs[171] = 53 yyrhs[172] = 66 yyrhs[173] = 45 yyrhs[174] = -1 yyrhs[175] = 75 yyrhs[176] = 45 yyrhs[177] = -1 yyrhs[178] = 45 yyrhs[179] = -1 yyrhs[180] = 72 yyrhs[181] = 45 yyrhs[182] = -1 yyrhs[183] = 73 yyrhs[184] = 46 yyrhs[185] = 72 yyrhs[186] = 45 yyrhs[187] = -1 yyrhs[188] = 113 yyrhs[189] = 45 yyrhs[190] = -1 yyrhs[191] = 45 yyrhs[192] = -1 yyrhs[193] = 65 yyrhs[194] = 62 yyrhs[195] = 66 yyrhs[196] = 45 yyrhs[197] = -1 yyrhs[198] = 65 yyrhs[199] = 62 yyrhs[200] = 76 yyrhs[201] = 14 yyrhs[202] = 78 yyrhs[203] = 45 yyrhs[204] = -1 yyrhs[205] = 113 yyrhs[206] = 45 yyrhs[207] = -1 yyrhs[208] = 4 yyrhs[209] = 45 yyrhs[210] = -1 yyrhs[211] = 1 yyrhs[212] = -1 yyrhs[213] = 23 yyrhs[214] = 45 yyrhs[215] = -1 yyrhs[216] = 45 yyrhs[217] = -1 yyrhs[218] = 67 yyrhs[219] = -1 yyrhs[220] = 78 yyrhs[221] = -1 yyrhs[222] = 79 yyrhs[223] = 45 yyrhs[224] = -1 yyrhs[225] = 54 yyrhs[226] = 45 yyrhs[227] = -1 yyrhs[228] = 80 yyrhs[229] = 45 yyrhs[230] = -1 yyrhs[231] = 88 yyrhs[232] = -1 yyrhs[233] = 79 yyrhs[234] = 80 yyrhs[235] = -1 yyrhs[236] = 79 yyrhs[237] = 88 yyrhs[238] = -1 yyrhs[239] = 83 yyrhs[240] = -1 yyrhs[241] = 85 yyrhs[242] = -1 yyrhs[243] = 3 yyrhs[244] = -1 yyrhs[245] = 6 yyrhs[246] = -1 yyrhs[247] = 86 yyrhs[248] = -1 yyrhs[249] = 80 yyrhs[250] = 101 yyrhs[251] = -1 yyrhs[252] = 48 yyrhs[253] = 81 yyrhs[254] = 49 yyrhs[255] = -1 yyrhs[256] = 17 yyrhs[257] = 111 yyrhs[258] = 13 yyrhs[259] = 45 yyrhs[260] = -1 yyrhs[261] = 7 yyrhs[262] = 111 yyrhs[263] = 22 yyrhs[264] = 45 yyrhs[265] = -1 yyrhs[266] = 20 yyrhs[267] = 90 yyrhs[268] = 18 yyrhs[269] = 81 yyrhs[270] = 21 yyrhs[271] = 45 yyrhs[272] = -1 yyrhs[273] = 28 yyrhs[274] = 89 yyrhs[275] = 18 yyrhs[276] = 81 yyrhs[277] = 21 yyrhs[278] = 45 yyrhs[279] = -1 yyrhs[280] = 43 yyrhs[281] = 50 yyrhs[282] = 39 yyrhs[283] = 51 yyrhs[284] = 45 yyrhs[285] = -1 yyrhs[286] = 81 yyrhs[287] = 46 yyrhs[288] = 82 yyrhs[289] = 45 yyrhs[290] = -1 yyrhs[291] = 77 yyrhs[292] = 45 yyrhs[293] = -1 yyrhs[294] = 1 yyrhs[295] = -1 yyrhs[296] = 77 yyrhs[297] = 45 yyrhs[298] = -1 yyrhs[299] = 45 yyrhs[300] = -1 yyrhs[301] = 84 yyrhs[302] = 50 yyrhs[303] = 81 yyrhs[304] = 51 yyrhs[305] = 45 yyrhs[306] = -1 yyrhs[307] = 84 yyrhs[308] = 50 yyrhs[309] = 43 yyrhs[310] = 39 yyrhs[311] = 51 yyrhs[312] = 45 yyrhs[313] = -1 yyrhs[314] = 71 yyrhs[315] = 45 yyrhs[316] = -1 yyrhs[317] = 15 yyrhs[318] = 70 yyrhs[319] = 69 yyrhs[320] = 52 yyrhs[321] = 64 yyrhs[322] = 53 yyrhs[323] = 45 yyrhs[324] = -1 yyrhs[325] = 15 yyrhs[326] = 69 yyrhs[327] = 52 yyrhs[328] = 64 yyrhs[329] = 53 yyrhs[330] = 45 yyrhs[331] = -1 yyrhs[332] = 80 yyrhs[333] = 55 yyrhs[334] = 113 yyrhs[335] = 108 yyrhs[336] = 45 yyrhs[337] = -1 yyrhs[338] = 80 yyrhs[339] = 55 yyrhs[340] = 114 yyrhs[341] = 45 yyrhs[342] = -1 yyrhs[343] = 113 yyrhs[344] = 108 yyrhs[345] = 45 yyrhs[346] = -1 yyrhs[347] = 114 yyrhs[348] = 45 yyrhs[349] = -1 yyrhs[350] = 93 yyrhs[351] = 45 yyrhs[352] = -1 yyrhs[353] = 96 yyrhs[354] = 45 yyrhs[355] = -1 yyrhs[356] = 94 yyrhs[357] = 45 yyrhs[358] = -1 yyrhs[359] = 95 yyrhs[360] = 45 yyrhs[361] = -1 yyrhs[362] = 97 yyrhs[363] = 45 yyrhs[364] = -1 yyrhs[365] = 77 yyrhs[366] = 45 yyrhs[367] = -1 yyrhs[368] = 8 yyrhs[369] = 45 yyrhs[370] = -1 yyrhs[371] = 1 yyrhs[372] = -1 yyrhs[373] = 52 yyrhs[374] = 89 yyrhs[375] = 53 yyrhs[376] = 45 yyrhs[377] = -1 yyrhs[378] = 77 yyrhs[379] = 45 yyrhs[380] = -1 yyrhs[381] = 77 yyrhs[382] = 47 yyrhs[383] = 89 yyrhs[384] = 45 yyrhs[385] = -1 yyrhs[386] = 45 yyrhs[387] = -1 yyrhs[388] = 91 yyrhs[389] = 45 yyrhs[390] = -1 yyrhs[391] = 90 yyrhs[392] = 46 yyrhs[393] = 91 yyrhs[394] = 45 yyrhs[395] = -1 yyrhs[396] = 65 yyrhs[397] = 92 yyrhs[398] = 33 yyrhs[399] = 77 yyrhs[400] = 45 yyrhs[401] = -1 yyrhs[402] = 65 yyrhs[403] = 92 yyrhs[404] = 34 yyrhs[405] = 77 yyrhs[406] = 45 yyrhs[407] = -1 yyrhs[408] = 45 yyrhs[409] = -1 yyrhs[410] = 1 yyrhs[411] = -1 yyrhs[412] = 62 yyrhs[413] = 66 yyrhs[414] = 45 yyrhs[415] = -1 yyrhs[416] = 45 yyrhs[417] = -1 yyrhs[418] = 11 yyrhs[419] = 50 yyrhs[420] = 65 yyrhs[421] = 51 yyrhs[422] = 45 yyrhs[423] = -1 yyrhs[424] = 19 yyrhs[425] = 50 yyrhs[426] = 77 yyrhs[427] = 51 yyrhs[428] = 45 yyrhs[429] = -1 yyrhs[430] = 38 yyrhs[431] = 74 yyrhs[432] = 50 yyrhs[433] = 64 yyrhs[434] = 51 yyrhs[435] = 45 yyrhs[436] = -1 yyrhs[437] = 38 yyrhs[438] = 1 yyrhs[439] = -1 yyrhs[440] = 24 yyrhs[441] = 50 yyrhs[442] = 98 yyrhs[443] = 51 yyrhs[444] = 45 yyrhs[445] = -1 yyrhs[446] = 24 yyrhs[447] = 1 yyrhs[448] = -1 yyrhs[449] = 27 yyrhs[450] = 74 yyrhs[451] = 50 yyrhs[452] = 64 yyrhs[453] = 51 yyrhs[454] = 45 yyrhs[455] = -1 yyrhs[456] = 27 yyrhs[457] = 1 yyrhs[458] = -1 yyrhs[459] = 99 yyrhs[460] = 45 yyrhs[461] = -1 yyrhs[462] = 98 yyrhs[463] = 46 yyrhs[464] = 99 yyrhs[465] = 45 yyrhs[466] = -1 yyrhs[467] = 100 yyrhs[468] = 45 yyrhs[469] = -1 yyrhs[470] = 45 yyrhs[471] = -1 yyrhs[472] = 65 yyrhs[473] = 62 yyrhs[474] = 77 yyrhs[475] = 45 yyrhs[476] = -1 yyrhs[477] = 102 yyrhs[478] = 45 yyrhs[479] = -1 yyrhs[480] = 103 yyrhs[481] = 45 yyrhs[482] = -1 yyrhs[483] = 31 yyrhs[484] = 74 yyrhs[485] = 50 yyrhs[486] = 90 yyrhs[487] = 51 yyrhs[488] = 45 yyrhs[489] = -1 yyrhs[490] = 31 yyrhs[491] = 1 yyrhs[492] = -1 yyrhs[493] = 104 yyrhs[494] = 74 yyrhs[495] = 50 yyrhs[496] = 105 yyrhs[497] = 51 yyrhs[498] = 45 yyrhs[499] = -1 yyrhs[500] = 12 yyrhs[501] = 1 yyrhs[502] = -1 yyrhs[503] = 16 yyrhs[504] = 1 yyrhs[505] = -1 yyrhs[506] = 12 yyrhs[507] = 45 yyrhs[508] = -1 yyrhs[509] = 16 yyrhs[510] = 45 yyrhs[511] = -1 yyrhs[512] = 106 yyrhs[513] = 45 yyrhs[514] = -1 yyrhs[515] = 106 yyrhs[516] = 46 yyrhs[517] = 105 yyrhs[518] = 45 yyrhs[519] = -1 yyrhs[520] = 45 yyrhs[521] = -1 yyrhs[522] = 113 yyrhs[523] = 108 yyrhs[524] = 107 yyrhs[525] = 45 yyrhs[526] = -1 yyrhs[527] = 5 yyrhs[528] = 45 yyrhs[529] = -1 yyrhs[530] = 1 yyrhs[531] = -1 yyrhs[532] = 103 yyrhs[533] = 45 yyrhs[534] = -1 yyrhs[535] = 45 yyrhs[536] = -1 yyrhs[537] = 41 yyrhs[538] = 66 yyrhs[539] = 42 yyrhs[540] = 45 yyrhs[541] = -1 yyrhs[542] = 45 yyrhs[543] = -1 yyrhs[544] = 110 yyrhs[545] = -1 yyrhs[546] = -1 yyrhs[547] = 8 yyrhs[548] = 81 yyrhs[549] = -1 yyrhs[550] = 9 yyrhs[551] = 77 yyrhs[552] = 25 yyrhs[553] = 81 yyrhs[554] = 109 yyrhs[555] = -1 yyrhs[556] = 112 yyrhs[557] = 45 yyrhs[558] = -1 yyrhs[559] = 111 yyrhs[560] = 56 yyrhs[561] = 112 yyrhs[562] = 45 yyrhs[563] = -1 yyrhs[564] = 77 yyrhs[565] = 25 yyrhs[566] = 81 yyrhs[567] = 109 yyrhs[568] = -1 yyrhs[569] = 1 yyrhs[570] = -1 yyrhs[571] = 87 yyrhs[572] = 32 yyrhs[573] = 81 yyrhs[574] = 45 yyrhs[575] = -1 yyrhs[576] = 36 yyrhs[577] = 45 yyrhs[578] = -1 yyrhs[579] = 37 yyrhs[580] = 45 yyrhs[581] = -1 yyrhs[582] = 39 yyrhs[583] = 45 yyrhs[584] = -1 yyrhs[585] = 40 yyrhs[586] = 45 yyrhs[587] = -1 yyrline = ARRAY("0:116") yyrline[0] = 0 yyrline[1] = 189 yyrline[2] = 189 yyrline[3] = 189 yyrline[4] = 201 yyrline[5] = 204 yyrline[6] = 203 yyrline[7] = 208 yyrline[8] = 254 yyrline[9] = 256 yyrline[10] = 288 yyrline[11] = 291 yyrline[12] = 294 yyrline[13] = 296 yyrline[14] = 300 yyrline[15] = 302 yyrline[16] = 306 yyrline[17] = 308 yyrline[18] = 312 yyrline[19] = 314 yyrline[20] = 318 yyrline[21] = 322 yyrline[22] = 326 yyrline[23] = 330 yyrline[24] = 332 yyrline[25] = 342 yyrline[26] = 352 yyrline[27] = 362 yyrline[28] = 372 yyrline[29] = 382 yyrline[30] = 390 yyrline[31] = 400 yyrline[32] = 404 yyrline[33] = 417 yyrline[34] = 421 yyrline[35] = 461 yyrline[36] = 466 yyrline[37] = 476 yyrline[38] = 478 yyrline[39] = 482 yyrline[40] = 484 yyrline[41] = 488 yyrline[42] = 490 yyrline[43] = 494 yyrline[44] = 506 yyrline[45] = 539 yyrline[46] = 580 yyrline[47] = 587 yyrline[48] = 594 yyrline[49] = 596 yyrline[50] = 600 yyrline[51] = 602 yyrline[52] = 605 yyrline[53] = 625 yyrline[54] = 637 yyrline[55] = 639 yyrline[56] = 641 yyrline[57] = 643 yyrline[58] = 647 yyrline[59] = 649 yyrline[60] = 651 yyrline[61] = 653 yyrline[62] = 655 yyrline[63] = 657 yyrline[64] = 659 yyrline[65] = 681 yyrline[66] = 683 yyrline[67] = 685 yyrline[68] = 691 yyrline[69] = 697 yyrline[70] = 705 yyrline[71] = 707 yyrline[72] = 709 yyrline[73] = 757 yyrline[74] = 759 yyrline[75] = 763 yyrline[76] = 782 yyrline[77] = 791 yyrline[78] = 793 yyrline[79] = 798 yyrline[80] = 802 yyrline[81] = 808 yyrline[82] = 813 yyrline[83] = 818 yyrline[84] = 824 yyrline[85] = 826 yyrline[86] = 828 yyrline[87] = 830 yyrline[88] = 832 yyrline[89] = 836 yyrline[90] = 838 yyrline[91] = 840 yyrline[92] = 844 yyrline[93] = 848 yyrline[94] = 850 yyrline[95] = 852 yyrline[96] = 856 yyrline[97] = 858 yyrline[98] = 862 yyrline[99] = 868 yyrline[100] = 878 yyrline[101] = 880 yyrline[102] = 925 yyrline[103] = 927 yyrline[104] = 931 yyrline[105] = 935 yyrline[106] = 939 yyrline[107] = 948 yyrline[108] = 952 yyrline[109] = 954 yyrline[110] = 958 yyrline[111] = 967 yyrline[112] = 971 yyrline[113] = 973 yyrline[114] = 977 yyrline[115] = 979 yyrline[116] = 983 yyrline[117] = 994 yyrline[118] = 996 yyrline[119] = 1000 yyrline[120] = 1002 yyrline[121] = 1006 yyrline[122] = 1008 yyrline[123] = 1010 yyrline[124] = 1014 yyrline[125] = 1016 yyrline[126] = 1020 yyrline[127] = 1022 yyrline[128] = 1024 yyrline[129] = 1028 yyrline[130] = 1030 yyrline[131] = 1032 yyrline[132] = 1036 yyrline[133] = 1038 yyrline[134] = 1042 yyrline[135] = 1044 yyrline[136] = 1048 yyrline[137] = 1051 yyrline[138] = 1057 yyrline[139] = 1067 yyrline[140] = 1086 yyrline[141] = 1088 yyrline[142] = 1090 yyrline[143] = 1107 yyrline[144] = 1147 yyrline[145] = 1159 yyrline[146] = 1161 yyrline[147] = 1165 yyrline[148] = 1167 yytname = ARRAY("0:115") yytname[0] = "$end" yytname[1] = "error" yytname[2] = "$undefined" yytname[3] = "CAND" yytname[4] = "CHARACTERS" yytname[5] = "CONSTANTS" yytname[6] = "COR" yytname[7] = "DO" yytname[8] = "ELSE" yytname[9] = "ELSIF" yytname[10] = "END" yytname[11] = "ENUM" yytname[12] = "EXPORT" yytname[13] = "FI" yytname[14] = "FIELD" yytname[15] = "FUNC" yytname[16] = "HIDE" yytname[17] = "IF" yytname[18] = "IN" yytname[19] = "EXTEND" yytname[20] = "LET" yytname[21] = "NI" yytname[22] = "OD" yytname[23] = "READONLY" yytname[24] = "RECORD" yytname[25] = "THEN" yytname[26] = "TYPE" yytname[27] = "UNION" yytname[28] = "USE" yytname[29] = "VAL" yytname[30] = "VAR" yytname[31] = "WITH" yytname[32] = "RIGHT_ARROW" yytname[33] = "EQUALS_EQUALS" yytname[34] = "EQUALS_EQUALS_EQUALS" yytname[35] = "COLON" yytname[36] = "WORDID" yytname[37] = "OPID" yytname[38] = "PROD" yytname[39] = "QSTRING" yytname[40] = "UQSTRING" yytname[41] = "LEFT_ANGLE_BRACKET" yytname[42] = "RIGHT_ANGLE_BRACKET" yytname[43] = "EXTERN" yytname[44] = "SIGNATURE" yytname[45] = "=" yytname[46] = ";" yytname[47] = "," yytname[48] = "(" yytname[49] = ")" yytname[50] = "{" yytname[51] = "}" yytname[52] = "[" yytname[53] = "]" * ??? yytname[54] = "\\002" yytname[55] = "$" yytname[56] = "#" yytname[57] = "$accept" yytname[58] = "Program" yytname[59] = "@1" yytname[60] = "$@2" yytname[61] = "Parameters" yytname[62] = "Opt.Colon" yytname[63] = "Opt.Parameters" yytname[64] = "Opt.Parameter.list" yytname[65] = "Id.list" yytname[66] = "Signature" yytname[67] = "ManifestSignature" yytname[68] = "Opt.Simple" yytname[69] = "Opt.InLine" yytname[70] = "Special" yytname[71] = "FuncSignature" yytname[72] = "Opt.TypeSignatureComponents" yytname[73] = "Opt.TypeSignatureComponent.list" yytname[74] = "Opt.Id" yytname[75] = "TypeSignatureComponents" yytname[76] = "Opt.Readonly" yytname[77] = "Denotation" yytname[78] = "BasicDenotation" yytname[79] = "Primary.list" yytname[80] = "Primary" yytname[81] = "Denotation.seq" yytname[82] = "Opt.Denotation" yytname[83] = "FuncConstruction" yytname[84] = "IncompleteFuncSignature" yytname[85] = "Selection" yytname[86] = "TypeConstruction" yytname[87] = "Guard" yytname[88] = "ArgList" yytname[89] = "Opt.Denotation.list" yytname[90] = "Opt.Declaration.list" yytname[91] = "Opt.Declarations" yytname[92] = "Opt.ColonSignature" yytname[93] = "Enumeration" yytname[94] = "Extension" yytname[95] = "Product" yytname[96] = "Record" yytname[97] = "Union" yytname[98] = "Opt.RecordElement.list" yytname[99] = "Opt.RecordElements" yytname[100] = "RecordElements" yytname[101] = "TypeModifier" yytname[102] = "WithList" yytname[103] = "ExportList" yytname[104] = "Start.ExportList" yytname[105] = "ExportElement.list" yytname[106] = "ExportElement" yytname[107] = "Opt.ExportList" yytname[108] = "Opt.SigClause" yytname[109] = "Opt.ElseList" yytname[110] = "ElseList" yytname[111] = "GuardedDenotation.list" yytname[112] = "GuardedDenotation" yytname[113] = "ID" yytname[114] = "STRING" yytname[115] = YY_NULL yytoknum = ARRAY("0:56") yytoknum[0] = 0 yytoknum[1] = 256 yytoknum[2] = 257 yytoknum[3] = 258 yytoknum[4] = 259 yytoknum[5] = 260 yytoknum[6] = 261 yytoknum[7] = 262 yytoknum[8] = 263 yytoknum[9] = 264 yytoknum[10] = 265 yytoknum[11] = 266 yytoknum[12] = 267 yytoknum[13] = 268 yytoknum[14] = 269 yytoknum[15] = 270 yytoknum[16] = 271 yytoknum[17] = 272 yytoknum[18] = 273 yytoknum[19] = 274 yytoknum[20] = 275 yytoknum[21] = 276 yytoknum[22] = 277 yytoknum[23] = 278 yytoknum[24] = 279 yytoknum[25] = 280 yytoknum[26] = 281 yytoknum[27] = 282 yytoknum[28] = 283 yytoknum[29] = 284 yytoknum[30] = 285 yytoknum[31] = 286 yytoknum[32] = 287 yytoknum[33] = 288 yytoknum[34] = 289 yytoknum[35] = 290 yytoknum[36] = 291 yytoknum[37] = 292 yytoknum[38] = 293 yytoknum[39] = 294 yytoknum[40] = 295 yytoknum[41] = 296 yytoknum[42] = 297 yytoknum[43] = 298 yytoknum[44] = 299 yytoknum[45] = 61 yytoknum[46] = 59 yytoknum[47] = 44 yytoknum[48] = 40 yytoknum[49] = 41 yytoknum[50] = 123 yytoknum[51] = 125 yytoknum[52] = 91 yytoknum[53] = 93 yytoknum[54] = 2 yytoknum[55] = 36 yytoknum[56] = 35 yyr1 = ARRAY("0:148") yyr1[0] = 0 yyr1[1] = 57 yyr1[2] = 59 yyr1[3] = 58 yyr1[4] = 58 yyr1[5] = 60 yyr1[6] = 58 yyr1[7] = 61 yyr1[8] = 61 yyr1[9] = 61 yyr1[10] = 62 yyr1[11] = 62 yyr1[12] = 63 yyr1[13] = 63 yyr1[14] = 64 yyr1[15] = 64 yyr1[16] = 65 yyr1[17] = 65 yyr1[18] = 66 yyr1[19] = 66 yyr1[20] = 67 yyr1[21] = 67 yyr1[22] = 67 yyr1[23] = 67 yyr1[24] = 67 yyr1[25] = 67 yyr1[26] = 67 yyr1[27] = 67 yyr1[28] = 67 yyr1[29] = 67 yyr1[30] = 68 yyr1[31] = 68 yyr1[32] = 69 yyr1[33] = 69 yyr1[34] = 70 yyr1[35] = 71 yyr1[36] = 71 yyr1[37] = 72 yyr1[38] = 72 yyr1[39] = 73 yyr1[40] = 73 yyr1[41] = 74 yyr1[42] = 74 yyr1[43] = 75 yyr1[44] = 75 yyr1[45] = 75 yyr1[46] = 75 yyr1[47] = 75 yyr1[48] = 76 yyr1[49] = 76 yyr1[50] = 77 yyr1[51] = 77 yyr1[52] = 78 yyr1[53] = 78 yyr1[54] = 79 yyr1[55] = 79 yyr1[56] = 79 yyr1[57] = 79 yyr1[58] = 80 yyr1[59] = 80 yyr1[60] = 80 yyr1[61] = 80 yyr1[62] = 80 yyr1[63] = 80 yyr1[64] = 80 yyr1[65] = 80 yyr1[66] = 80 yyr1[67] = 80 yyr1[68] = 80 yyr1[69] = 80 yyr1[70] = 81 yyr1[71] = 81 yyr1[72] = 81 yyr1[73] = 82 yyr1[74] = 82 yyr1[75] = 83 yyr1[76] = 83 yyr1[77] = 84 yyr1[78] = 84 yyr1[79] = 84 yyr1[80] = 85 yyr1[81] = 85 yyr1[82] = 85 yyr1[83] = 85 yyr1[84] = 86 yyr1[85] = 86 yyr1[86] = 86 yyr1[87] = 86 yyr1[88] = 86 yyr1[89] = 87 yyr1[90] = 87 yyr1[91] = 87 yyr1[92] = 88 yyr1[93] = 89 yyr1[94] = 89 yyr1[95] = 89 yyr1[96] = 90 yyr1[97] = 90 yyr1[98] = 91 yyr1[99] = 91 yyr1[100] = 91 yyr1[101] = 91 yyr1[102] = 92 yyr1[103] = 92 yyr1[104] = 93 yyr1[105] = 94 yyr1[106] = 95 yyr1[107] = 95 yyr1[108] = 96 yyr1[109] = 96 yyr1[110] = 97 yyr1[111] = 97 yyr1[112] = 98 yyr1[113] = 98 yyr1[114] = 99 yyr1[115] = 99 yyr1[116] = 100 yyr1[117] = 101 yyr1[118] = 101 yyr1[119] = 102 yyr1[120] = 102 yyr1[121] = 103 yyr1[122] = 103 yyr1[123] = 103 yyr1[124] = 104 yyr1[125] = 104 yyr1[126] = 105 yyr1[127] = 105 yyr1[128] = 105 yyr1[129] = 106 yyr1[130] = 106 yyr1[131] = 106 yyr1[132] = 107 yyr1[133] = 107 yyr1[134] = 108 yyr1[135] = 108 yyr1[136] = 109 yyr1[137] = 109 yyr1[138] = 110 yyr1[139] = 110 yyr1[140] = 111 yyr1[141] = 111 yyr1[142] = 111 yyr1[143] = 111 yyr1[144] = 112 yyr1[145] = 113 yyr1[146] = 113 yyr1[147] = 114 yyr1[148] = 114 yyr2 = ARRAY("0:148") yyr2[0] = 0 yyr2[1] = 2 yyr2[2] = 0 yyr2[3] = 3 yyr2[4] = 1 yyr2[5] = 0 yyr2[6] = 3 yyr2[7] = 4 yyr2[8] = 2 yyr2[9] = 1 yyr2[10] = 1 yyr2[11] = 0 yyr2[12] = 2 yyr2[13] = 1 yyr2[14] = 2 yyr2[15] = 4 yyr2[16] = 2 yyr2[17] = 4 yyr2[18] = 1 yyr2[19] = 1 yyr2[20] = 1 yyr2[21] = 3 yyr2[22] = 3 yyr2[23] = 2 yyr2[24] = 15 yyr2[25] = 14 yyr2[26] = 13 yyr2[27] = 11 yyr2[28] = 9 yyr2[29] = 6 yyr2[30] = 2 yyr2[31] = 1 yyr2[32] = 4 yyr2[33] = 1 yyr2[34] = 5 yyr2[35] = 8 yyr2[36] = 7 yyr2[37] = 2 yyr2[38] = 1 yyr2[39] = 2 yyr2[40] = 4 yyr2[41] = 2 yyr2[42] = 1 yyr2[43] = 4 yyr2[44] = 6 yyr2[45] = 2 yyr2[46] = 2 yyr2[47] = 1 yyr2[48] = 2 yyr2[49] = 1 yyr2[50] = 1 yyr2[51] = 1 yyr2[52] = 2 yyr2[53] = 2 yyr2[54] = 2 yyr2[55] = 1 yyr2[56] = 2 yyr2[57] = 2 yyr2[58] = 1 yyr2[59] = 1 yyr2[60] = 1 yyr2[61] = 1 yyr2[62] = 1 yyr2[63] = 2 yyr2[64] = 3 yyr2[65] = 4 yyr2[66] = 4 yyr2[67] = 6 yyr2[68] = 6 yyr2[69] = 5 yyr2[70] = 4 yyr2[71] = 2 yyr2[72] = 1 yyr2[73] = 2 yyr2[74] = 1 yyr2[75] = 5 yyr2[76] = 6 yyr2[77] = 2 yyr2[78] = 7 yyr2[79] = 6 yyr2[80] = 5 yyr2[81] = 4 yyr2[82] = 3 yyr2[83] = 2 yyr2[84] = 2 yyr2[85] = 2 yyr2[86] = 2 yyr2[87] = 2 yyr2[88] = 2 yyr2[89] = 2 yyr2[90] = 2 yyr2[91] = 1 yyr2[92] = 4 yyr2[93] = 2 yyr2[94] = 4 yyr2[95] = 1 yyr2[96] = 2 yyr2[97] = 4 yyr2[98] = 5 yyr2[99] = 5 yyr2[100] = 1 yyr2[101] = 1 yyr2[102] = 3 yyr2[103] = 1 yyr2[104] = 5 yyr2[105] = 5 yyr2[106] = 6 yyr2[107] = 2 yyr2[108] = 5 yyr2[109] = 2 yyr2[110] = 6 yyr2[111] = 2 yyr2[112] = 2 yyr2[113] = 4 yyr2[114] = 2 yyr2[115] = 1 yyr2[116] = 4 yyr2[117] = 2 yyr2[118] = 2 yyr2[119] = 6 yyr2[120] = 2 yyr2[121] = 6 yyr2[122] = 2 yyr2[123] = 2 yyr2[124] = 2 yyr2[125] = 2 yyr2[126] = 2 yyr2[127] = 4 yyr2[128] = 1 yyr2[129] = 4 yyr2[130] = 2 yyr2[131] = 1 yyr2[132] = 2 yyr2[133] = 1 yyr2[134] = 4 yyr2[135] = 1 yyr2[136] = 1 yyr2[137] = 0 yyr2[138] = 2 yyr2[139] = 5 yyr2[140] = 2 yyr2[141] = 4 yyr2[142] = 4 yyr2[143] = 1 yyr2[144] = 4 yyr2[145] = 2 yyr2[146] = 2 yyr2[147] = 2 yyr2[148] = 2 yydefact = ARRAY("0:389") yydefact[0] = 0 yydefact[1] = 5 yydefact[2] = 0 yydefact[3] = 0 yydefact[4] = 0 yydefact[5] = 1 yydefact[6] = 60 yydefact[7] = 61 yydefact[8] = 0 yydefact[9] = 0 yydefact[10] = 0 yydefact[11] = 0 yydefact[12] = 0 yydefact[13] = 0 yydefact[14] = 0 yydefact[15] = 0 yydefact[16] = 0 yydefact[17] = 0 yydefact[18] = 0 yydefact[19] = 0 yydefact[20] = 0 yydefact[21] = 0 yydefact[22] = 0 yydefact[23] = 0 yydefact[24] = 0 yydefact[25] = 0 yydefact[26] = 20 yydefact[27] = 0 yydefact[28] = 0 yydefact[29] = 0 yydefact[30] = 50 yydefact[31] = 0 yydefact[32] = 0 yydefact[33] = 51 yydefact[34] = 0 yydefact[35] = 0 yydefact[36] = 58 yydefact[37] = 0 yydefact[38] = 59 yydefact[39] = 62 yydefact[40] = 55 yydefact[41] = 0 yydefact[42] = 0 yydefact[43] = 0 yydefact[44] = 0 yydefact[45] = 0 yydefact[46] = 0 yydefact[47] = 0 yydefact[48] = 72 yydefact[49] = 0 yydefact[50] = 6 yydefact[51] = 143 yydefact[52] = 0 yydefact[53] = 0 yydefact[54] = 0 yydefact[55] = 0 yydefact[56] = 0 yydefact[57] = 0 yydefact[58] = 33 yydefact[59] = 0 yydefact[60] = 0 yydefact[61] = 0 yydefact[62] = 0 yydefact[63] = 0 yydefact[64] = 101 yydefact[65] = 100 yydefact[66] = 11 yydefact[67] = 0 yydefact[68] = 0 yydefact[69] = 0 yydefact[70] = 109 yydefact[71] = 0 yydefact[72] = 42 yydefact[73] = 0 yydefact[74] = 0 yydefact[75] = 0 yydefact[76] = 111 yydefact[77] = 0 yydefact[78] = 95 yydefact[79] = 0 yydefact[80] = 0 yydefact[81] = 0 yydefact[82] = 0 yydefact[83] = 0 yydefact[84] = 145 yydefact[85] = 146 yydefact[86] = 107 yydefact[87] = 0 yydefact[88] = 147 yydefact[89] = 148 yydefact[90] = 0 yydefact[91] = 0 yydefact[92] = 0 yydefact[93] = 53 yydefact[94] = 23 yydefact[95] = 3 yydefact[96] = 52 yydefact[97] = 56 yydefact[98] = 57 yydefact[99] = 0 yydefact[100] = 0 yydefact[101] = 0 yydefact[102] = 54 yydefact[103] = 0 yydefact[104] = 63 yydefact[105] = 0 yydefact[106] = 0 yydefact[107] = 0 yydefact[108] = 0 yydefact[109] = 84 yydefact[110] = 86 yydefact[111] = 87 yydefact[112] = 85 yydefact[113] = 88 yydefact[114] = 0 yydefact[115] = 135 yydefact[116] = 0 yydefact[117] = 83 yydefact[118] = 71 yydefact[119] = 0 yydefact[120] = 90 yydefact[121] = 0 yydefact[122] = 89 yydefact[123] = 0 yydefact[124] = 0 yydefact[125] = 0 yydefact[126] = 140 yydefact[127] = 0 yydefact[128] = 0 yydefact[129] = 0 yydefact[130] = 0 yydefact[131] = 0 yydefact[132] = 0 yydefact[133] = 0 yydefact[134] = 10 yydefact[135] = 103 yydefact[136] = 0 yydefact[137] = 0 yydefact[138] = 0 yydefact[139] = 0 yydefact[140] = 0 yydefact[141] = 96 yydefact[142] = 16 yydefact[143] = 115 yydefact[144] = 11 yydefact[145] = 0 yydefact[146] = 0 yydefact[147] = 0 yydefact[148] = 31 yydefact[149] = 0 yydefact[150] = 0 yydefact[151] = 0 yydefact[152] = 41 yydefact[153] = 0 yydefact[154] = 93 yydefact[155] = 0 yydefact[156] = 0 yydefact[157] = 77 yydefact[158] = 22 yydefact[159] = 21 yydefact[160] = 0 yydefact[161] = 0 yydefact[162] = 64 yydefact[163] = 0 yydefact[164] = 122 yydefact[165] = 124 yydefact[166] = 123 yydefact[167] = 125 yydefact[168] = 120 yydefact[169] = 0 yydefact[170] = 0 yydefact[171] = 0 yydefact[172] = 117 yydefact[173] = 118 yydefact[174] = 0 yydefact[175] = 0 yydefact[176] = 0 yydefact[177] = 0 yydefact[178] = 0 yydefact[179] = 19 yydefact[180] = 0 yydefact[181] = 18 yydefact[182] = 82 yydefact[183] = 74 yydefact[184] = 0 yydefact[185] = 0 yydefact[186] = 137 yydefact[187] = 0 yydefact[188] = 66 yydefact[189] = 91 yydefact[190] = 0 yydefact[191] = 0 yydefact[192] = 0 yydefact[193] = 0 yydefact[194] = 0 yydefact[195] = 9 yydefact[196] = 13 yydefact[197] = 0 yydefact[198] = 0 yydefact[199] = 0 yydefact[200] = 11 yydefact[201] = 0 yydefact[202] = 0 yydefact[203] = 0 yydefact[204] = 0 yydefact[205] = 65 yydefact[206] = 0 yydefact[207] = 0 yydefact[208] = 0 yydefact[209] = 0 yydefact[210] = 0 yydefact[211] = 0 yydefact[212] = 0 yydefact[213] = 0 yydefact[214] = 0 yydefact[215] = 0 yydefact[216] = 112 yydefact[217] = 114 yydefact[218] = 0 yydefact[219] = 0 yydefact[220] = 30 yydefact[221] = 47 yydefact[222] = 0 yydefact[223] = 38 yydefact[224] = 11 yydefact[225] = 0 yydefact[226] = 0 yydefact[227] = 0 yydefact[228] = 0 yydefact[229] = 0 yydefact[230] = 0 yydefact[231] = 0 yydefact[232] = 0 yydefact[233] = 0 yydefact[234] = 92 yydefact[235] = 0 yydefact[236] = 0 yydefact[237] = 81 yydefact[238] = 0 yydefact[239] = 0 yydefact[240] = 0 yydefact[241] = 0 yydefact[242] = 0 yydefact[243] = 0 yydefact[244] = 23 yydefact[245] = 73 yydefact[246] = 70 yydefact[247] = 0 yydefact[248] = 0 yydefact[249] = 142 yydefact[250] = 136 yydefact[251] = 144 yydefact[252] = 141 yydefact[253] = 104 yydefact[254] = 32 yydefact[255] = 0 yydefact[256] = 12 yydefact[257] = 14 yydefact[258] = 0 yydefact[259] = 0 yydefact[260] = 0 yydefact[261] = 8 yydefact[262] = 0 yydefact[263] = 105 yydefact[264] = 17 yydefact[265] = 102 yydefact[266] = 0 yydefact[267] = 0 yydefact[268] = 0 yydefact[269] = 97 yydefact[270] = 0 yydefact[271] = 0 yydefact[272] = 108 yydefact[273] = 0 yydefact[274] = 0 yydefact[275] = 46 yydefact[276] = 0 yydefact[277] = 39 yydefact[278] = 0 yydefact[279] = 0 yydefact[280] = 37 yydefact[281] = 16 yydefact[282] = 0 yydefact[283] = 94 yydefact[284] = 0 yydefact[285] = 0 yydefact[286] = 69 yydefact[287] = 0 yydefact[288] = 80 yydefact[289] = 131 yydefact[290] = 0 yydefact[291] = 128 yydefact[292] = 0 yydefact[293] = 0 yydefact[294] = 0 yydefact[295] = 0 yydefact[296] = 75 yydefact[297] = 0 yydefact[298] = 0 yydefact[299] = 134 yydefact[300] = 138 yydefact[301] = 0 yydefact[302] = 34 yydefact[303] = 0 yydefact[304] = 79 yydefact[305] = 0 yydefact[306] = 0 yydefact[307] = 0 yydefact[308] = 98 yydefact[309] = 99 yydefact[310] = 67 yydefact[311] = 116 yydefact[312] = 113 yydefact[313] = 0 yydefact[314] = 0 yydefact[315] = 0 yydefact[316] = 0 yydefact[317] = 49 yydefact[318] = 0 yydefact[319] = 0 yydefact[320] = 0 yydefact[321] = 29 yydefact[322] = 110 yydefact[323] = 68 yydefact[324] = 106 yydefact[325] = 0 yydefact[326] = 130 yydefact[327] = 0 yydefact[328] = 126 yydefact[329] = 0 yydefact[330] = 0 yydefact[331] = 76 yydefact[332] = 0 yydefact[333] = 0 yydefact[334] = 0 yydefact[335] = 15 yydefact[336] = 36 yydefact[337] = 7 yydefact[338] = 78 yydefact[339] = 0 yydefact[340] = 0 yydefact[341] = 0 yydefact[342] = 0 yydefact[343] = 48 yydefact[344] = 43 yydefact[345] = 0 yydefact[346] = 40 yydefact[347] = 119 yydefact[348] = 121 yydefact[349] = 0 yydefact[350] = 133 yydefact[351] = 0 yydefact[352] = 0 yydefact[353] = 0 yydefact[354] = 0 yydefact[355] = 137 yydefact[356] = 35 yydefact[357] = 0 yydefact[358] = 0 yydefact[359] = 0 yydefact[360] = 0 yydefact[361] = 0 yydefact[362] = 127 yydefact[363] = 132 yydefact[364] = 129 yydefact[365] = 0 yydefact[366] = 139 yydefact[367] = 0 yydefact[368] = 0 yydefact[369] = 0 yydefact[370] = 0 yydefact[371] = 28 yydefact[372] = 44 yydefact[373] = 0 yydefact[374] = 0 yydefact[375] = 0 yydefact[376] = 0 yydefact[377] = 0 yydefact[378] = 0 yydefact[379] = 0 yydefact[380] = 27 yydefact[381] = 0 yydefact[382] = 0 yydefact[383] = 0 yydefact[384] = 0 yydefact[385] = 0 yydefact[386] = 26 yydefact[387] = 0 yydefact[388] = 25 yydefact[389] = 24 yydefgoto = ARRAY("0:57") yydefgoto[0] = -1 yydefgoto[1] = 2 yydefgoto[2] = 3 yydefgoto[3] = 4 yydefgoto[4] = 197 yydefgoto[5] = 137 yydefgoto[6] = 198 yydefgoto[7] = 199 yydefgoto[8] = 200 yydefgoto[9] = 201 yydefgoto[10] = 30 yydefgoto[11] = 149 yydefgoto[12] = 60 yydefgoto[13] = 61 yydefgoto[14] = 31 yydefgoto[15] = 225 yydefgoto[16] = 226 yydefgoto[17] = 74 yydefgoto[18] = 227 yydefgoto[19] = 319 yydefgoto[20] = 49 yydefgoto[21] = 33 yydefgoto[22] = 34 yydefgoto[23] = 35 yydefgoto[24] = 50 yydefgoto[25] = 185 yydefgoto[26] = 36 yydefgoto[27] = 37 yydefgoto[28] = 38 yydefgoto[29] = 39 yydefgoto[30] = 54 yydefgoto[31] = 40 yydefgoto[32] = 80 yydefgoto[33] = 67 yydefgoto[34] = 68 yydefgoto[35] = 138 yydefgoto[36] = 41 yydefgoto[37] = 42 yydefgoto[38] = 43 yydefgoto[39] = 44 yydefgoto[40] = 45 yydefgoto[41] = 145 yydefgoto[42] = 146 yydefgoto[43] = 147 yydefgoto[44] = 104 yydefgoto[45] = 105 yydefgoto[46] = 106 yydefgoto[47] = 107 yydefgoto[48] = 292 yydefgoto[49] = 293 yydefgoto[50] = 352 yydefgoto[51] = 116 yydefgoto[52] = 249 yydefgoto[53] = 250 yydefgoto[54] = 55 yydefgoto[55] = 56 yydefgoto[56] = 46 yydefgoto[57] = 47 yypact = ARRAY("0:389") yypact[0] = 471 yypact[1] = 32 yypact[2] = 39 yypact[3] = 691 yypact[4] = 515 yypact[5] = -295 yypact[6] = -295 yypact[7] = -295 yypact[8] = 377 yypact[9] = 56 yypact[10] = 234 yypact[11] = 377 yypact[12] = 92 yypact[13] = 40 yypact[14] = 13 yypact[15] = 98 yypact[16] = 118 yypact[17] = 603 yypact[18] = 735 yypact[19] = 735 yypact[20] = 84 yypact[21] = 114 yypact[22] = 132 yypact[23] = 125 yypact[24] = 150 yypact[25] = 153 yypact[26] = -295 yypact[27] = 515 yypact[28] = 603 yypact[29] = 181 yypact[30] = -295 yypact[31] = 191 yypact[32] = 215 yypact[33] = -295 yypact[34] = 773 yypact[35] = 176 yypact[36] = -295 yypact[37] = 224 yypact[38] = -295 yypact[39] = -295 yypact[40] = -295 yypact[41] = 253 yypact[42] = 254 yypact[43] = 255 yypact[44] = 259 yypact[45] = 261 yypact[46] = -5 yypact[47] = 263 yypact[48] = -295 yypact[49] = 264 yypact[50] = 163 yypact[51] = 249 yypact[52] = 265 yypact[53] = 8 yypact[54] = 279 yypact[55] = -2 yypact[56] = 267 yypact[57] = 222 yypact[58] = -295 yypact[59] = 222 yypact[60] = 262 yypact[61] = 235 yypact[62] = 17 yypact[63] = 691 yypact[64] = -295 yypact[65] = -295 yypact[66] = 3 yypact[67] = 11 yypact[68] = 272 yypact[69] = 273 yypact[70] = -295 yypact[71] = 116 yypact[72] = -295 yypact[73] = 182 yypact[74] = 274 yypact[75] = 277 yypact[76] = -295 yypact[77] = 275 yypact[78] = -295 yypact[79] = 137 yypact[80] = 305 yypact[81] = 281 yypact[82] = 282 yypact[83] = 283 yypact[84] = -295 yypact[85] = -295 yypact[86] = -295 yypact[87] = 280 yypact[88] = -295 yypact[89] = -295 yypact[90] = 290 yypact[91] = 242 yypact[92] = 284 yypact[93] = -295 yypact[94] = 288 yypact[95] = -295 yypact[96] = -295 yypact[97] = 31 yypact[98] = -295 yypact[99] = 21 yypact[100] = 24 yypact[101] = 144 yypact[102] = -295 yypact[103] = 236 yypact[104] = -295 yypact[105] = 294 yypact[106] = 296 yypact[107] = 197 yypact[108] = 559 yypact[109] = -295 yypact[110] = -295 yypact[111] = -295 yypact[112] = -295 yypact[113] = -295 yypact[114] = 805 yypact[115] = -295 yypact[116] = 303 yypact[117] = -295 yypact[118] = -295 yypact[119] = 647 yypact[120] = -295 yypact[121] = 515 yypact[122] = -295 yypact[123] = 515 yypact[124] = 308 yypact[125] = 427 yypact[126] = -295 yypact[127] = 164 yypact[128] = 43 yypact[129] = 149 yypact[130] = 222 yypact[131] = 302 yypact[132] = 311 yypact[133] = 307 yypact[134] = -295 yypact[135] = -295 yypact[136] = 222 yypact[137] = 805 yypact[138] = 256 yypact[139] = 515 yypact[140] = 40 yypact[141] = -295 yypact[142] = -295 yypact[143] = -295 yypact[144] = 2 yypact[145] = 49 yypact[146] = 312 yypact[147] = 316 yypact[148] = -295 yypact[149] = 23 yypact[150] = 322 yypact[151] = 60 yypact[152] = -295 yypact[153] = 149 yypact[154] = -295 yypact[155] = 603 yypact[156] = 515 yypact[157] = -295 yypact[158] = -295 yypact[159] = -295 yypact[160] = 149 yypact[161] = 320 yypact[162] = -295 yypact[163] = 327 yypact[164] = -295 yypact[165] = -295 yypact[166] = -295 yypact[167] = -295 yypact[168] = -295 yypact[169] = 323 yypact[170] = -5 yypact[171] = 329 yypact[172] = -295 yypact[173] = -295 yypact[174] = 325 yypact[175] = -8 yypact[176] = 62 yypact[177] = 234 yypact[178] = 291 yypact[179] = -295 yypact[180] = 331 yypact[181] = -295 yypact[182] = -295 yypact[183] = -295 yypact[184] = 332 yypact[185] = 334 yypact[186] = 103 yypact[187] = 223 yypact[188] = -295 yypact[189] = -295 yypact[190] = 336 yypact[191] = 341 yypact[192] = 342 yypact[193] = 340 yypact[194] = 351 yypact[195] = -295 yypact[196] = -295 yypact[197] = 348 yypact[198] = 350 yypact[199] = 95 yypact[200] = 2 yypact[201] = 353 yypact[202] = 273 yypact[203] = 360 yypact[204] = 149 yypact[205] = -295 yypact[206] = 355 yypact[207] = 363 yypact[208] = 364 yypact[209] = 691 yypact[210] = 691 yypact[211] = 5 yypact[212] = 365 yypact[213] = 691 yypact[214] = 116 yypact[215] = 366 yypact[216] = -295 yypact[217] = -295 yypact[218] = 373 yypact[219] = 197 yypact[220] = -295 yypact[221] = -295 yypact[222] = 374 yypact[223] = -295 yypact[224] = 2 yypact[225] = 378 yypact[226] = 79 yypact[227] = 379 yypact[228] = 381 yypact[229] = 178 yypact[230] = 382 yypact[231] = 6 yypact[232] = 186 yypact[233] = 387 yypact[234] = -295 yypact[235] = 40 yypact[236] = 391 yypact[237] = -295 yypact[238] = 73 yypact[239] = 367 yypact[240] = 392 yypact[241] = 370 yypact[242] = 235 yypact[243] = 394 yypact[244] = -295 yypact[245] = -295 yypact[246] = -295 yypact[247] = 515 yypact[248] = 691 yypact[249] = -295 yypact[250] = -295 yypact[251] = -295 yypact[252] = -295 yypact[253] = -295 yypact[254] = -295 yypact[255] = 396 yypact[256] = -295 yypact[257] = -295 yypact[258] = 149 yypact[259] = 306 yypact[260] = 805 yypact[261] = -295 yypact[262] = 119 yypact[263] = -295 yypact[264] = -295 yypact[265] = -295 yypact[266] = 395 yypact[267] = 398 yypact[268] = 403 yypact[269] = -295 yypact[270] = 404 yypact[271] = 405 yypact[272] = -295 yypact[273] = 54 yypact[274] = 402 yypact[275] = -295 yypact[276] = 241 yypact[277] = -295 yypact[278] = 60 yypact[279] = 413 yypact[280] = -295 yypact[281] = -295 yypact[282] = 414 yypact[283] = -295 yypact[284] = 415 yypact[285] = 416 yypact[286] = -295 yypact[287] = 189 yypact[288] = -295 yypact[289] = -295 yypact[290] = 417 yypact[291] = -295 yypact[292] = 390 yypact[293] = 247 yypact[294] = -5 yypact[295] = 423 yypact[296] = -295 yypact[297] = 149 yypact[298] = 421 yypact[299] = -295 yypact[300] = 163 yypact[301] = 444 yypact[302] = -295 yypact[303] = 431 yypact[304] = -295 yypact[305] = 435 yypact[306] = 438 yypact[307] = 793 yypact[308] = -295 yypact[309] = -295 yypact[310] = -295 yypact[311] = -295 yypact[312] = -295 yypact[313] = 445 yypact[314] = 197 yypact[315] = 60 yypact[316] = 440 yypact[317] = -295 yypact[318] = 442 yypact[319] = 475 yypact[320] = 447 yypact[321] = -295 yypact[322] = -295 yypact[323] = -295 yypact[324] = -295 yypact[325] = 448 yypact[326] = -295 yypact[327] = 449 yypact[328] = -295 yypact[329] = 73 yypact[330] = 155 yypact[331] = -295 yypact[332] = 130 yypact[333] = 149 yypact[334] = 515 yypact[335] = -295 yypact[336] = -295 yypact[337] = -295 yypact[338] = -295 yypact[339] = 451 yypact[340] = 159 yypact[341] = 452 yypact[342] = 192 yypact[343] = -295 yypact[344] = -295 yypact[345] = 735 yypact[346] = -295 yypact[347] = -295 yypact[348] = -295 yypact[349] = 458 yypact[350] = -295 yypact[351] = 459 yypact[352] = 460 yypact[353] = 805 yypact[354] = 152 yypact[355] = 103 yypact[356] = -295 yypact[357] = 82 yypact[358] = 197 yypact[359] = 60 yypact[360] = 461 yypact[361] = 467 yypact[362] = -295 yypact[363] = -295 yypact[364] = -295 yypact[365] = 805 yypact[366] = -295 yypact[367] = 464 yypact[368] = 197 yypact[369] = 470 yypact[370] = 193 yypact[371] = -295 yypact[372] = -295 yypact[373] = 197 yypact[374] = 474 yypact[375] = 60 yypact[376] = 472 yypact[377] = 477 yypact[378] = 60 yypact[379] = 202 yypact[380] = -295 yypact[381] = 60 yypact[382] = 203 yypact[383] = 483 yypact[384] = 206 yypact[385] = 484 yypact[386] = -295 yypact[387] = 486 yypact[388] = -295 yypact[389] = -295 yypgoto = ARRAY("0:57") yypgoto[0] = -295 yypgoto[1] = -295 yypgoto[2] = -295 yypgoto[3] = -295 yypgoto[4] = -295 yypgoto[5] = -125 yypgoto[6] = 278 yypgoto[7] = -137 yypgoto[8] = -12 yypgoto[9] = -103 yypgoto[10] = -46 yypgoto[11] = -295 yypgoto[12] = -55 yypgoto[13] = 356 yypgoto[14] = 37 yypgoto[15] = 260 yypgoto[16] = -294 yypgoto[17] = -9 yypgoto[18] = -295 yypgoto[19] = -295 yypgoto[20] = 7 yypgoto[21] = -14 yypgoto[22] = -295 yypgoto[23] = 503 yypgoto[24] = -19 yypgoto[25] = -295 yypgoto[26] = -295 yypgoto[27] = -295 yypgoto[28] = -295 yypgoto[29] = -295 yypgoto[30] = -295 yypgoto[31] = 506 yypgoto[32] = -11 yypgoto[33] = 313 yypgoto[34] = 406 yypgoto[35] = -295 yypgoto[36] = -295 yypgoto[37] = -295 yypgoto[38] = -295 yypgoto[39] = -295 yypgoto[40] = -295 yypgoto[41] = -295 yypgoto[42] = 333 yypgoto[43] = -295 yypgoto[44] = -295 yypgoto[45] = -295 yypgoto[46] = 219 yypgoto[47] = -295 yypgoto[48] = 221 yypgoto[49] = -295 yypgoto[50] = -295 yypgoto[51] = -158 yypgoto[52] = 201 yypgoto[53] = -295 yypgoto[54] = 546 yypgoto[55] = 436 yypgoto[56] = -13 yypgoto[57] = 465 yytable = ARRAY("0:849") yytable[0] = 69 yytable[1] = 66 yytable[2] = 75 yytable[3] = 75 yytable[4] = 82 yytable[5] = 83 yytable[6] = 131 yytable[7] = 77 yytable[8] = 91 yytable[9] = 75 yytable[10] = 32 yytable[11] = 178 yytable[12] = 236 yytable[13] = 87 yytable[14] = 70 yytable[15] = 53 yytable[16] = 229 yytable[17] = 92 yytable[18] = 53 yytable[19] = 213 yytable[20] = 124 yytable[21] = 342 yytable[22] = 164 yytable[23] = 232 yytable[24] = 79 yytable[25] = 166 yytable[26] = 268 yytable[27] = 284 yytable[28] = 218 yytable[29] = 139 yytable[30] = 132 yytable[31] = 239 yytable[32] = -4 yytable[33] = 121 yytable[34] = 208 yytable[35] = 79 yytable[36] = 114 yytable[37] = 134 yytable[38] = 134 yytable[39] = 5 yytable[40] = 115 yytable[41] = 64 yytable[42] = 90 yytable[43] = 99 yytable[44] = 69 yytable[45] = 127 yytable[46] = 128 yytable[47] = 100 yytable[48] = 135 yytable[49] = 136 yytable[50] = 136 yytable[51] = 119 yytable[52] = 119 yytable[53] = 122 yytable[54] = 125 yytable[55] = 81 yytable[56] = 81 yytable[57] = 140 yytable[58] = 69 yytable[59] = 144 yytable[60] = 150 yytable[61] = 221 yytable[62] = 101 yytable[63] = 71 yytable[64] = 222 yytable[65] = 370 yytable[66] = 165 yytable[67] = 262 yytable[68] = 179 yytable[69] = 167 yytable[70] = 133 yytable[71] = 81 yytable[72] = 219 yytable[73] = 125 yytable[74] = 289 yytable[75] = 260 yytable[76] = 20 yytable[77] = 21 yytable[78] = 290 yytable[79] = 20 yytable[80] = 21 yytable[81] = 379 yytable[82] = 193 yytable[83] = 179 yytable[84] = 382 yytable[85] = 65 yytable[86] = 103 yytable[87] = 384 yytable[88] = 75 yytable[89] = 176 yytable[90] = 170 yytable[91] = 179 yytable[92] = 169 yytable[93] = 313 yytable[94] = 75 yytable[95] = 214 yytable[96] = 20 yytable[97] = 21 yytable[98] = 174 yytable[99] = 276 yytable[100] = 215 yytable[101] = 181 yytable[102] = 186 yytable[103] = 314 yytable[104] = 187 yytable[105] = 223 yytable[106] = 57 yytable[107] = 179 yytable[108] = 119 yytable[109] = 20 yytable[110] = 21 yytable[111] = 247 yytable[112] = 248 yytable[113] = 240 yytable[114] = 179 yytable[115] = 194 yytable[116] = 202 yytable[117] = 203 yytable[118] = 291 yytable[119] = 76 yytable[120] = 211 yytable[121] = 367 yytable[122] = 241 yytable[123] = 207 yytable[124] = 181 yytable[125] = 278 yytable[126] = 184 yytable[127] = 69 yytable[128] = 66 yytable[129] = 84 yytable[130] = 279 yytable[131] = 368 yytable[132] = 190 yytable[133] = 86 yytable[134] = 20 yytable[135] = 21 yytable[136] = 330 yytable[137] = 231 yytable[138] = 228 yytable[139] = 224 yytable[140] = 202 yytable[141] = 258 yytable[142] = 63 yytable[143] = 72 yytable[144] = 230 yytable[145] = 168 yytable[146] = 73 yytable[147] = 202 yytable[148] = 259 yytable[149] = 119 yytable[150] = 195 yytable[151] = 180 yytable[152] = 20 yytable[153] = 21 yytable[154] = 20 yytable[155] = 21 yytable[156] = 305 yytable[157] = 306 yytable[158] = 179 yytable[159] = 85 yytable[160] = 332 yytable[161] = 143 yytable[162] = 79 yytable[163] = 72 yytable[164] = 177 yytable[165] = 258 yytable[166] = 180 yytable[167] = 99 yytable[168] = 20 yytable[169] = 21 yytable[170] = 88 yytable[171] = 100 yytable[172] = 307 yytable[173] = 318 yytable[174] = 180 yytable[175] = 15 yytable[176] = 258 yytable[177] = 72 yytable[178] = 18 yytable[179] = 19 yytable[180] = 20 yytable[181] = 21 yytable[182] = 154 yytable[183] = 353 yytable[184] = 155 yytable[185] = 20 yytable[186] = 21 yytable[187] = 298 yytable[188] = 99 yytable[189] = 72 yytable[190] = 180 yytable[191] = 202 yytable[192] = 100 yytable[193] = 26 yytable[194] = 196 yytable[195] = 89 yytable[196] = 354 yytable[197] = 180 yytable[198] = 258 yytable[199] = 357 yytable[200] = 350 yytable[201] = 69 yytable[202] = 144 yytable[203] = 90 yytable[204] = 339 yytable[205] = 365 yytable[206] = 75 yytable[207] = 101 yytable[208] = 358 yytable[209] = 119 yytable[210] = 274 yytable[211] = 136 yytable[212] = 179 yytable[213] = 179 yytable[214] = 179 yytable[215] = 192 yytable[216] = 266 yytable[217] = 267 yytable[218] = 20 yytable[219] = 21 yytable[220] = 270 yytable[221] = 102 yytable[222] = 69 yytable[223] = 66 yytable[224] = 258 yytable[225] = 294 yytable[226] = 93 yytable[227] = 148 yytable[228] = 300 yytable[229] = 282 yytable[230] = 179 yytable[231] = 103 yytable[232] = 258 yytable[233] = 20 yytable[234] = 21 yytable[235] = 140 yytable[236] = 94 yytable[237] = 285 yytable[238] = 278 yytable[239] = 278 yytable[240] = 325 yytable[241] = 180 yytable[242] = 72 yytable[243] = 360 yytable[244] = 376 yytable[245] = 202 yytable[246] = 181 yytable[247] = 181 yytable[248] = 278 yytable[249] = 278 yytable[250] = 305 yytable[251] = 179 yytable[252] = 278 yytable[253] = 383 yytable[254] = 385 yytable[255] = 301 yytable[256] = 177 yytable[257] = 387 yytable[258] = 20 yytable[259] = 21 yytable[260] = 95 yytable[261] = 179 yytable[262] = 339 yytable[263] = 181 yytable[264] = 316 yytable[265] = 228 yytable[266] = 224 yytable[267] = 15 yytable[268] = 251 yytable[269] = 119 yytable[270] = 18 yytable[271] = 19 yytable[272] = 20 yytable[273] = 21 yytable[274] = 108 yytable[275] = 23 yytable[276] = 24 yytable[277] = 20 yytable[278] = 21 yytable[279] = 58 yytable[280] = 58 yytable[281] = -91 yytable[282] = 59 yytable[283] = 130 yytable[284] = 202 yytable[285] = 26 yytable[286] = 317 yytable[287] = 179 yytable[288] = 119 yytable[289] = 209 yytable[290] = 210 yytable[291] = 162 yytable[292] = 328 yytable[293] = 329 yytable[294] = 181 yytable[295] = 180 yytable[296] = 180 yytable[297] = 180 yytable[298] = 109 yytable[299] = 110 yytable[300] = 111 yytable[301] = 75 yytable[302] = 228 yytable[303] = 224 yytable[304] = 112 yytable[305] = 341 yytable[306] = 113 yytable[307] = 179 yytable[308] = 117 yytable[309] = 118 yytable[310] = 120 yytable[311] = 123 yytable[312] = 126 yytable[313] = 180 yytable[314] = 129 yytable[315] = 355 yytable[316] = 294 yytable[317] = 141 yytable[318] = 142 yytable[319] = 179 yytable[320] = 202 yytable[321] = 177 yytable[322] = 152 yytable[323] = 156 yytable[324] = 151 yytable[325] = 153 yytable[326] = 157 yytable[327] = 158 yytable[328] = 159 yytable[329] = 161 yytable[330] = 160 yytable[331] = 361 yytable[332] = 15 yytable[333] = 243 yytable[334] = 180 yytable[335] = 18 yytable[336] = 19 yytable[337] = 163 yytable[338] = -77 yytable[339] = 172 yytable[340] = 181 yytable[341] = 173 yytable[342] = 20 yytable[343] = 21 yytable[344] = 180 yytable[345] = 75 yytable[346] = 228 yytable[347] = 224 yytable[348] = 182 yytable[349] = 369 yytable[350] = 26 yytable[351] = 304 yytable[352] = 181 yytable[353] = 188 yytable[354] = 204 yytable[355] = 75 yytable[356] = 205 yytable[357] = 216 yytable[358] = 206 yytable[359] = 374 yytable[360] = 75 yytable[361] = 217 yytable[362] = 228 yytable[363] = 224 yytable[364] = 377 yytable[365] = 228 yytable[366] = 224 yytable[367] = 220 yytable[368] = 228 yytable[369] = 224 yytable[370] = 180 yytable[371] = 233 yytable[372] = 234 yytable[373] = 235 yytable[374] = 237 yytable[375] = 238 yytable[376] = 244 yytable[377] = 245 yytable[378] = 51 yytable[379] = 246 yytable[380] = 6 yytable[381] = 122 yytable[382] = 81 yytable[383] = 7 yytable[384] = 8 yytable[385] = 52 yytable[386] = 252 yytable[387] = 253 yytable[388] = 9 yytable[389] = 254 yytable[390] = 180 yytable[391] = 255 yytable[392] = 10 yytable[393] = 256 yytable[394] = 11 yytable[395] = 257 yytable[396] = 12 yytable[397] = 13 yytable[398] = 261 yytable[399] = 193 yytable[400] = 263 yytable[401] = 14 yytable[402] = 180 yytable[403] = 15 yytable[404] = 16 yytable[405] = 17 yytable[406] = 18 yytable[407] = 19 yytable[408] = 264 yytable[409] = 265 yytable[410] = 269 yytable[411] = 272 yytable[412] = 273 yytable[413] = 20 yytable[414] = 21 yytable[415] = 22 yytable[416] = 23 yytable[417] = 24 yytable[418] = 295 yytable[419] = 275 yytable[420] = 25 yytable[421] = 26 yytable[422] = 297 yytable[423] = 277 yytable[424] = 280 yytable[425] = 27 yytable[426] = 281 yytable[427] = 283 yytable[428] = 189 yytable[429] = 28 yytable[430] = 6 yytable[431] = 29 yytable[432] = 286 yytable[433] = 7 yytable[434] = 8 yytable[435] = 52 yytable[436] = 288 yytable[437] = 296 yytable[438] = 9 yytable[439] = 299 yytable[440] = 308 yytable[441] = 327 yytable[442] = 10 yytable[443] = 309 yytable[444] = 11 yytable[445] = 302 yytable[446] = 12 yytable[447] = 13 yytable[448] = 310 yytable[449] = 311 yytable[450] = 312 yytable[451] = 14 yytable[452] = 315 yytable[453] = 15 yytable[454] = 16 yytable[455] = 17 yytable[456] = 18 yytable[457] = 19 yytable[458] = 321 yytable[459] = 322 yytable[460] = 323 yytable[461] = 324 yytable[462] = 326 yytable[463] = 20 yytable[464] = 21 yytable[465] = 22 yytable[466] = 23 yytable[467] = 24 yytable[468] = 331 yytable[469] = 334 yytable[470] = 25 yytable[471] = 26 yytable[472] = 1 yytable[473] = 333 yytable[474] = -2 yytable[475] = 27 yytable[476] = 335 yytable[477] = -2 yytable[478] = -2 yytable[479] = 28 yytable[480] = 336 yytable[481] = 29 yytable[482] = -2 yytable[483] = 337 yytable[484] = 340 yytable[485] = 343 yytable[486] = -2 yytable[487] = 344 yytable[488] = -2 yytable[489] = 345 yytable[490] = -2 yytable[491] = -2 yytable[492] = 346 yytable[493] = 347 yytable[494] = 348 yytable[495] = -2 yytable[496] = 356 yytable[497] = -2 yytable[498] = -2 yytable[499] = -2 yytable[500] = -2 yytable[501] = -2 yytable[502] = 359 yytable[503] = 362 yytable[504] = 363 yytable[505] = 364 yytable[506] = 371 yytable[507] = -2 yytable[508] = -2 yytable[509] = -2 yytable[510] = -2 yytable[511] = -2 yytable[512] = 372 yytable[513] = 373 yytable[514] = -2 yytable[515] = -2 yytable[516] = 48 yytable[517] = 380 yytable[518] = 6 yytable[519] = -2 yytable[520] = 375 yytable[521] = 7 yytable[522] = 8 yytable[523] = -2 yytable[524] = 378 yytable[525] = -2 yytable[526] = 9 yytable[527] = 381 yytable[528] = 386 yytable[529] = 388 yytable[530] = 10 yytable[531] = 389 yytable[532] = 11 yytable[533] = 242 yytable[534] = 12 yytable[535] = 13 yytable[536] = 303 yytable[537] = 97 yytable[538] = 320 yytable[539] = 14 yytable[540] = 98 yytable[541] = 15 yytable[542] = 16 yytable[543] = 17 yytable[544] = 18 yytable[545] = 19 yytable[546] = 212 yytable[547] = 271 yytable[548] = 287 yytable[549] = 351 yytable[550] = 349 yytable[551] = 20 yytable[552] = 21 yytable[553] = 22 yytable[554] = 23 yytable[555] = 24 yytable[556] = 366 yytable[557] = 62 yytable[558] = 25 yytable[559] = 26 yytable[560] = 48 yytable[561] = 191 yytable[562] = 6 yytable[563] = 27 yytable[564] = 0 yytable[565] = 7 yytable[566] = 8 yytable[567] = 28 yytable[568] = 171 yytable[569] = 29 yytable[570] = 9 yytable[571] = 0 yytable[572] = 0 yytable[573] = 0 yytable[574] = 10 yytable[575] = 0 yytable[576] = 11 yytable[577] = 0 yytable[578] = 12 yytable[579] = 13 yytable[580] = 0 yytable[581] = 0 yytable[582] = 0 yytable[583] = 14 yytable[584] = 0 yytable[585] = 15 yytable[586] = 16 yytable[587] = 17 yytable[588] = 18 yytable[589] = 19 yytable[590] = 0 yytable[591] = 0 yytable[592] = 0 yytable[593] = 0 yytable[594] = 0 yytable[595] = 20 yytable[596] = 21 yytable[597] = 22 yytable[598] = 23 yytable[599] = 24 yytable[600] = 0 yytable[601] = 0 yytable[602] = 175 yytable[603] = 26 yytable[604] = 0 yytable[605] = 0 yytable[606] = 6 yytable[607] = 27 yytable[608] = 0 yytable[609] = 7 yytable[610] = 8 yytable[611] = 28 yytable[612] = 0 yytable[613] = 29 yytable[614] = 9 yytable[615] = 0 yytable[616] = 0 yytable[617] = 0 yytable[618] = 10 yytable[619] = 0 yytable[620] = 11 yytable[621] = 0 yytable[622] = 12 yytable[623] = 13 yytable[624] = 0 yytable[625] = 0 yytable[626] = 0 yytable[627] = 14 yytable[628] = 0 yytable[629] = 15 yytable[630] = 16 yytable[631] = 17 yytable[632] = 18 yytable[633] = 19 yytable[634] = 0 yytable[635] = 0 yytable[636] = 0 yytable[637] = 0 yytable[638] = 0 yytable[639] = 20 yytable[640] = 21 yytable[641] = 22 yytable[642] = 23 yytable[643] = 24 yytable[644] = 0 yytable[645] = 0 yytable[646] = 25 yytable[647] = 26 yytable[648] = 78 yytable[649] = 0 yytable[650] = 6 yytable[651] = 27 yytable[652] = 0 yytable[653] = 7 yytable[654] = 8 yytable[655] = 28 yytable[656] = 0 yytable[657] = 29 yytable[658] = 9 yytable[659] = 0 yytable[660] = 0 yytable[661] = 0 yytable[662] = 10 yytable[663] = 0 yytable[664] = 11 yytable[665] = 0 yytable[666] = 12 yytable[667] = 13 yytable[668] = 0 yytable[669] = 0 yytable[670] = 0 yytable[671] = 14 yytable[672] = 0 yytable[673] = 15 yytable[674] = 16 yytable[675] = 17 yytable[676] = 18 yytable[677] = 19 yytable[678] = 0 yytable[679] = 0 yytable[680] = 0 yytable[681] = 0 yytable[682] = 0 yytable[683] = 20 yytable[684] = 21 yytable[685] = 22 yytable[686] = 23 yytable[687] = 24 yytable[688] = 0 yytable[689] = 0 yytable[690] = 25 yytable[691] = 26 yytable[692] = 183 yytable[693] = 0 yytable[694] = 6 yytable[695] = 27 yytable[696] = 0 yytable[697] = 7 yytable[698] = 8 yytable[699] = 28 yytable[700] = 0 yytable[701] = 29 yytable[702] = 9 yytable[703] = 0 yytable[704] = 0 yytable[705] = 0 yytable[706] = 10 yytable[707] = 0 yytable[708] = 11 yytable[709] = 0 yytable[710] = 12 yytable[711] = 13 yytable[712] = 0 yytable[713] = 0 yytable[714] = 0 yytable[715] = 14 yytable[716] = 0 yytable[717] = 15 yytable[718] = 16 yytable[719] = 17 yytable[720] = 18 yytable[721] = 19 yytable[722] = 0 yytable[723] = 0 yytable[724] = 0 yytable[725] = 0 yytable[726] = 0 yytable[727] = 20 yytable[728] = 21 yytable[729] = 22 yytable[730] = 23 yytable[731] = 24 yytable[732] = 0 yytable[733] = 0 yytable[734] = 25 yytable[735] = 26 yytable[736] = 0 yytable[737] = 0 yytable[738] = 6 yytable[739] = 27 yytable[740] = 0 yytable[741] = 7 yytable[742] = 8 yytable[743] = 28 yytable[744] = 0 yytable[745] = 29 yytable[746] = 9 yytable[747] = 0 yytable[748] = 0 yytable[749] = 0 yytable[750] = 10 yytable[751] = 0 yytable[752] = 11 yytable[753] = 0 yytable[754] = 12 yytable[755] = 13 yytable[756] = 0 yytable[757] = 0 yytable[758] = 0 yytable[759] = 14 yytable[760] = 0 yytable[761] = 0 yytable[762] = 16 yytable[763] = 17 yytable[764] = 0 yytable[765] = 0 yytable[766] = 0 yytable[767] = 0 yytable[768] = 0 yytable[769] = 0 yytable[770] = 0 yytable[771] = 20 yytable[772] = 21 yytable[773] = 22 yytable[774] = 23 yytable[775] = 24 yytable[776] = 6 yytable[777] = 0 yytable[778] = 25 yytable[779] = 7 yytable[780] = 8 yytable[781] = 0 yytable[782] = 0 yytable[783] = 27 yytable[784] = 9 yytable[785] = 0 yytable[786] = 0 yytable[787] = 28 yytable[788] = 10 yytable[789] = 29 yytable[790] = 11 yytable[791] = 0 yytable[792] = 12 yytable[793] = 13 yytable[794] = 0 yytable[795] = 0 yytable[796] = 0 yytable[797] = 14 yytable[798] = 0 yytable[799] = 0 yytable[800] = 16 yytable[801] = 17 yytable[802] = 0 yytable[803] = 0 yytable[804] = 0 yytable[805] = 0 yytable[806] = 0 yytable[807] = 0 yytable[808] = 177 yytable[809] = 20 yytable[810] = 21 yytable[811] = 22 yytable[812] = 23 yytable[813] = 24 yytable[814] = 0 yytable[815] = 0 yytable[816] = 25 yytable[817] = 0 yytable[818] = 96 yytable[819] = 15 yytable[820] = 177 yytable[821] = 27 yytable[822] = 18 yytable[823] = 19 yytable[824] = 0 yytable[825] = 28 yytable[826] = 0 yytable[827] = 0 yytable[828] = 0 yytable[829] = 20 yytable[830] = 21 yytable[831] = 15 yytable[832] = 0 yytable[833] = 0 yytable[834] = 18 yytable[835] = 19 yytable[836] = 0 yytable[837] = 26 yytable[838] = 338 yytable[839] = 0 yytable[840] = 0 yytable[841] = 20 yytable[842] = 21 yytable[843] = 0 yytable[844] = 0 yytable[845] = 0 yytable[846] = 0 yytable[847] = 0 yytable[848] = 0 yytable[849] = 26 yycheck = ARRAY("0:849") yycheck[0] = 13 yycheck[1] = 13 yycheck[2] = 15 yycheck[3] = 16 yycheck[4] = 18 yycheck[5] = 19 yycheck[6] = 61 yycheck[7] = 16 yycheck[8] = 27 yycheck[9] = 22 yycheck[10] = 3 yycheck[11] = 114 yycheck[12] = 170 yycheck[13] = 22 yycheck[14] = 1 yycheck[15] = 8 yycheck[16] = 153 yycheck[17] = 28 yycheck[18] = 11 yycheck[19] = 144 yycheck[20] = 22 yycheck[21] = 315 yycheck[22] = 1 yycheck[23] = 160 yycheck[24] = 17 yycheck[25] = 1 yycheck[26] = 21 yycheck[27] = 21 yycheck[28] = 5 yycheck[29] = 18 yycheck[30] = 13 yycheck[31] = 39 yycheck[32] = 0 yycheck[33] = 25 yycheck[34] = 137 yycheck[35] = 28 yycheck[36] = 41 yycheck[37] = 35 yycheck[38] = 35 yycheck[39] = 0 yycheck[40] = 45 yycheck[41] = 1 yycheck[42] = 50 yycheck[43] = 12 yycheck[44] = 57 yycheck[45] = 57 yycheck[46] = 59 yycheck[47] = 16 yycheck[48] = 45 yycheck[49] = 47 yycheck[50] = 47 yycheck[51] = 46 yycheck[52] = 46 yycheck[53] = 45 yycheck[54] = 56 yycheck[55] = 18 yycheck[56] = 19 yycheck[57] = 46 yycheck[58] = 71 yycheck[59] = 71 yycheck[60] = 73 yycheck[61] = 1 yycheck[62] = 31 yycheck[63] = 50 yycheck[64] = 4 yycheck[65] = 359 yycheck[66] = 45 yycheck[67] = 204 yycheck[68] = 114 yycheck[69] = 45 yycheck[70] = 63 yycheck[71] = 34 yycheck[72] = 49 yycheck[73] = 56 yycheck[74] = 1 yycheck[75] = 200 yycheck[76] = 36 yycheck[77] = 37 yycheck[78] = 5 yycheck[79] = 36 yycheck[80] = 37 yycheck[81] = 375 yycheck[82] = 39 yycheck[83] = 129 yycheck[84] = 378 yycheck[85] = 45 yycheck[86] = 55 yycheck[87] = 381 yycheck[88] = 101 yycheck[89] = 108 yycheck[90] = 103 yycheck[91] = 137 yycheck[92] = 101 yycheck[93] = 39 yycheck[94] = 107 yycheck[95] = 46 yycheck[96] = 36 yycheck[97] = 37 yycheck[98] = 107 yycheck[99] = 224 yycheck[100] = 51 yycheck[101] = 114 yycheck[102] = 121 yycheck[103] = 49 yycheck[104] = 123 yycheck[105] = 45 yycheck[106] = 50 yycheck[107] = 153 yycheck[108] = 46 yycheck[109] = 36 yycheck[110] = 37 yycheck[111] = 8 yycheck[112] = 9 yycheck[113] = 51 yycheck[114] = 160 yycheck[115] = 128 yycheck[116] = 129 yycheck[117] = 130 yycheck[118] = 45 yycheck[119] = 1 yycheck[120] = 139 yycheck[121] = 39 yycheck[122] = 177 yycheck[123] = 136 yycheck[124] = 137 yycheck[125] = 46 yycheck[126] = 119 yycheck[127] = 140 yycheck[128] = 140 yycheck[129] = 45 yycheck[130] = 51 yycheck[131] = 49 yycheck[132] = 125 yycheck[133] = 1 yycheck[134] = 36 yycheck[135] = 37 yycheck[136] = 294 yycheck[137] = 156 yycheck[138] = 151 yycheck[139] = 151 yycheck[140] = 153 yycheck[141] = 46 yycheck[142] = 50 yycheck[143] = 45 yycheck[144] = 155 yycheck[145] = 1 yycheck[146] = 48 yycheck[147] = 160 yycheck[148] = 53 yycheck[149] = 46 yycheck[150] = 1 yycheck[151] = 114 yycheck[152] = 36 yycheck[153] = 37 yycheck[154] = 36 yycheck[155] = 37 yycheck[156] = 259 yycheck[157] = 260 yycheck[158] = 204 yycheck[159] = 45 yycheck[160] = 297 yycheck[161] = 45 yycheck[162] = 155 yycheck[163] = 45 yycheck[164] = 15 yycheck[165] = 46 yycheck[166] = 129 yycheck[167] = 12 yycheck[168] = 36 yycheck[169] = 37 yycheck[170] = 45 yycheck[171] = 16 yycheck[172] = 53 yycheck[173] = 276 yycheck[174] = 137 yycheck[175] = 26 yycheck[176] = 46 yycheck[177] = 45 yycheck[178] = 29 yycheck[179] = 30 yycheck[180] = 36 yycheck[181] = 37 yycheck[182] = 45 yycheck[183] = 53 yycheck[184] = 47 yycheck[185] = 36 yycheck[186] = 37 yycheck[187] = 242 yycheck[188] = 12 yycheck[189] = 45 yycheck[190] = 153 yycheck[191] = 204 yycheck[192] = 16 yycheck[193] = 44 yycheck[194] = 45 yycheck[195] = 45 yycheck[196] = 333 yycheck[197] = 160 yycheck[198] = 46 yycheck[199] = 40 yycheck[200] = 45 yycheck[201] = 214 yycheck[202] = 214 yycheck[203] = 50 yycheck[204] = 307 yycheck[205] = 53 yycheck[206] = 219 yycheck[207] = 31 yycheck[208] = 49 yycheck[209] = 46 yycheck[210] = 219 yycheck[211] = 47 yycheck[212] = 258 yycheck[213] = 259 yycheck[214] = 260 yycheck[215] = 51 yycheck[216] = 209 yycheck[217] = 210 yycheck[218] = 36 yycheck[219] = 37 yycheck[220] = 213 yycheck[221] = 45 yycheck[222] = 235 yycheck[223] = 235 yycheck[224] = 46 yycheck[225] = 238 yycheck[226] = 45 yycheck[227] = 45 yycheck[228] = 247 yycheck[229] = 51 yycheck[230] = 276 yycheck[231] = 55 yycheck[232] = 46 yycheck[233] = 36 yycheck[234] = 37 yycheck[235] = 46 yycheck[236] = 45 yycheck[237] = 51 yycheck[238] = 46 yycheck[239] = 46 yycheck[240] = 51 yycheck[241] = 204 yycheck[242] = 45 yycheck[243] = 51 yycheck[244] = 51 yycheck[245] = 258 yycheck[246] = 259 yycheck[247] = 260 yycheck[248] = 46 yycheck[249] = 46 yycheck[250] = 353 yycheck[251] = 297 yycheck[252] = 46 yycheck[253] = 51 yycheck[254] = 51 yycheck[255] = 248 yycheck[256] = 15 yycheck[257] = 51 yycheck[258] = 36 yycheck[259] = 37 yycheck[260] = 45 yycheck[261] = 307 yycheck[262] = 365 yycheck[263] = 276 yycheck[264] = 23 yycheck[265] = 278 yycheck[266] = 278 yycheck[267] = 26 yycheck[268] = 45 yycheck[269] = 46 yycheck[270] = 29 yycheck[271] = 30 yycheck[272] = 36 yycheck[273] = 37 yycheck[274] = 50 yycheck[275] = 39 yycheck[276] = 40 yycheck[277] = 36 yycheck[278] = 37 yycheck[279] = 45 yycheck[280] = 45 yycheck[281] = 32 yycheck[282] = 48 yycheck[283] = 48 yycheck[284] = 297 yycheck[285] = 44 yycheck[286] = 45 yycheck[287] = 333 yycheck[288] = 46 yycheck[289] = 33 yycheck[290] = 34 yycheck[291] = 49 yycheck[292] = 45 yycheck[293] = 46 yycheck[294] = 307 yycheck[295] = 258 yycheck[296] = 259 yycheck[297] = 260 yycheck[298] = 45 yycheck[299] = 45 yycheck[300] = 45 yycheck[301] = 314 yycheck[302] = 315 yycheck[303] = 315 yycheck[304] = 45 yycheck[305] = 314 yycheck[306] = 45 yycheck[307] = 353 yycheck[308] = 45 yycheck[309] = 45 yycheck[310] = 45 yycheck[311] = 32 yycheck[312] = 45 yycheck[313] = 276 yycheck[314] = 52 yycheck[315] = 334 yycheck[316] = 329 yycheck[317] = 45 yycheck[318] = 45 yycheck[319] = 365 yycheck[320] = 333 yycheck[321] = 15 yycheck[322] = 45 yycheck[323] = 18 yycheck[324] = 50 yycheck[325] = 50 yycheck[326] = 45 yycheck[327] = 45 yycheck[328] = 45 yycheck[329] = 39 yycheck[330] = 50 yycheck[331] = 345 yycheck[332] = 26 yycheck[333] = 42 yycheck[334] = 297 yycheck[335] = 29 yycheck[336] = 30 yycheck[337] = 53 yycheck[338] = 50 yycheck[339] = 45 yycheck[340] = 353 yycheck[341] = 45 yycheck[342] = 36 yycheck[343] = 37 yycheck[344] = 307 yycheck[345] = 358 yycheck[346] = 359 yycheck[347] = 359 yycheck[348] = 45 yycheck[349] = 358 yycheck[350] = 44 yycheck[351] = 45 yycheck[352] = 365 yycheck[353] = 45 yycheck[354] = 52 yycheck[355] = 368 yycheck[356] = 45 yycheck[357] = 45 yycheck[358] = 51 yycheck[359] = 368 yycheck[360] = 373 yycheck[361] = 45 yycheck[362] = 375 yycheck[363] = 375 yycheck[364] = 373 yycheck[365] = 378 yycheck[366] = 378 yycheck[367] = 45 yycheck[368] = 381 yycheck[369] = 381 yycheck[370] = 333 yycheck[371] = 51 yycheck[372] = 45 yycheck[373] = 50 yycheck[374] = 45 yycheck[375] = 50 yycheck[376] = 45 yycheck[377] = 45 yycheck[378] = 1 yycheck[379] = 45 yycheck[380] = 3 yycheck[381] = 45 yycheck[382] = 345 yycheck[383] = 6 yycheck[384] = 7 yycheck[385] = 8 yycheck[386] = 45 yycheck[387] = 45 yycheck[388] = 11 yycheck[389] = 49 yycheck[390] = 353 yycheck[391] = 40 yycheck[392] = 15 yycheck[393] = 45 yycheck[394] = 17 yycheck[395] = 45 yycheck[396] = 19 yycheck[397] = 20 yycheck[398] = 45 yycheck[399] = 39 yycheck[400] = 45 yycheck[401] = 24 yycheck[402] = 365 yycheck[403] = 26 yycheck[404] = 27 yycheck[405] = 28 yycheck[406] = 29 yycheck[407] = 30 yycheck[408] = 45 yycheck[409] = 45 yycheck[410] = 45 yycheck[411] = 45 yycheck[412] = 39 yycheck[413] = 36 yycheck[414] = 37 yycheck[415] = 38 yycheck[416] = 39 yycheck[417] = 40 yycheck[418] = 51 yycheck[419] = 45 yycheck[420] = 43 yycheck[421] = 44 yycheck[422] = 52 yycheck[423] = 45 yycheck[424] = 45 yycheck[425] = 48 yycheck[426] = 45 yycheck[427] = 45 yycheck[428] = 1 yycheck[429] = 52 yycheck[430] = 3 yycheck[431] = 54 yycheck[432] = 45 yycheck[433] = 6 yycheck[434] = 7 yycheck[435] = 8 yycheck[436] = 45 yycheck[437] = 45 yycheck[438] = 11 yycheck[439] = 45 yycheck[440] = 45 yycheck[441] = 51 yycheck[442] = 15 yycheck[443] = 45 yycheck[444] = 17 yycheck[445] = 49 yycheck[446] = 19 yycheck[447] = 20 yycheck[448] = 45 yycheck[449] = 45 yycheck[450] = 45 yycheck[451] = 24 yycheck[452] = 50 yycheck[453] = 26 yycheck[454] = 27 yycheck[455] = 28 yycheck[456] = 29 yycheck[457] = 30 yycheck[458] = 45 yycheck[459] = 45 yycheck[460] = 45 yycheck[461] = 45 yycheck[462] = 45 yycheck[463] = 36 yycheck[464] = 37 yycheck[465] = 38 yycheck[466] = 39 yycheck[467] = 40 yycheck[468] = 45 yycheck[469] = 25 yycheck[470] = 43 yycheck[471] = 44 yycheck[472] = 1 yycheck[473] = 52 yycheck[474] = 3 yycheck[475] = 48 yycheck[476] = 45 yycheck[477] = 6 yycheck[478] = 7 yycheck[479] = 52 yycheck[480] = 45 yycheck[481] = 54 yycheck[482] = 11 yycheck[483] = 45 yycheck[484] = 39 yycheck[485] = 45 yycheck[486] = 15 yycheck[487] = 45 yycheck[488] = 17 yycheck[489] = 14 yycheck[490] = 19 yycheck[491] = 20 yycheck[492] = 45 yycheck[493] = 45 yycheck[494] = 45 yycheck[495] = 24 yycheck[496] = 45 yycheck[497] = 26 yycheck[498] = 27 yycheck[499] = 28 yycheck[500] = 29 yycheck[501] = 30 yycheck[502] = 50 yycheck[503] = 45 yycheck[504] = 45 yycheck[505] = 45 yycheck[506] = 45 yycheck[507] = 36 yycheck[508] = 37 yycheck[509] = 38 yycheck[510] = 39 yycheck[511] = 40 yycheck[512] = 45 yycheck[513] = 49 yycheck[514] = 43 yycheck[515] = 44 yycheck[516] = 1 yycheck[517] = 45 yycheck[518] = 3 yycheck[519] = 48 yycheck[520] = 50 yycheck[521] = 6 yycheck[522] = 7 yycheck[523] = 52 yycheck[524] = 50 yycheck[525] = 54 yycheck[526] = 11 yycheck[527] = 50 yycheck[528] = 45 yycheck[529] = 45 yycheck[530] = 15 yycheck[531] = 45 yycheck[532] = 17 yycheck[533] = 177 yycheck[534] = 19 yycheck[535] = 20 yycheck[536] = 258 yycheck[537] = 34 yycheck[538] = 278 yycheck[539] = 24 yycheck[540] = 34 yycheck[541] = 26 yycheck[542] = 27 yycheck[543] = 28 yycheck[544] = 29 yycheck[545] = 30 yycheck[546] = 140 yycheck[547] = 214 yycheck[548] = 235 yycheck[549] = 330 yycheck[550] = 329 yycheck[551] = 36 yycheck[552] = 37 yycheck[553] = 38 yycheck[554] = 39 yycheck[555] = 40 yycheck[556] = 355 yycheck[557] = 11 yycheck[558] = 43 yycheck[559] = 44 yycheck[560] = 1 yycheck[561] = 125 yycheck[562] = 3 yycheck[563] = 48 yycheck[564] = -1 yycheck[565] = 6 yycheck[566] = 7 yycheck[567] = 52 yycheck[568] = 103 yycheck[569] = 54 yycheck[570] = 11 yycheck[571] = -1 yycheck[572] = -1 yycheck[573] = -1 yycheck[574] = 15 yycheck[575] = -1 yycheck[576] = 17 yycheck[577] = -1 yycheck[578] = 19 yycheck[579] = 20 yycheck[580] = -1 yycheck[581] = -1 yycheck[582] = -1 yycheck[583] = 24 yycheck[584] = -1 yycheck[585] = 26 yycheck[586] = 27 yycheck[587] = 28 yycheck[588] = 29 yycheck[589] = 30 yycheck[590] = -1 yycheck[591] = -1 yycheck[592] = -1 yycheck[593] = -1 yycheck[594] = -1 yycheck[595] = 36 yycheck[596] = 37 yycheck[597] = 38 yycheck[598] = 39 yycheck[599] = 40 yycheck[600] = -1 yycheck[601] = -1 yycheck[602] = 43 yycheck[603] = 44 yycheck[604] = -1 yycheck[605] = -1 yycheck[606] = 3 yycheck[607] = 48 yycheck[608] = -1 yycheck[609] = 6 yycheck[610] = 7 yycheck[611] = 52 yycheck[612] = -1 yycheck[613] = 54 yycheck[614] = 11 yycheck[615] = -1 yycheck[616] = -1 yycheck[617] = -1 yycheck[618] = 15 yycheck[619] = -1 yycheck[620] = 17 yycheck[621] = -1 yycheck[622] = 19 yycheck[623] = 20 yycheck[624] = -1 yycheck[625] = -1 yycheck[626] = -1 yycheck[627] = 24 yycheck[628] = -1 yycheck[629] = 26 yycheck[630] = 27 yycheck[631] = 28 yycheck[632] = 29 yycheck[633] = 30 yycheck[634] = -1 yycheck[635] = -1 yycheck[636] = -1 yycheck[637] = -1 yycheck[638] = -1 yycheck[639] = 36 yycheck[640] = 37 yycheck[641] = 38 yycheck[642] = 39 yycheck[643] = 40 yycheck[644] = -1 yycheck[645] = -1 yycheck[646] = 43 yycheck[647] = 44 yycheck[648] = 45 yycheck[649] = -1 yycheck[650] = 3 yycheck[651] = 48 yycheck[652] = -1 yycheck[653] = 6 yycheck[654] = 7 yycheck[655] = 52 yycheck[656] = -1 yycheck[657] = 54 yycheck[658] = 11 yycheck[659] = -1 yycheck[660] = -1 yycheck[661] = -1 yycheck[662] = 15 yycheck[663] = -1 yycheck[664] = 17 yycheck[665] = -1 yycheck[666] = 19 yycheck[667] = 20 yycheck[668] = -1 yycheck[669] = -1 yycheck[670] = -1 yycheck[671] = 24 yycheck[672] = -1 yycheck[673] = 26 yycheck[674] = 27 yycheck[675] = 28 yycheck[676] = 29 yycheck[677] = 30 yycheck[678] = -1 yycheck[679] = -1 yycheck[680] = -1 yycheck[681] = -1 yycheck[682] = -1 yycheck[683] = 36 yycheck[684] = 37 yycheck[685] = 38 yycheck[686] = 39 yycheck[687] = 40 yycheck[688] = -1 yycheck[689] = -1 yycheck[690] = 43 yycheck[691] = 44 yycheck[692] = 45 yycheck[693] = -1 yycheck[694] = 3 yycheck[695] = 48 yycheck[696] = -1 yycheck[697] = 6 yycheck[698] = 7 yycheck[699] = 52 yycheck[700] = -1 yycheck[701] = 54 yycheck[702] = 11 yycheck[703] = -1 yycheck[704] = -1 yycheck[705] = -1 yycheck[706] = 15 yycheck[707] = -1 yycheck[708] = 17 yycheck[709] = -1 yycheck[710] = 19 yycheck[711] = 20 yycheck[712] = -1 yycheck[713] = -1 yycheck[714] = -1 yycheck[715] = 24 yycheck[716] = -1 yycheck[717] = 26 yycheck[718] = 27 yycheck[719] = 28 yycheck[720] = 29 yycheck[721] = 30 yycheck[722] = -1 yycheck[723] = -1 yycheck[724] = -1 yycheck[725] = -1 yycheck[726] = -1 yycheck[727] = 36 yycheck[728] = 37 yycheck[729] = 38 yycheck[730] = 39 yycheck[731] = 40 yycheck[732] = -1 yycheck[733] = -1 yycheck[734] = 43 yycheck[735] = 44 yycheck[736] = -1 yycheck[737] = -1 yycheck[738] = 3 yycheck[739] = 48 yycheck[740] = -1 yycheck[741] = 6 yycheck[742] = 7 yycheck[743] = 52 yycheck[744] = -1 yycheck[745] = 54 yycheck[746] = 11 yycheck[747] = -1 yycheck[748] = -1 yycheck[749] = -1 yycheck[750] = 15 yycheck[751] = -1 yycheck[752] = 17 yycheck[753] = -1 yycheck[754] = 19 yycheck[755] = 20 yycheck[756] = -1 yycheck[757] = -1 yycheck[758] = -1 yycheck[759] = 24 yycheck[760] = -1 yycheck[761] = -1 yycheck[762] = 27 yycheck[763] = 28 yycheck[764] = -1 yycheck[765] = -1 yycheck[766] = -1 yycheck[767] = -1 yycheck[768] = -1 yycheck[769] = -1 yycheck[770] = -1 yycheck[771] = 36 yycheck[772] = 37 yycheck[773] = 38 yycheck[774] = 39 yycheck[775] = 40 yycheck[776] = 3 yycheck[777] = -1 yycheck[778] = 43 yycheck[779] = 6 yycheck[780] = 7 yycheck[781] = -1 yycheck[782] = -1 yycheck[783] = 48 yycheck[784] = 11 yycheck[785] = -1 yycheck[786] = -1 yycheck[787] = 52 yycheck[788] = 15 yycheck[789] = 54 yycheck[790] = 17 yycheck[791] = -1 yycheck[792] = 19 yycheck[793] = 20 yycheck[794] = -1 yycheck[795] = -1 yycheck[796] = -1 yycheck[797] = 24 yycheck[798] = -1 yycheck[799] = -1 yycheck[800] = 27 yycheck[801] = 28 yycheck[802] = -1 yycheck[803] = -1 yycheck[804] = -1 yycheck[805] = -1 yycheck[806] = -1 yycheck[807] = -1 yycheck[808] = 15 yycheck[809] = 36 yycheck[810] = 37 yycheck[811] = 38 yycheck[812] = 39 yycheck[813] = 40 yycheck[814] = -1 yycheck[815] = -1 yycheck[816] = 43 yycheck[817] = -1 yycheck[818] = 45 yycheck[819] = 26 yycheck[820] = 15 yycheck[821] = 48 yycheck[822] = 29 yycheck[823] = 30 yycheck[824] = -1 yycheck[825] = 52 yycheck[826] = -1 yycheck[827] = -1 yycheck[828] = -1 yycheck[829] = 36 yycheck[830] = 37 yycheck[831] = 26 yycheck[832] = -1 yycheck[833] = -1 yycheck[834] = 29 yycheck[835] = 30 yycheck[836] = -1 yycheck[837] = 44 yycheck[838] = 45 yycheck[839] = -1 yycheck[840] = -1 yycheck[841] = 36 yycheck[842] = 37 yycheck[843] = -1 yycheck[844] = -1 yycheck[845] = -1 yycheck[846] = -1 yycheck[847] = -1 yycheck[848] = -1 yycheck[849] = 44 yystos = ARRAY("0:389") yystos[0] = 0 yystos[1] = 1 yystos[2] = 58 yystos[3] = 59 yystos[4] = 60 yystos[5] = 0 yystos[6] = 3 yystos[7] = 6 yystos[8] = 7 yystos[9] = 11 yystos[10] = 15 yystos[11] = 17 yystos[12] = 19 yystos[13] = 20 yystos[14] = 24 yystos[15] = 26 yystos[16] = 27 yystos[17] = 28 yystos[18] = 29 yystos[19] = 30 yystos[20] = 36 yystos[21] = 37 yystos[22] = 38 yystos[23] = 39 yystos[24] = 40 yystos[25] = 43 yystos[26] = 44 yystos[27] = 48 yystos[28] = 52 yystos[29] = 54 yystos[30] = 67 yystos[31] = 71 yystos[32] = 77 yystos[33] = 78 yystos[34] = 79 yystos[35] = 80 yystos[36] = 83 yystos[37] = 84 yystos[38] = 85 yystos[39] = 86 yystos[40] = 88 yystos[41] = 93 yystos[42] = 94 yystos[43] = 95 yystos[44] = 96 yystos[45] = 97 yystos[46] = 113 yystos[47] = 114 yystos[48] = 1 yystos[49] = 77 yystos[50] = 81 yystos[51] = 1 yystos[52] = 8 yystos[53] = 77 yystos[54] = 87 yystos[55] = 111 yystos[56] = 112 yystos[57] = 50 yystos[58] = 45 yystos[59] = 48 yystos[60] = 69 yystos[61] = 70 yystos[62] = 111 yystos[63] = 50 yystos[64] = 1 yystos[65] = 45 yystos[66] = 65 yystos[67] = 90 yystos[68] = 91 yystos[69] = 113 yystos[70] = 1 yystos[71] = 50 yystos[72] = 45 yystos[73] = 48 yystos[74] = 74 yystos[75] = 113 yystos[76] = 1 yystos[77] = 74 yystos[78] = 45 yystos[79] = 77 yystos[80] = 89 yystos[81] = 71 yystos[82] = 78 yystos[83] = 78 yystos[84] = 45 yystos[85] = 45 yystos[86] = 1 yystos[87] = 74 yystos[88] = 45 yystos[89] = 45 yystos[90] = 50 yystos[91] = 81 yystos[92] = 89 yystos[93] = 45 yystos[94] = 45 yystos[95] = 45 yystos[96] = 45 yystos[97] = 80 yystos[98] = 88 yystos[99] = 12 yystos[100] = 16 yystos[101] = 31 yystos[102] = 45 yystos[103] = 55 yystos[104] = 101 yystos[105] = 102 yystos[106] = 103 yystos[107] = 104 yystos[108] = 50 yystos[109] = 45 yystos[110] = 45 yystos[111] = 45 yystos[112] = 45 yystos[113] = 45 yystos[114] = 41 yystos[115] = 45 yystos[116] = 108 yystos[117] = 45 yystos[118] = 45 yystos[119] = 46 yystos[120] = 45 yystos[121] = 25 yystos[122] = 45 yystos[123] = 32 yystos[124] = 22 yystos[125] = 56 yystos[126] = 45 yystos[127] = 65 yystos[128] = 113 yystos[129] = 52 yystos[130] = 48 yystos[131] = 69 yystos[132] = 13 yystos[133] = 77 yystos[134] = 35 yystos[135] = 45 yystos[136] = 47 yystos[137] = 62 yystos[138] = 92 yystos[139] = 18 yystos[140] = 46 yystos[141] = 45 yystos[142] = 45 yystos[143] = 45 yystos[144] = 65 yystos[145] = 98 yystos[146] = 99 yystos[147] = 100 yystos[148] = 45 yystos[149] = 68 yystos[150] = 113 yystos[151] = 50 yystos[152] = 45 yystos[153] = 50 yystos[154] = 45 yystos[155] = 47 yystos[156] = 18 yystos[157] = 45 yystos[158] = 45 yystos[159] = 45 yystos[160] = 50 yystos[161] = 39 yystos[162] = 49 yystos[163] = 53 yystos[164] = 1 yystos[165] = 45 yystos[166] = 1 yystos[167] = 45 yystos[168] = 1 yystos[169] = 74 yystos[170] = 113 yystos[171] = 114 yystos[172] = 45 yystos[173] = 45 yystos[174] = 74 yystos[175] = 43 yystos[176] = 81 yystos[177] = 15 yystos[178] = 66 yystos[179] = 67 yystos[180] = 71 yystos[181] = 113 yystos[182] = 45 yystos[183] = 45 yystos[184] = 77 yystos[185] = 82 yystos[186] = 81 yystos[187] = 81 yystos[188] = 45 yystos[189] = 1 yystos[190] = 77 yystos[191] = 112 yystos[192] = 51 yystos[193] = 39 yystos[194] = 113 yystos[195] = 1 yystos[196] = 45 yystos[197] = 61 yystos[198] = 63 yystos[199] = 64 yystos[200] = 65 yystos[201] = 66 yystos[202] = 113 yystos[203] = 113 yystos[204] = 52 yystos[205] = 45 yystos[206] = 51 yystos[207] = 113 yystos[208] = 66 yystos[209] = 33 yystos[210] = 34 yystos[211] = 81 yystos[212] = 91 yystos[213] = 62 yystos[214] = 46 yystos[215] = 51 yystos[216] = 45 yystos[217] = 45 yystos[218] = 5 yystos[219] = 49 yystos[220] = 45 yystos[221] = 1 yystos[222] = 4 yystos[223] = 45 yystos[224] = 65 yystos[225] = 72 yystos[226] = 73 yystos[227] = 75 yystos[228] = 113 yystos[229] = 64 yystos[230] = 89 yystos[231] = 81 yystos[232] = 64 yystos[233] = 51 yystos[234] = 45 yystos[235] = 50 yystos[236] = 108 yystos[237] = 45 yystos[238] = 50 yystos[239] = 39 yystos[240] = 51 yystos[241] = 69 yystos[242] = 70 yystos[243] = 42 yystos[244] = 45 yystos[245] = 45 yystos[246] = 45 yystos[247] = 8 yystos[248] = 9 yystos[249] = 109 yystos[250] = 110 yystos[251] = 45 yystos[252] = 45 yystos[253] = 45 yystos[254] = 49 yystos[255] = 40 yystos[256] = 45 yystos[257] = 45 yystos[258] = 46 yystos[259] = 53 yystos[260] = 62 yystos[261] = 45 yystos[262] = 64 yystos[263] = 45 yystos[264] = 45 yystos[265] = 45 yystos[266] = 77 yystos[267] = 77 yystos[268] = 21 yystos[269] = 45 yystos[270] = 77 yystos[271] = 99 yystos[272] = 45 yystos[273] = 39 yystos[274] = 74 yystos[275] = 45 yystos[276] = 62 yystos[277] = 45 yystos[278] = 46 yystos[279] = 51 yystos[280] = 45 yystos[281] = 45 yystos[282] = 51 yystos[283] = 45 yystos[284] = 21 yystos[285] = 51 yystos[286] = 45 yystos[287] = 90 yystos[288] = 45 yystos[289] = 1 yystos[290] = 5 yystos[291] = 45 yystos[292] = 105 yystos[293] = 106 yystos[294] = 113 yystos[295] = 51 yystos[296] = 45 yystos[297] = 52 yystos[298] = 69 yystos[299] = 45 yystos[300] = 81 yystos[301] = 77 yystos[302] = 49 yystos[303] = 63 yystos[304] = 45 yystos[305] = 66 yystos[306] = 66 yystos[307] = 53 yystos[308] = 45 yystos[309] = 45 yystos[310] = 45 yystos[311] = 45 yystos[312] = 45 yystos[313] = 39 yystos[314] = 49 yystos[315] = 50 yystos[316] = 23 yystos[317] = 45 yystos[318] = 66 yystos[319] = 76 yystos[320] = 72 yystos[321] = 45 yystos[322] = 45 yystos[323] = 45 yystos[324] = 45 yystos[325] = 51 yystos[326] = 45 yystos[327] = 51 yystos[328] = 45 yystos[329] = 46 yystos[330] = 108 yystos[331] = 45 yystos[332] = 64 yystos[333] = 52 yystos[334] = 25 yystos[335] = 45 yystos[336] = 45 yystos[337] = 45 yystos[338] = 45 yystos[339] = 66 yystos[340] = 39 yystos[341] = 74 yystos[342] = 73 yystos[343] = 45 yystos[344] = 45 yystos[345] = 14 yystos[346] = 45 yystos[347] = 45 yystos[348] = 45 yystos[349] = 105 yystos[350] = 45 yystos[351] = 103 yystos[352] = 107 yystos[353] = 53 yystos[354] = 64 yystos[355] = 81 yystos[356] = 45 yystos[357] = 40 yystos[358] = 49 yystos[359] = 50 yystos[360] = 51 yystos[361] = 78 yystos[362] = 45 yystos[363] = 45 yystos[364] = 45 yystos[365] = 53 yystos[366] = 109 yystos[367] = 39 yystos[368] = 49 yystos[369] = 74 yystos[370] = 73 yystos[371] = 45 yystos[372] = 45 yystos[373] = 49 yystos[374] = 74 yystos[375] = 50 yystos[376] = 51 yystos[377] = 74 yystos[378] = 50 yystos[379] = 73 yystos[380] = 45 yystos[381] = 50 yystos[382] = 73 yystos[383] = 51 yystos[384] = 73 yystos[385] = 51 yystos[386] = 45 yystos[387] = 51 yystos[388] = 45 yystos[389] = 45 * Error token number */ YYTERROR = 1 YYERRCODE = 256 * EXITING File pass1/parser/y_tab_h.sno * ENTERING File parm.sno * EXITING File parm.sno * ENTERING File pass1/scanner/restab_h.sno restab = TABLE(128,10) restab["cand"] = CAND restab["characters"] = CHARACTERS restab["constants"] = CONSTANTS restab["cor"] = COR restab["do"] = DO restab["else"] = ELSE restab["elsif"] = ELSIF restab["enum"] = ENUM restab["export"] = EXPORT restab["extend"] = EXTEND restab["extern"] = EXTERN restab["fi"] = FI restab["field"] = FIELD restab["func"] = FUNC restab["hide"] = HIDE restab["if"] = IF restab["in"] = IN restab["let"] = LET restab["ni"] = NI restab["od"] = OD restab["prod"] = PROD restab["readonly"] = READONLY restab["record"] = RECORD restab["signature"] = SIGNATURE restab["then"] = THEN restab["type"] = TYPE restab["union"] = UNION restab["use"] = USE restab["val"] = VAL restab["var"] = VAR restab["with"] = WITH restab[":"] = COLON restab["<<"] = LEFT_ANGLE_BRACKET restab["=="] = EQUALS_EQUALS restab["==="] = EQUALS_EQUALS_EQUALS restab["==>"] = RIGHT_ARROW restab[">>"] = RIGHT_ANGLE_BRACKET * EXITING File pass1/scanner/restab_h.sno * ENTERING File pass1/scanner/scan_h.sno * * character classes * / EOFCC = -1 BADCC = 0 WHTCC = 1 LETCC = 2 DIGCC = 3 SEPCC = 4 OPRCC = 5 SQUCC = 6 DQUCC = 7 STKSIZE = 5 * depth of scanner error recovery stack */ scanstk = ARRAY('0:5') stktop = -1 ESCCHAR = '#' * signals position in preprocessor output */ * DATA('restab(rt_txt,rt_val)') yyline = 0 yycolno = 0 * declarations for table of virtual line numbers versus real line * numbers and filenames. The table is created by the scanner and * then used by later passes to convert a virtual line number * stored in the syntax tree to the real line number printed in * an error message. * / DATA('VrLine(vr_vline,vr_rline,vr_fname,vr_next)') vrtable = vrtend = yyvlineno = 0 scansavc = '\n' tokenbuf = '' tokenlgth = 0 DEFINE('cclass(c)') * EXITING File pass1/scanner/scan_h.sno * ENTERING File pass1/scanner/cctab_h.sno cctab = TABLE(128) ccchars = ARRAY("0:127") i = 0 alphacctab = &ALPHABET ccctab_h_loop alphacctab LEN(1) . ccchars[i] = * OUTPUT = "DEBUG ccchars[" i "] = " ccchars[i] i = LT(i,128) i + 1 :s(ccctab_h_loop) cctab[ccchars[0]] = BADCC cctab[ccchars[1]] = BADCC cctab[ccchars[2]] = SEPCC cctab[ccchars[3]] = BADCC cctab[ccchars[4]] = BADCC cctab[ccchars[5]] = BADCC cctab[ccchars[6]] = BADCC cctab[ccchars[7]] = BADCC cctab[ccchars[8]] = OPRCC cctab[ccchars[9]] = WHTCC cctab[ccchars[10]] = WHTCC cctab[ccchars[11]] = BADCC cctab[ccchars[12]] = WHTCC cctab[ccchars[13]] = WHTCC cctab[ccchars[14]] = BADCC cctab[ccchars[15]] = BADCC cctab[ccchars[16]] = BADCC cctab[ccchars[17]] = BADCC cctab[ccchars[18]] = BADCC cctab[ccchars[19]] = BADCC cctab[ccchars[20]] = BADCC cctab[ccchars[21]] = BADCC cctab[ccchars[22]] = BADCC cctab[ccchars[23]] = BADCC cctab[ccchars[24]] = BADCC cctab[ccchars[25]] = BADCC cctab[ccchars[26]] = BADCC cctab[ccchars[27]] = BADCC cctab[ccchars[28]] = BADCC cctab[ccchars[29]] = BADCC cctab[ccchars[30]] = BADCC cctab[ccchars[31]] = BADCC cctab[ccchars[32]] = WHTCC cctab[ccchars[33]] = OPRCC cctab[ccchars[34]] = DQUCC cctab[ccchars[35]] = SEPCC cctab[ccchars[36]] = SEPCC cctab[ccchars[37]] = OPRCC cctab[ccchars[38]] = OPRCC cctab[ccchars[39]] = SQUCC cctab[ccchars[40]] = SEPCC cctab[ccchars[41]] = SEPCC cctab[ccchars[42]] = OPRCC cctab[ccchars[43]] = OPRCC cctab[ccchars[44]] = SEPCC cctab[ccchars[45]] = OPRCC cctab[ccchars[46]] = OPRCC cctab[ccchars[47]] = OPRCC cctab[ccchars[48]] = DIGCC cctab[ccchars[49]] = DIGCC cctab[ccchars[50]] = DIGCC cctab[ccchars[51]] = DIGCC cctab[ccchars[52]] = DIGCC cctab[ccchars[53]] = DIGCC cctab[ccchars[54]] = DIGCC cctab[ccchars[55]] = DIGCC cctab[ccchars[56]] = DIGCC cctab[ccchars[57]] = DIGCC cctab[ccchars[58]] = OPRCC cctab[ccchars[59]] = SEPCC cctab[ccchars[60]] = OPRCC cctab[ccchars[61]] = OPRCC cctab[ccchars[62]] = OPRCC cctab[ccchars[63]] = OPRCC cctab[ccchars[64]] = OPRCC cctab[ccchars[65]] = LETCC cctab[ccchars[66]] = LETCC cctab[ccchars[67]] = LETCC cctab[ccchars[68]] = LETCC cctab[ccchars[69]] = LETCC cctab[ccchars[70]] = LETCC cctab[ccchars[71]] = LETCC cctab[ccchars[72]] = LETCC cctab[ccchars[73]] = LETCC cctab[ccchars[74]] = LETCC cctab[ccchars[75]] = LETCC cctab[ccchars[76]] = LETCC cctab[ccchars[77]] = LETCC cctab[ccchars[78]] = LETCC cctab[ccchars[79]] = LETCC cctab[ccchars[80]] = LETCC cctab[ccchars[81]] = LETCC cctab[ccchars[82]] = LETCC cctab[ccchars[83]] = LETCC cctab[ccchars[84]] = LETCC cctab[ccchars[85]] = LETCC cctab[ccchars[86]] = LETCC cctab[ccchars[87]] = LETCC cctab[ccchars[88]] = LETCC cctab[ccchars[89]] = LETCC cctab[ccchars[90]] = LETCC cctab[ccchars[91]] = SEPCC cctab[ccchars[92]] = OPRCC cctab[ccchars[93]] = SEPCC cctab[ccchars[94]] = OPRCC cctab[ccchars[95]] = LETCC cctab[ccchars[96]] = OPRCC cctab[ccchars[97]] = LETCC cctab[ccchars[98]] = LETCC cctab[ccchars[99]] = LETCC cctab[ccchars[100]] = LETCC cctab[ccchars[101]] = LETCC cctab[ccchars[102]] = LETCC cctab[ccchars[103]] = LETCC cctab[ccchars[104]] = LETCC cctab[ccchars[105]] = LETCC cctab[ccchars[106]] = LETCC cctab[ccchars[107]] = LETCC cctab[ccchars[108]] = LETCC cctab[ccchars[109]] = LETCC cctab[ccchars[110]] = LETCC cctab[ccchars[111]] = LETCC cctab[ccchars[112]] = LETCC cctab[ccchars[113]] = LETCC cctab[ccchars[114]] = LETCC cctab[ccchars[115]] = LETCC cctab[ccchars[116]] = LETCC cctab[ccchars[117]] = LETCC cctab[ccchars[118]] = LETCC cctab[ccchars[119]] = LETCC cctab[ccchars[120]] = LETCC cctab[ccchars[121]] = LETCC cctab[ccchars[122]] = LETCC cctab[ccchars[123]] = SEPCC cctab[ccchars[124]] = OPRCC cctab[ccchars[125]] = SEPCC cctab[ccchars[126]] = OPRCC cctab[ccchars[127]] = BADCC tab_chr = ccchars[9] white_chrs = ccchars[9] ccchars[10] ccchars[12] ccchars[13] ccchars[32] skip_wht = SPAN(white_chrs) skip_wht_nl = (SPAN(white_chrs) | '') * EXITING File pass1/scanner/cctab_h.sno * ENTERING File pass5d/op_codes_2.sno * RIC (Russell Intermediate Code) Op codes */ OP_NONE = 0 op_code_table[0] = OP_NONE op_code_table[1] = "BR" op_code_table[2] = "BRT" op_code_table[3] = "BRF" op_code_table[4] = "CLL" op_code_table[5] = "LBL" op_code_table[6] = "EXT" op_code_table[7] = "LBA" op_code_table[8] = OP_NONE op_code_table[9] = "BFN" op_code_table[10] = "TFB" op_code_table[11] = "TFE" op_code_table[12] = "PRO" op_code_table[13] = "ADT" op_code_table[14] = "ERR" op_code_table[15] = "BSF" op_code_table[16] = "LBR" op_code_table[17] = "DDT" op_code_table[18] = "FDT" op_code_table[19] = OP_NONE op_code_table[20] = "DCL" op_code_table[21] = "UDC" op_code_table[22] = "ALH" op_code_table[23] = "GAR" op_code_table[24] = "ALS" op_code_table[25] = "LDI" op_code_table[26] = "STI" op_code_table[27] = "CLI" op_code_table[28] = "LDN" op_code_table[29] = "RTN" op_code_table[30] = "LDL" op_code_table[31] = "MOV" op_code_table[32] = "TAR" op_code_table[33] = "PSH" op_code_table[34] = OP_NONE op_code_table[35] = "ADP" op_code_table[36] = "CLC" op_code_table[37] = "ALA" op_code_table[38] = "HINT" op_code_table[39] = "ARG" op_code_table[40] = "ADI" op_code_table[41] = "SBI" op_code_table[42] = "MLI" op_code_table[43] = "DVI" op_code_table[44] = "NGI" op_code_table[45] = "IDT" op_code_table[46] = "EQI" op_code_table[47] = "LTI" op_code_table[48] = "GTI" op_code_table[49] = "NEI" op_code_table[50] = "LEI" op_code_table[51] = "GEI" op_code_table[52] = "SHI" op_code_table[53] = "ABI" op_code_table[54] = OP_NONE op_code_table[55] = OP_NONE op_code_table[56] = OP_NONE op_code_table[57] = OP_NONE op_code_table[58] = OP_NONE op_code_table[59] = OP_NONE op_code_table[60] = "TRU" op_code_table[61] = "FLS" op_code_table[62] = "AND" op_code_table[63] = "OR" op_code_table[64] = "NOT" op_code_table[65] = OP_NONE op_code_table[66] = OP_NONE op_code_table[67] = OP_NONE op_code_table[68] = OP_NONE op_code_table[69] = OP_NONE op_code_table[70] = "LDS" op_code_table[71] = "LDC" op_code_table[72] = OP_NONE op_code_table[73] = OP_NONE op_code_table[74] = OP_NONE op_code_table[75] = OP_NONE op_code_table[76] = OP_NONE op_code_table[77] = OP_NONE op_code_table[78] = OP_NONE op_code_table[79] = OP_NONE op_code_table[80] = "ADF" op_code_table[81] = "SBF" op_code_table[82] = "MLF" op_code_table[83] = "DVF" op_code_table[84] = "NGF" op_code_table[85] = "EXF" op_code_table[86] = "EQF" op_code_table[87] = "LTF" op_code_table[88] = "GTF" op_code_table[89] = "NEF" op_code_table[90] = "LEF" op_code_table[91] = "GEF" op_code_table[92] = "SHF" op_code_table[93] = OP_NONE op_code_table[94] = OP_NONE op_code_table[95] = OP_NONE op_code_table[96] = OP_NONE op_code_table[97] = OP_NONE op_code_table[98] = OP_NONE op_code_table[99] = OP_NONE op_code_table[100] = OP_NONE op_code_table[101] = OP_NONE op_code_table[102] = OP_NONE op_code_table[103] = OP_NONE op_code_table[104] = OP_NONE * EXITING File pass5d/op_codes_2.sno * ENTERING File pass5d/op_codes_h2.sno * /* RIC (Russell Intermediate Code) Op codes */ * /* The first group has a single string argument */ BR = 1 * /* branch unconditionally */ BRT = 2 * /* branch if value in TL is true. */ BRF = 3 * /* branch if value in TL is false. */ CLL = 4 * /* call routine with given label */ * /* Needs to do any cleanup (e.g. stack pops) */ * /* necessitated by the preceding ARG instr that */ * /* passed the activation record pointer. */ LBL = 5 * /* attach the given label to the next instruction */ EXT = 6 * /* declare the label to be external */ * /* All labels that need to be known to the */ * /* outside are marked in this way. All labels */ * /* not beginning with an 'L' are intended to be */ * /* unique, and thus may be made globally visible. */ LBA = 7 * /* supply a label argument to immediately */ * /* following instruction */ BFN = 9 * /* begin named function */ * /* function temporaries may be reserved on the */ * /* stack at this point */ * /* FP should be set to point to one below return */ * /* address. AR should be set to first (and only) */ * /* argument. Other locations are set explicitly. */ * /* Locations (incl. AR) are implicitly saved */ * /* during a procedure call. */ TFB = 10 * /* trace function entry */ TFE = 11 * /* trace function exit */ PRO = 12 * /* record function entry for profiling */ ADT = 13 * /* character string data. A label for the */ * /* location of the data may be supplied by a */ * /* preceding LBA instruction OBSOLETE */ ERR = 14 * /* branch to error routine with indicated label */ * /* Arguments may have been pushed. */ BSF = 15 * /* begin short function. Identical to BFN, */ * /* except that AR should neither be set, nor does */ * /* the old value need to be saved. */ * /* Arguments to BSF functions are passed */ * /* individually using ARG, rather than passing a */ * /* a single argument containing the activation */ * /* record. If the name of the function does not */ * /* start with Ffn, the generated function must be */ * /* C callable. (Typically it will be, in any */ * /* case.) */ LBR = 16 * /* Attach a symbolic name to the virtual register */ * /* declared by the immediately following DCL */ DDT = 17 * /* Generate double precision floating point data. */ * /* May be labelled with an LBA instruction. */ * /* The argument is actually a string representing */ * /* representing a floating point constant. */ * /* Such data is read-only. */ FDT = 18 * /* Analogous to FDT, but for single precision */ * /* constants. */ * /* The remainder has up to 3 integer arguments. Unless otherwise */ * /* specified, they refer to temporary locations (virtual */ * /* registers). An offset is a signed integer value. */ * /* An object is considered accessible only if there is an */ * /* accessible pointer to its beginning. */ * /* Pointers in any active temporary or on the stack are accessible */ * /* args */ DCL = 20 * /* loc type -- declare temporary location */ * /* (i.e. virtual register) */ * /* The following types are allowed: */ * /* 32 bit integer */ * /* DCL_ADDR and DCL_INT, are assumed to be the */ * /* same size. The distinction is only a hint */ * /* to the machine code generator. */ * /* DCL_FLOAT is unlikely to be used in the */ * /* near future. */ * /* In the following, size is a location: */ UDC = 21 * /* loc -- free temporary location */ * /* If applied to a predefined location, this */ * /* constitutes a declaration that the value it */ * /* contains is dead at this point. */ * /* Duplicate UDC's for the same location may */ * /* occasionally appear. All but the first can be */ * /* safely ignored. */ ALH = 22 * /* size loc -- loc := ptr to new heap object */ GAR = 23 * /* i loc -- Get the ith argument (passed with */ * /* ARG) into loc */ ALS = 24 * /* size -- allocate new stack object containing */ * /* pointer data */ * /* Both ALS and ALH are assumed to clear the */ * /* allocated space. This is necessary only for */ * /* garbage collection, and may frequently be */ * /* eliminated by an optimizer */ LDI = 25 * /* index offset loc -- loc := index[offset] */ STI = 26 * /* index offset loc -- index[offset] := loc */ CLI = 27 * /* index offset -- jsr index[offset] */ * /* Needs cleanup similar to CLL */ LDN = 28 * /* signed_value loc -- loc := signed_value */ RTN = 29 * /* -- return from function w/ value at loc RL */ LDL = 30 * /* loc -- load value of label provided */ * /* by immediately preceding LBA instruction */ * /* The label must have been previously defined. */ MOV = 31 * /* loc1 loc2 -- loc2 := loc1 */ TAR = 32 * /* arg put_fn -- save passed argument for trace */ PSH = 33 * /* loc -- push contents of loc onto stack */ * /* equivalent to ALS 1; STI SP, 0, loc */ ADP = 35 * /* loc1 offset loc2 -- loc2 := &loc1[offset] */ * /* Add a (word) offset to a pointer value */ * /* Unlike LDI and STI, offset here is a location */ CLC = 36 * /* nargs -- Call to a non-Russell routine or a BSF */ * /* style Russell routine. Nargs */ * /* is an integer. The routine name is given by */ * /* a preceding LBA instruction. The arguments */ * /* are supplied in reverse order by prior */ * /* ARG instructions. */ ALA = 37 * /* size loc -- loc := ptr to new atomic heap */ * /* object. Object should never contain pointer */ * /* data. */ HINT = 38 * /* kind arg1 arg2 -- Code generator hint. */ OPT = 1 * /* n -- The next n instructions perform */ * /* runtime checks, and may be discarded at */ * /* suitably high levels of optimization. */ NP = 2 * /* The following ARG instruction refers to a */ * /* pointer to an object that may be on the */ * /* heap. The called procedure does not */ * /* preserve references to this object. Thus */ * /* the ARG instruction may be disregarded for */ * /* purposes of static ref. counting */ AL = 3 * /* size atom -- (size is a constant). The */ * /* following procedure call (CLC, CLL, CLI) */ * /* returns a new object of the indicated */ * /* size. If size is != 0 the object may */ * /* be deallocated by attaching it directly */ * /* to the free list of the indicated size. */ * /* If size is = 0, the size of the object */ * /* is unknown, and the object could be */ * /* statically allocated; rfree should be */ * /* called to release it. */ * /* Atom is either 0 or 1, and */ * /* specifies whether the allocated object is */ * /* atomic, and thus should be returned to the */ * /* atomic object free list. */ DEA = 4 * /* loc size -- Indicates that */ * /* the object pointed to by loc may be freed. */ * /* This type of hint is inserted by the */ * /* static reference counter for the benefit */ * /* of the code generator. */ * /* A negative size indicates the object is */ * /* atomic; a positive size means composite, */ * /* and a 0 size means unknown. */ * /* Size is a constant, not a location. */ NSC = 5 * /* The following CLL or CLI instruction */ * /* does not result in a saved continuation. */ * /* Thus the reference counts of objects */ * /* pointed to only by virtual registers */ * /* is unchanged across the call. */ * /* (This is always the case for CLC calls.) */ STSZ = 6 * /* loc -- The following STI instruction */ * /* should store the size of loc if it's known */ * /* that loc has exactly one reference, and 0 */ * /* otherwise. Loc contains a pointer to a */ * /* composite object. */ PT = 7 * /* Analogous to NP, but a single reference is */ * /* preserved (passed through) as the function */ * /* result. */ DEAD = 8 * /* loc -- The value in loc will not be used */ * /* again. (The location itself may be reused.*/ * /* Thus UDC would be inappropriate.) */ GFU = 9 * /* GF is about to be updated, or AR is about */ * /* to be updated inside a BSF function. */ * /* Such a hint always precedes the first such */ * /* update in a routine. */ LIVE = 10 * /* loc -- The value in loc should be viewed */ * /* as live up to this point. Such a hint is */ * /* included whenever a location (other than */ * /* GF and AR) could appear to be dead, but a */ * /* derived pointer is not. A value in such a */ * /* location needs to be retained, so as not */ * /* to confuse the garbage collector. */ * /* We do not generate such HINTs if it is */ * /* known that the value in question is also */ * /* stored in an accessible memory location. */ * /* Similarly, we do not generate such a HINT */ * /* if the derived pointer is only implicit */ * /* in an LDI or STI instruction. */ ET = 11 * /* Defines the type of the following item */ * /* declared by an EXT. All EXTs that do not */ * /* refer to functions are preceded by such a */ * /* hint. The second argument is a type */ * /* specifier, as for the DCL instruction. */ ONS = 12 * /* The following allocation instruction may */ * /* be implemented as a stack allocation. */ * /* This is used only if the comipler is not */ * /* allowed to generate ALS instructions (-f */ * /* or -F flag). Each allocation instruction */ * /* preceded by a HINT ONS is eventually */ * /* followed by a corresponding HINT ONS; */ * /* HINT DEA sequence. All such pairs are */ * /* properly nested. There are no branches */ * /* into or our of such a pair. */ ARG = 39 * /* n loc -- Pass loc as the nth argument to CLC */ * /* ARG instructions always occur in reverse order, */ * /* with highest numbered argument first. The */ * /* lowest numbered argument is numbered 1. */ * /* Also used to pass the activation record pointer */ * /* through CLL and CLI calls. */ * /* MAY reserve space on the stack. */ * /* Integer operations */ ADI = 40 * /* op1 op2 result -- result := (int)op1 + (int)op2 */ SBI = 41 * /* op1 op2 result -- result := (int)op1 - (int)op2 */ MLI = 42 DVI = 43 * /* op1 op2 result -- result := (int)op1 / (int)op2 */ NGI = 44 * /* op result -- result := -op */ IDT = 45 * /* data -- generate integer data. May be labeled */ * /* with an LBA */ * /* Consecutive IDTs w/o intervening LBAs generate */ * /* consecutive data. */ * /* Data is read-only. */ EQI = 46 * /* op1 op2 result -- result := (int)op1 = (int)op2 */ LTI = 47 * /* op1 op2 result -- result := (int)op1 < (int)op2 */ GTI = 48 * /* op1 op2 result -- result := (int)op1 > (int)op2 */ NEI = 49 * /* op1 op2 result -- result := (int)op1 != (int)op2 */ LEI = 50 * /* op1 op2 result -- result := (int)op1 <= (int)op2 */ GEI = 51 * /* op1 op2 result -- result := (int)op1 >= (int)op2 */ SHI = 52 * /* op1 op2 result -- result := arith_shift(op1, op2) */ ABI = 53 * /* op1 result -- result := abs(op1) */ * /* Boolean operations */ TRU = 60 * /* loc -- load the constant true into the */ * /* indicated location. */ FLS = 61 * /* loc -- load the constant false into the */ * /* indicated location. */ * /* The following instructions are assumed to work on */ * /* both Booleans and bit vectors: */ AND = 62 * /* op1 op2 result -- result := op1 & op2 */ OR = 63 * /* op1 op2 result -- result := op1 | op2 */ * /* The following applies only to Booleans: */ NOT = 64 * /* op result -- result := ~ op */ * /* String operations */ LDS = 70 * /* loc -- put a pointer to the string given by the */ * /* preceding LBA instruction into loc */ LDC = 71 * /* index offset loc -- loc := index[offset] */ * /* Differs from LDI in that offset is a virtual */ * /* register (location) and it is a BYTE rather than */ * /* word displacement from index. Used to access */ * /* individual characters in a string. */ * /* Operations on single precision floating point numbers */ ADF = 80 * /* op1 op2 result -- result := (float)op1 + (float)op2 */ SBF = 81 * /* op1 op2 result -- result := (float)op1 - (float)op2 */ MLF = 82 DVF = 83 * /* op1 op2 result -- result := (float)op1 / (float)op2 */ NGF = 84 * /* op result -- result := - (float) op */ EXF = 85 * /* op1 result -- result := (int) x s.t. */ EQF = 86 * /* op1 op2 result -- result := (float)op1 = (float)op2 */ LTF = 87 * /* op1 op2 result -- result := (float)op1 < (float)op2 */ GTF = 88 * /* op1 op2 result -- result := (float)op1 > (float)op2 */ NEF = 89 * /* op1 op2 result -- result := (float)op1 != (float)op2 */ LEF = 90 * /* op1 op2 result -- result := (float)op1 <= (float)op2 */ GEF = 91 * /* op1 op2 result -- result := (float)op1 >= (float)op2 */ SHF = 92 * /* predefined locations */ AR = 1 * /* activation record pointer */ SP = 2 * /* stack pointer */ GF = 3 * /* pointer to global act. rec. */ * /* explicitly saved and restored by */ * /* intermediate code if it is updated. */ * /* Thus it can easily be assigned to a */ * /* fixed register. */ UN = 4 * /* location containing "undefined" value */ SK = 5 * /* value sink, nothing comes out ... */ * /* An instruction using SK as */ * /* destination or an STI SK,... is a */ * /* noop */ RL = 6 * /* location for function result */ * /* capable of holding max size object */ * /* result of operation. In-line code only */ * /* Can't be legitimate operand to anything */ * /* but LDN */ TL = 8 * /* Location tested in conditional branches */ * /* Dead after first reference. */ C0 = 10 * /* always 0 */ C1 = 11 * /* always 1 */ C2 = 12 * /* always 2 */ C3 = 13 * /* always 3 */ C4 = 14 * /* always 4 */ * /* T1 and T2 are short term temporaries. They should be */ * /* used only in fixed code sequences, not involving */ * /* arbitrary embedded code. T1 is mapped to the same */ * /* location as RL, and may thus conflict with RS in */ * /* inline code sequences. T2 will never be specified as */ * /* the result location for an inline code sequence. */ * /* T1 is assumed to be predeclared. T2 is not treated */ * /* specially by the final code generator. */ * /* Since T1 and RL are the same, and will presumably be */ * /* mapped to the location used for function results, we */ * /* assume that T1 may be clobbered by ALA and ALH. */ * /* Note: All general locations are expected to be saved and */ * /* restored on procedure call. */ * EXITING File pass5d/op_codes_h2.sno * ENTERING File datatypes/consnodes_h.sno DATA('ConsNode(cn_tl_field,cn_hd_field)') * EXITING File datatypes/consnodes_h.sno * ENTERING File stree/ststructs_mh.sno SZSTANDARDPREFIX = 4 LISTHEADER = 0 DECLARATION = 1 PARAMETER = 2 RECORDELEMENT = 3 VARSIGNATURE = 4 VALSIGNATURE = 5 FUNCSIGNATURE = 6 TYPESIGNATURE = 7 TSCOMPONENT = 8 DEFCHARSIGS = 9 SIGNATURESIG = 10 BLOCKDENOTATION = 11 USELIST = 12 APPLICATION = 13 ENUMERATION = 14 EXTENSION = 15 PRODCONSTRUCTION = 16 RECORDCONSTRUCTION = 17 UNIONCONSTRUCTION = 18 WITHLIST = 19 MODPRIMARY = 20 EXPORTLIST = 21 HIDELIST = 22 EXPORTELEMENT = 23 ALLCONSTANTS = 24 WORDELSE = 25 WORDCAND = 26 WORDCOR = 27 GUARDEDLIST = 28 LOOPDENOTATION = 29 GUARDEDELEMENT = 30 OPRID = 31 LETTERID = 32 QSTR = 33 UQSTR = 34 FUNCCONSTR = 35 FREEVARNODE = 36 EXTERNDEF = 37 REXTERNDEF = 38 DCSEXCEPTION = 39 * Variable was directly stack allocated */ VAR_ON_STACK = 7 SIMPLE_VAR_ON_STACK = 1 PTR_VAR_ON_STACK = 2 INIT_VAR_ON_STACK = 4 * Array is contiguously allocated. */ ARRAY_CONTIG = 8 * Imported into nested scope */ ID_IMPORTED = 16 * Variable is referenced other than as */ VAR_NONTR_REF = 32 * argument to V or := */ * With the -R option, the -G code generator keeps */ * identifier bindings or variables in v. registers: */ * displacement is v. register number */ ID_IN_REG = 64 SIMPLE_VAR_IN_REG = 128 PTR_VAR_IN_REG = 256 INIT_VAR_IN_REG = 512 VAR_IN_REG = 896 * r.h.s always evaluates to integer constant decl_const_val: */ DECL_CONST = 1024 NOT_DECL_CONST = 2048 * used to be 5, before we dropped refcount */ DATA('ListHeaderNode(kind,vlineno,pre_num,post_num,lh_first,lh_last)') DATA('DeclarationNode(kind,vlineno,pre_num,post_num,decl_id,decl_denotation,displacement,level,decl_signature,decl_done,decl_sig_transp,decl_innermost_id,decl_previous_definition,decl_scope,decl_can_be_refd,decl_special,decl_sel_index,decl_needed,decl_const_val)') DATA('ParameterNode(kind,vlineno,pre_num,post_num,par_id,par_signature,displacement,level,par_previous_definition,par_scope,par_only_def)') * parameter. NIL indicates no call */ * found so far. MULTIPLE_DEFS */ * indicates that different arguments*/ * are passe, or we don't know the */ * identity of the argument. */ * MULTIPLE_TP_DEFS indicates that */ * different arguments are passed, */ * but they are all types with */ * standard := and V operations. */ * # define MULTIPLE_DEFS ((NODE *) 1) * # define MULTIPLE_TP_DEFS ((NODE *) 2) * # define is_real_def(x) (((unsigned) (x)) > 2) * also used for unions */ DATA('RElementNode(kind,vlineno,pre_num,post_num,re_id,re_denotation,re_New_index,re_ValueOf_index,re_assign_index)') DATA('VarSignatureNode(kind,vlineno,pre_num,post_num,signature,sig_done,var_denotation)') DATA('ValSignatureNode(kind,vlineno,pre_num,post_num,signature,sig_done,val_denotation)') DATA('FSignatureNode(kind,vlineno,pre_num,post_num,signature,sig_done,fsig_construction,fsig_special,fsig_slink_known,fsig_inline_code,fsig_param_list,fsig_result_sig)') DATA('TSignature(kind,vlineno,pre_num,post_num,signature,sig_done,ts_simple_type,ts_local_type_id,ts_clist,ts_previous_definition,ts_const_code,ts_string_code,ts_element_code,ts_string_max,ts_meta_concat)') DATA('TSComponentNode(kind,vlineno,pre_num,post_num,tsc_id,tsc_signature)') DATA('DefCharSigsNode(kind,vlineno,pre_num,post_num,dcs_0,dcs_1,dcs_2,dcs_3,dcsexceptions)') NVECTORS = 4 DATA('SignatureSigNode(kind,vlineno,pre_num,post_num,signature,sig_done)') DATA('BlDenotationNode(kind,vlineno,pre_num,post_num,signature,sig_done,ar_size,ar_static_link,ar_static_level,bld_declaration_list,bld_den_seq,bld_precedence,bld_flags)') CONTAINS_CLOSURE = 2 CALLCC_CALL = 4 REQUIRES_AR = 8 NO_SURR_LOOP = 16 DATA('UseListNode(kind,vlineno,pre_num,post_num,signature,sig_done,usl_type_list,usl_den_seq,usl_previous_list,usl_precedence)') DATA('ApplicationNode(kind,vlineno,pre_num,post_num,signature,sig_done,ap_operator,ap_args,ap_void_decl)') DATA('EnumerationNode(kind,vlineno,pre_num,post_num,signature,sig_done,enum_id_list)') DATA('ExtensionNode(kind,vlineno,pre_num,post_num,signature,sig_done,ext_denotation,In_index,Out_index)') DATA('ProductNode(kind,vlineno,pre_num,post_num,signature,sig_done,prod_local_type_id,prod_components,prod_previous_definition)') DATA('RecordConstructionNode(kind,vlineno,pre_num,post_num,signature,sig_done,rec_component_list,rec_previous_definition)') DATA('UnionConstructionNode(kind,vlineno,pre_num,post_num,signature,sig_done,prod_local_type_id,prod_components,prod_previous_definition)') DATA('WithListNode(kind,vlineno,pre_num,post_num,wl_local_type_id,wl_component_list,wl_previous_definition)') DATA('ModPrimaryNode(kind,vlineno,pre_num,post_num,signature,sig_done,displacement,level,mp_primary,mp_type_modifier,mp_delete_v,mp_orig_length,mp_needed,mp_no_surr_loop)') DATA('ExportListNode(kind,vlineno,pre_num,post_num,el_local_type_id,el_export_element_list,el_previous_definition)') DATA('HideListNode(kind,vlineno,pre_num,post_num,el_local_type_id,el_export_element_list,el_previous_definition)') DATA('ExportElementNode(kind,vlineno,pre_num,post_num,ee_id,ee_signature,ee_export_list)') DATA('AllConstantsNode(kind,vlineno,pre_num,post_num)') DATA('WordElseNode(kind,vlineno,pre_num,post_num,signature,sig_done)') DATA('WordCandNode(kind,vlineno,pre_num,post_num)') DATA('WordCorNode(kind,vlineno,pre_num,post_num)') DATA('GuardedListNode(kind,vlineno,pre_num,post_num,signature,sig_done,gl_list)') DATA('LoopDenotationNode(kind,vlineno,pre_num,post_num,signature,sig_done,gl_list)') DATA('GuardedElementNode(kind,vlineno,pre_num,post_num,ge_guard,ge_element)') DATA('OpridNode(kind,vlineno,pre_num,post_num,signature,sig_done,sel_type,id_str_table_index,id_use_list,id_last_definition,id_def_found,sel_index,id_appl,id_forward_ref)') DATA('LetterIdNode(kind,vlineno,pre_num,post_num,signature,sig_done,sel_type,id_str_table_index,id_use_list,id_last_definition,id_def_found,sel_index,id_appl,id_forward_ref)') DATA('QStrNode(kind,vlineno,pre_num,post_num,signature,sig_done,sel_type,str_string,str_use_list,str_expansion)') DATA('UQStrNode(kind,vlineno,pre_num,post_num,signature,sig_done,sel_type,str_string,str_use_list,str_expansion)') DATA('FuncConstrNode(kind,vlineno,pre_num,post_num,signature,sig_done,ar_size,ar_static_link,ar_static_level,fc_body,fc_complexity,fc_code_label,fc_free_vars,fc_body_needed)') COMPLICATED = 0 NO_SL = 1 NO_PUT = 2 NO_CALLCC = 4 NO_CONSTR = 8 NEED_CL = 16 CP_GLOBALS = 32 NO_AR_REFS = 64 DIR_REC = 128 DIR_CALL = 256 SL_ACC = 512 NESTED_AR_BLOCK = 1024 DATA('FreeVarNodeNode(kind,vlineno,pre_num,post_num,fv_last_definition,fv_surr_class,fv_surr_index,fv_index)') DATA('ExternDefNode(kind,vlineno,pre_num,post_num,ext_name)') DATA('RExternDef(kind,vlineno,pre_num,post_num,signature,sig_done,r_ext_name)') DATA('DcsException(kind,vlineno,pre_num,post_num,dcse_char,dcse_inline,dcse_special,dcse_construction)') LASTKINDVALUE = 39 SIG_UNKNOWN = 0 SIG_IN_PROGRESS = 1 SIG_DONE = 2 NOT_SPECIAL = 0 PROD_NEW = 1 PROD_ASSIGN = 2 PROD_VALUEOF = 3 PROD_MK = 4 PROD_PROJ = 5 UNION_NEW = 6 UNION_ASSIGN = 7 UNION_VALUEOF = 8 UNION_INJ = 9 UNION_PROJ = 10 UNION_INQ = 11 RECORD_NEW = 12 RECORD_ASSIGN = 13 RECORD_VALUEOF = 14 RECORD_MK = 15 RECORD_VAL_FIELD = 16 RECORD_VAR_FIELD = 17 ENUM_NEW = 18 ENUM_ASSIGN = 19 ENUM_VALUEOF = 20 ENUM_EQ = 21 ENUM_NE = 22 ENUM_ELEMENT = 23 ENUM_CARD = 24 ENUM_PRED = 25 ENUM_SUCC = 26 IDENTITY = 27 STD_ASSIGN = 28 STD_NEW = 29 STD_VALUEOF = 30 STD_PUT = 31 STD_CALLCC = 32 STD_ARRAY = 33 ARRAY_STD_NEW = 34 ARRAY_PTR_NEW = 35 ARRAY_VALUEOF = 36 ARRAY_SIZE = 37 ARRAY_VAL_SUB = 38 ARRAY_VAR_SUB 39 PTR_NEW = 40 INIT_NEW = 41 OTHER_BUILTIN = 42 STD_PASSIGN = 43 STD_MASSIGN = 44 STD_TASSIGN = 45 UNDEF_CONST = 46 UNION_INJ0 = 47 * EXITING File stree/ststructs_mh.sno :(main) * ENTERING File mine.sno yyinfo OUTPUT = "INFO: " msg errfile = "INFO: " msg reduce = "INFO: " msg progress = "INFO: " msg debug = "INFO: " msg :(RETURN) yyperror OUTPUT = "ERROR: " msg progress = "ERROR: " msg errfile = "ERROR: " msg reduce = "ERROR: " msg :(RETURN) rpt_err OUTPUT = "ERROR: " msg errfile = "ERROR: " msg :(stats_out) * lock is dummy function lock lock = in :(RETURN) rpt_stats statsline("Item","Count") statsline("Line Count",line_cnt) statsline("Character Count",char_cnt) statsline("Token Count",token_cnt) statsline("Reserved Id Count",reserved_id_cnt) statsline("Reserved Op Count",reserved_op_cnt) statsline("Unique Symbol Count",stt_unique_cnt) statsline("Referenced Symbol Count",stt_reference_cnt) statsline("Numeral Count",numeral_cnt) statsline("Nodes Total Count",nodes_total_cnt) statsline("Nodes Made Count",nodes_made_cnt) statsline("Lists Total Count",lists_total_cnt) statsline("Lists Made Count",lists_made_cnt) statsline("YYN Switches Count",yyn_switches_cnt) statsline("YYN Compute Count",yyn_compute_cnt) statsline("Newstate Count",newstate_cnt) statsline("Setstate Count",setstate_cnt) statsline("Backup Count",backup_cnt) statsline("Default Count",default_cnt) statsline("Reduce Count",reduce_cnt) statsline("Errlab Count",errlab_cnt) statsline("Errlab1 Count",errlab1_cnt) dump_value_stack() dump_state_stack() :(RETURN) statsline stats = item DUPL(" ",40 - SIZE(item)) count :(RETURN) * EXITING File mine.sno * ENTERING File stree/ststructs.sno * make an empty list */ emptylist emptylist = mknode("LISTHEADER , NIL , NIL") :(RETURN) * EXITING File stree/ststructs.sno * ENTERING File pass1/parser/y_tab.sno yyparse * ********************************************************************* * The stacks and their tools: * `yyss': related to states. * `yyvs': related to semantic values. * Refer to the stacks through separate pointers, to allow yyoverflow * to reallocate them elsewhere. */ * The state stack. */ yyssa = ARRAY("0:512") * The semantic value stack. */ yyvsa = ARRAY("0:512") * yylval = 0 * ************************************************************************** * int yyn; * int yyresult; * Lookahead token as an internal (translated) token number. */ * int yytoken = 0; * The variables used to return semantic value and location from the * action routines. */ * YYSTYPE yyval; yylen = 0 yyssp = 0 yyvsp = 0 OUTPUT = "Starting parse" debug = "Starting parse" stt_unique_cnt = 0 stt_reference_cnt = 0 nodes_made_cnt = 0 lists_made_cnt = 0 yystate = 0 yyerrstatus = 0 yynerrs = 0 yychar = YYEMPTY * Cause a token to be read. */ yytoken = 0 yylen = 0 yystate = 0 yyerrstatus = 0 yynerrs = 0 :(yysetstate) * ***************************************************************************** * ------------------------------------------------------------. * | yynewstate -- Push a new state, which is found in yystate. | * `------------------------------------------------------------*/ yynewstate yyinfo("At LABEL yynewstate") newstate_cnt = newstate_cnt + 1 * In all cases, when you get here, the value and location stacks * have just been pushed. So pushing a state here evens the stacks. * * STATE STACK PTR yyssp = yyssp + 1 * **************************************************************************** yysetstate * STATE STACK yyinfo("At LABEL yysetstate") setstate_cnt = setstate_cnt + 1 yyssa[yyssp] = yystate; debug = "Entering state " yystate EQ(yystate, YYFINAL) :s(yyacceptlab)f(yybackup) * ***************************************************************************** * /*-----------. * | yybackup. | * `-----------*/ yybackup yyinfo("At LABEL yybackup") backup_cnt = backup_cnt + 1 debug = "Entered yybackup yystate = " yystate * Do appropriate processing given the current state. Read a * lookahead token if we need one and don't already have one. * * First try to decide what to do without reference to lookahead token. rpt_reduce("yypact[yystate] 1A",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyn = yypact[yystate] rpt_reduce("yypact[yystate] 1B",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) debug = "Entered yybackup yystate = " yystate " yyn = " yyn yypact_value_is_default(yyn) :s(yydefault) * Not known => get a lookahead token if don't already have one. * YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. debug = "YYEMPTY = " YYEMPTY " yychar = " yychar IDENT(yychar,YYEMPTY) :f(parseskip0000001) debug = "Reading a token: " reduce = "Reading a token: " yychar = yylex() debug = "after yylex in y_tab.sno yychar = " yychar reduce = "after yylex in y_tab.sno yychar = " yychar * **************************************************************************** parseskip0000001 LE(yychar,YYEOF) :f(parseskip0000002) yytoken = YYEOF yychar = YYEOF reduce = "Now at end of input." * dump_value_stack() * dump_state_stack() * EVENTUALLY goto stats out will be removed - temp for debugging debug = "Now at end of input." :(parseskip0000003) * ************************************************************************* parseskip0000002 debug = "before translate in y_tab.sno yychar = " yychar yytoken = yytranslate(yychar) debug = "Next token is " yytoken " yylval = " yylval " yylloc = " yylloc * *************************************************************************** parseskip0000003 * If the proper action on seeing token YYTOKEN is to reduce or to * detect an error, take that action. */ debug = "parseskip000003 yyn = " yyn " yytoken = " yytoken rpt_reduce("yyn + yytoken A",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyn = yyn + yytoken rpt_reduce("yyn + yytoken B",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) debug = "parseskip000003B yyn = " yyn " yytoken = " yytoken debug = "parseskip000003C HEREHERE YYLAST = " YYLAST " yycheck[yyn] = " yycheck[yyn] LT(yyn,0) :s(yydefault) LT(YYLAST,yyn) :s(yydefault) NE(yycheck[yyn],yytoken) :s(yydefault) rpt_reduce("yytable[yyn] A",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyn = yytable[yyn] rpt_reduce("yytable[yyn] B",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) LE(yyn, 0) :f(parseskip0000005) rpt_reduce("-yyn A",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyn = -yyn rpt_reduce("-yyn B",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) :(yyreduce) * ***************************************************************************** parseskip0000005 * Count tokens shifted since error; after three, turn off error status. yyerrstatus = GT(yyerrstatus,0) yyerrstatus - 1 * Shift the lookahead token. debug = "Shifting yylval = " yylval " yylloc = " yylloc * Discard the shifted token. yychar = YYEMPTY yystate = yyn * YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN * PUSH VALUE STACK rpt_reduce("push value stack 1 A",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyvsp = yyvsp + 1 rpt_reduce("push value stack 1 B",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyvsa[yyvsp] = yylval rpt_reduce("push value stack 1 C",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) * SWITCHED ORDER ABOVE * *++yyvsp = yylval; * YY_IGNORE_MAYBE_UNINITIALIZED_END :(yynewstate) * **************************************************************************** * -----------------------------------------------------------. * | yydefault -- do the default action for the current state. | * `-----------------------------------------------------------*/ yydefault yyinfo("At LABEL yydefault") default_cnt = default_cnt + 1 debug = "y.tab_sno yydefaultA yystate = " yystate rpt_reduce("yydefact[yystate] A",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyn = yydefact[yystate] rpt_reduce("yydefact[yystate] B",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) debug = "y.tab_sno yydefaultB yyn = " yyn EQ(yyn,0) :f(yyreduce)s(yyerrlab) * ***************************************************************************** * -----------------------------. * | yyreduce -- Do a reduction. | * `*-----------------------------*/ yyreduce yyinfo("At LABEL yyreduce") * yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn] reduce_cnt =reduce_cnt + 1 * If YYLEN is nonzero, implement the default value of the action: * `$$ = $1'. * Otherwise, the following line sets YYVAL to garbage. * This behavior is undocumented and Bison * users should not rely upon it. Assigning to YYVAL * unconditionally makes the parser a bit smaller, and it avoids a * GCC warning that YYVAL may be used uninitialized. */ * yyval = yyvsp[1 - yylen] * HEREHERE rpt_reduce("yyval=yyvsp[subscr] A",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyval = GE(yyvsp + 1 - yylen, 0) yyvsa[yyvsp + 1 - yylen] :s(red_sk_002) rpt_err("parse error in yyreduce") red_sk_002 rpt_reduce("yyval=yyvsp[subscr] B",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) * SWITCH YYN yyn_switches_cnt = yyn_switches_cnt + 1 yyinfo("At LABEL SWITCH YYN = " yyn) NE(yyn,2) :s(switch_yyn_3) yyval = insrtptr :(switch_yyn_end) * ************************************************************************* switch_yyn_3 NE(yyn,3) :s(switch_yyn_4) DIFFER(stxtree, NIL) :f(switch_yyn_3_e) * insert new syntax tree in standard prologue */ DIFFER(yyvsa[yyvsp - 2], NIL) :f(switch_yyn_3e2) tmp001 = mklist(yyvsa[yyvsp - 1], -1) bld_den_seq(yyvsa[yyvsp - 2]) = tmp001 :(switch_yyn_3e2) switch_yyn_3_e2 debug = "No insertion marker in standard prologue" switch_yyn_3_e stxtree = lock(yyvsa[yyvsp - 1]) :(switch_yyn_end) * ********************************************************************* switch_yyn_4 NE(yyn,4) :s(switch_yyn_5) yyperror("Syntax error 1") :(switch_yyn_end) * ********************************************************************* switch_yyn_5 NE(yyn,5) :s(switch_yyn_7) yyperror("Syntax error 2") :(switch_yyn_end) * ********************************************************************* switch_yyn_7 NE(yyn,7) :s(switch_yyn_8) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_8 NE(yyn,8) :s(switch_yyn_9) * { (yyval) = mklist( mknode(PARAMETER,NIL,(yyvsp[(1) - (2)])), -1 ); } tmp2 = yyvsa[yyvsp - 1] tmp = mknode("PARAMETER,NIL,tmp2]") yyval = mklist("tmp, -1" ) :(switch_yyn_end) * ************************************************************************ switch_yyn_9 NE(yyn,9) :s(switch_yyn_10) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) :(switch_yyn_end) * ********************************************************************** switch_yyn_10 NE(yyn,10) :s(switch_yyn_11) yyval = indx_true :(switch_yyn_end) * ************************************************************************ switch_yyn_11 NE(yyn,11) :s(switch_yyn_12) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_12 NE(yyn,12) :s(switch_yyn_13) yyval = yyvsa[yyvsp - 1] :(switch_yyn_end) * *************************************************************************** switch_yyn_13 NE(yyn,13) :s(switch_yyn_14) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_14 NE(yyn,14) :s(switch_yyn_15) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * **************************************************************************** switch_yyn_15 NE(yyn,15) :s(switch_yyn_16) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_16 NE(yyn,16) :s(switch_yyn_17) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * **************************************************************************** switch_yyn_17 NE(yyn,17) :s(switch_yyn_18) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_18 NE(yyn,18) :s(switch_yyn_19) * { (yyval) = (yyvsp[(1) - (1)]); } yyval = yyvsa[yyvsp] :(switch_yyn_end) * ***************************************************************************** switch_yyn_19 NE(yyn,19) :s(switch_yyn_20) * { (yyval) = (yyvsp[(1) - (1)]); } yyval = yyvsa[yyvsp] :(switch_yyn_end) * ****************************************************************************** switch_yyn_20 NE(yyn,20) :s(switch_yyn_21) * (yyval) = sig_Signature; yyval = sig_Signature :(switch_yyn_end) * ************************************************************************** switch_yyn_21 NE(yyn,21) :s(switch_yyn_22) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_22 NE(yyn,22) :s(switch_yyn_23) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_23 NE(yyn,23) :s(switch_yyn_24) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_24 NE(yyn,24) :s(switch_yyn_25) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_25 NE(yyn,25) :s(switch_yyn_26) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ********************************************************************** switch_yyn_26 NE(yyn,26) :s(switch_yyn_27) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_27 NE(yyn,27) :s(switch_yyn_28) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_28 NE(yyn,28) :s(switch_yyn_29) EQ(initflag,0) :f(switch_yyn_8_skip_1) yywarn("Compiler directive outside initialization") switch_yyn_8_skip_1 * REVERSED DJD tmp1 = yyvsa[yyvsp - 4] tmp2 = yyvsa[yyvsp - 2] yyval = mknode('TYPESIGNATURE,tmp1,tmp2,NIL,NIL,NIL,NIL') ts_string_max(yyval) = -1 ts_simple_type(yyval) = yyvsa[yyvsp - 6] :(switch_yyn_end) * ************************************************************************ switch_yyn_29 NE(yyn,29) :s(switch_yyn_30) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_30 NE(yyn,30) :s(switch_yyn_31) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ***************************************************************************** switch_yyn_31 NE(yyn,31) :s(switch_yyn_32) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * **************************************************************************** switch_yyn_32 NE(yyn,32) :s(switch_yyn_33) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ********************************************************************** switch_yyn_33 NE(yyn,33) :s(switch_yyn_34) * { (yyval) = NIL; } yyval = NIL :(switch_yyn_end) * ********************************************************************** switch_yyn_34 NE(yyn,34) :s(switch_yyn_35) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" NE(initflag,FALSE) :s(sw_34_nowarn) yywarn("Compiler directive outside initialization") sw_34_nowarn debug = " HELLO GOODBYE yyvsp = " yyvsp " (should be >= 3)" debug = "DATATYPE(yyvsa[yyvsp - 3]) = " DATATYPE(yyvsa[yyvsp + 3]) eq(id_str_table_index(yyvsa[yyvsp - 3]),idx_standard) :f(sw_34_002) num_arg = yyvsa[yyvsp + 1] eq(id_str_table_index(yyvsa[yyvsp - 2]),indx_New) :f(sw_34_003) yyval = special(STD_NEW,num_arg) :(sw_34_099) sw_34_003 eq(id_str_table_index(yyvsa[yyvsp - 2]),indx_ptr_New) :f(sw_34_004) yyval = special(PTR_NEW,num_arg) :(sw_34_099) sw_34_004 eq(id_str_table_index(yyvsa[yyvsp - 2]),indx_init_New) :f(sw_34_005) yyval = special(INIT_NEW,num_arg) :(sw_34_099) sw_34_005 eq(id_str_table_index(yyvsa[yyvsp - 2]),indx_ValueOf) :f(sw_34_006) yyval = special(STD_VALUEOF,num_arg) :(sw_34_099) sw_34_006 eq(id_str_table_index(yyvsa[yyvsp - 2]),indx_assign) :f(sw_34_007) yyval = special(STD_ASSIGN,num_arg) :(sw_34_099) sw_34_007 eq(id_str_table_index(yyvsa[yyvsp - 2]),indx_put) :f(sw_34_008) yyval = special(STD_PUT,num_arg) :(sw_34_099) sw_34_008 eq(id_str_table_index(yyvsa[yyvsp - 2]),indx_Callcc) :f(sw_34_009) yyval = special(STD_CALLCC,num_arg) :(sw_34_099) sw_34_009 eq(id_str_table_index(yyvsa[yyvsp - 2]),indx_Array) :f(sw_34_010) yyval = special(STD_ARRAY,num_arg) :(sw_34_099) sw_34_010 eq(id_str_table_index(yyvsa[yyvsp - 2]),indx_passign) :f(sw_34_011) yyval = special(STD_PASSIGN,num_arg) :(sw_34_099) sw_34_011 eq(id_str_table_index(yyvsa[yyvsp - 2]),indx_massign) :f(sw_34_012) yyval = special(STD_MASSIGN,num_arg) :(sw_34_099) sw_34_012 yywarn("Bad standard directive"); yyval = NIL sw_34_002 yywarn("Compiler directive not understood") yyval = NIL :(switch_yyn_end) * vfree((yyvsp[(2) - (5)])); vfree((yyvsp[(3) - (5)])); sw_34_099 :(switch_yyn_end) * ********************************************************************* switch_yyn_35 NE(yyn,35) :s(switch_yyn_36) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_36 NE(yyn,36) :s(switch_yyn_37) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_37 NE(yyn,37) :s(switch_yyn_38) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_38 NE(yyn,38) :s(switch_yyn_39) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_39 NE(yyn,39) :s(switch_yyn_40) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_40 NE(yyn,40) :s(switch_yyn_41) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_41 NE(yyn,41) :s(switch_yyn_42) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_42 NE(yyn,42) :s(switch_yyn_43) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_43 NE(yyn,43) :s(switch_yyn_44) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ********************************************************************* switch_yyn_44 NE(yyn,44) :s(switch_yyn_45) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_45 NE(yyn,45) :s(switch_yyn_46) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_46 NE(yyn,46) :s(switch_yyn_47) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_47 NE(yyn,47) :s(switch_yyn_48) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_48 NE(yyn,48) :s(switch_yyn_49) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_49 NE(yyn,49) :s(switch_yyn_50) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_50 NE(yyn,50) :s(switch_yyn_52) * { (yyval) = (yyvsp[(1) - (1)]); } yyval = yyvsa[yyvp] :(switch_yyn_end) * ************************************************************************** switch_yyn_52 NE(yyn,52) :s(switch_yyn_53) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ********************************************************************** switch_yyn_53 NE(yyn,53) :s(switch_yyn_54) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_54 NE(yyn,54) :s(switch_yyn_55) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_55 NE(yyn,55) :s(switch_yyn_56) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_56 NE(yyn,56) :s(switch_yyn_57) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ********************************************************************* switch_yyn_57 NE(yyn,57) :s(switch_yyn_58) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_58 NE(yyn,58) :s(switch_yyn_59) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_59 NE(yyn,59) :s(switch_yyn_60) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ********************************************************************** switch_yyn_60 NE(yyn,60) :s(switch_yyn_61) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_61 NE(yyn,61) :s(switch_yyn_62) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_62 NE(yyn,62) :s(switch_yyn_63) * { (yyval) = (yyvsp[(1) - (1)]); } * REVERSED DJD yyval = yyvsa[yyvsp] :(switch_yyn_end) * *************************************************************************** switch_yyn_63 NE(yyn,63) :s(switch_yyn_64) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_64 NE(yyn,64) :s(switch_yyn_65) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_65 NE(yyn,65) :s(switch_yyn_66) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_66 NE(yyn,66) :s(switch_yyn_67) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_67 NE(yyn,67) :s(switch_yyn_68) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_68 NE(yyn,68) :s(switch_yyn_69) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_69 NE(yyn,69) :s(switch_yyn_70) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * **************************************************************************** switch_yyn_70 NE(yyn,70) :s(switch_yyn_71) * { (yyval) = addright((yyvsp[(1) - (4)]),(yyvsp[(3) - (4)])); } * REVERSED DJD tmp1 = yyvsa[yyvp - 3] tmp2 = yyvsa[yyvp - 1] yyval = addright(tmp1,tmp2) :(switch_yyn_end) * *************************************************************************** switch_yyn_71 NE(yyn,71) :s(switch_yyn_72) * { (yyval) = mklist((yyvsp[(1) - (2)]), -1); } * REVERSED DJD tmp1 = yyvsa[yyvsp - 1] tmp2 = -1 yyval = mklist('tmp1,tmp2') :(switch_yyn_end) * ************************************************************************** switch_yyn_72 NE(yyn,72) :s(switch_yyn_73) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ********************************************************************** switch_yyn_73 NE(yyn,73) :s(switch_yyn_74) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ********************************************************************* switch_yyn_74 NE(yyn,74) :s(switch_yyn_75) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_75 NE(yyn,75) :s(switch_yyn_76) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ********************************************************************* switch_yyn_76 NE(yyn,76) :s(switch_yyn_77) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_77 NE(yyn,77) :s(switch_yyn_78) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_78 NE(yyn,78) :s(switch_yyn_79) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_79 NE(yyn,79) :s(switch_yyn_80) * { (yyval) = mknode(FUNCSIGNATURE, (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]), NIL); } * REVERSED DJD tmp1 = yyvsa[yyvsp - 4] tmp2 = yyvsa[yyvsp - 4] yyval = mknode('FUNCSIGNATURE,tmp1,tmp2, NIL') :(switch_yyn_end) * *********************************************************************** switch_yyn_80 NE(yyn,80) :s(switch_yyn_81) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * **************************************************************************** switch_yyn_81 NE(yyn,81) :s(switch_yyn_82) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_82 NE(yyn,82) :s(switch_yyn_83) * initfld(&((yyvsp[(1) - (3)])->signature), (yyvsp[(2) - (3)])); * (yyval) = (yyvsp[(1) - (3)]); debug = "YYN 82 yyvsp - 2 = " yyvsp - 2 LT(yyvsp,2) :(stats_out) debug = "DATATYPE(yyvsa[yyvsp - 2]) = " DATATYPE(yyvsa[yyvsp - 2]) debug = "DATATYPE(yyvsa[yyvsp - 1]) = " DATATYPE(yyvsa[yyvsp - 1]) signature(yyvsa[yyvsp - 2]) = yyvsa[yyvsp - 1] yyval = yyvsa[yyvsp] :(switch_yyn_end) * *************************************************************************** switch_yyn_83 NE(yyn,83) :s(switch_yyn_84) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_86 NE(yyn,86) :s(switch_yyn_87) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_87 NE(yyn,87) :s(switch_yyn_88) * { (yyval) = (yyvsp[(1) - (2)]); } yyval = yyvsa[yyvsp - 1] :(switch_yyn_end) * *************************************************************************** switch_yyn_88 NE(yyn,88) :s(switch_yyn_89) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_89 NE(yyn,89) :s(switch_yyn_90) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_90 NE(yyn,90) :s(switch_yyn_91) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_91 NE(yyn,91) :s(switch_yyn_92) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_92 NE(yyn,92) :s(switch_yyn_93) yyval = yyvsa[yyvsp - 2] debug = "switch_yyn_92 yyval = " yyval :(switch_yyn_end) * ************************************************************************ switch_yyn_93 NE(yyn,93) :s(switch_yyn_94) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_94 NE(yyn,94) :s(switch_yyn_95) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * **************************************************************************** switch_yyn_95 NE(yyn,95) :s(switch_yyn_96) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * **************************************************************************** switch_yyn_96 NE(yyn,96) :s(switch_yyn_97) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * **************************************************************************** switch_yyn_97 NE(yyn,97) :s(switch_yyn_98) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_98 NE(yyn,98) :s(switch_yyn_99) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_99 NE(yyn,99) :s(switch_yyn_100) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_100 NE(yyn,100) :s(switch_yyn_101) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_101 NE(yyn,101) :s(switch_yyn_102) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_102 NE(yyn,102) :s(switch_yyn_103) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_103 NE(yyn,103) :s(switch_yyn_104) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_104 NE(yyn,104) :s(switch_yyn_105) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_105 NE(yyn,105) :s(switch_yyn_106) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_106 NE(yyn,106) :s(switch_yyn_107) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_107 NE(yyn,107) :s(switch_yyn_108) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_108 NE(yyn,108) :s(switch_yyn_109) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_109 NE(yyn,109) :s(switch_yyn_110) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_110 NE(yyn,110) :s(switch_yyn_111) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_111 NE(yyn,111) :s(switch_yyn_112) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_112 NE(yyn,112) :s(switch_yyn_113) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_113 NE(yyn,113) :s(switch_yyn_114) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_114 NE(yyn,114) :s(switch_yyn_115) * { (yyval) = (yyvsp[(1) - (2)]); } * REVERSED DJD yyval = yyvsa[yyvsp - 1] :(switch_yyn_end) * ************************************************************************* switch_yyn_115 NE(yyn,115) :s(switch_yyn_116) * { (yyval) = emptylist(); } yyval = emptylist() :(switch_yyn_end) * *************************************************************************** switch_yyn_116 NE(yyn,116) :s(switch_yyn_117) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_117 NE(yyn,117) :s(switch_yyn_118) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * **************************************************************************** switch_yyn_118 NE(yyn,118) :s(switch_yyn_119) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * **************************************************************************** switch_yyn_119 NE(yyn,119) :s(switch_yyn_120) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_120 NE(yyn,120) :s(switch_yyn_121) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ********************************************************************** switch_yyn_121 NE(yyn,121) :s(switch_yyn_122) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) switch_yyn_122 NE(yyn,122) :s(switch_yyn_123) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_123 NE(yyn,123) :s(switch_yyn_124) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * **************************************************************************** switch_yyn_124 NE(yyn,124) :s(switch_yyn_125) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_125 NE(yyn,125) :s(switch_yyn_126) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_126 NE(yyn,126) :s(switch_yyn_127) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_127 NE(yyn,127) :s(switch_yyn_128) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_128 NE(yyn,128) :s(switch_yyn_129) yyval = emptylist() :(switch_yyn_end) * ********************************************************************** switch_yyn_129 NE(yyn,129) :s(switch_yyn_130) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_130 NE(yyn,130) :s(switch_yyn_131) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_131 NE(yyn,131) :s(switch_yyn_132) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_132 NE(yyn,132) :s(switch_yyn_133) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_133 NE(yyn,133) :s(switch_yyn_134) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_134 NE(yyn,134) :s(switch_yyn_135) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_135 NE(yyn,135) :s(switch_yyn_136) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * **************************************************************************** switch_yyn_136 NE(yyn,136) :s(switch_yyn_137) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_137 NE(yyn,137) :s(switch_yyn_138) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * **************************************************************************** switch_yyn_138 NE(yyn,138) :s(switch_yyn_139) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_139 NE(yyn,139) :s(switch_yyn_140) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *********************************************************************** switch_yyn_140 NE(yyn,140) :s(switch_yyn_141) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_141 NE(yyn,141) :s(switch_yyn_142) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************* switch_yyn_142 NE(yyn,142) :s(switch_yyn_143) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_143 NE(yyn,143) :s(switch_yyn_144) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_144 NE(yyn,144) :s(switch_yyn_145) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * *************************************************************************** switch_yyn_145 NE(yyn,145) :s(switch_yyn_146) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************** switch_yyn_146 NE(yyn,146) :s(switch_yyn_147) * { (yyval) = mknode(OPRID,(yyvsp[(1) - (2)])); } * REVERSED DJD tmp1 = yyvsa[yyvsp + 1] yyval = mknode('OPRID,tmp1') :(switch_yyn_end) * *********************************************************************** switch_yyn_147 NE(yyn,147) :s(switch_yyn_148) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" :(switch_yyn_end) * ************************************************************************ switch_yyn_148 NE(yyn,148) :s(switch_yyn_end) reduce = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" debug = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" progress = "SWITCH YYN = " yyn " NOT IMPLEMENTED YET" switch_yyn_end yyinfo("At LABEL switch_yy_end") * *************************************************************************** * User semantic actions sometimes alter yychar, and that requires * that yytoken be updated with the new translation. We take the * approach of translating immediately before every use of yytoken. * One alternative is translating here after every semantic action, * but that translation would be missed if the semantic action invokes * YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or * if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an * incorrect destructor might then be invoked immediately. In the * case of YYERROR or YYBACKUP, subsequent parser actions might lead * to an incorrect destructor call or verbose syntax error message * before the lookahead is translated. */ * YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); yypopstack(yylen) * CHANGED yylen from 0 to 1 DJD * yylen = 0 * YY_STACK_PRINT (yyss, yyssp); * REVERSED DJD NOT SURE OF ORDER * PUSH VALUE STACK rpt_reduce("push value stack 2A",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyvsp = yyvsp + 1 rpt_reduce("push value stack 2B",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyvsa[yyvsp] = yylval rpt_reduce("push value stack 2C",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) * SWITCHED ORDER * Now `shift' the result of the reduction. Determine what state * that goes to, based on the state we popped back to and the rule * number reduced by. */ rpt_reduce("yyr1[yyn] A",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyn = yyr1[yyn] rpt_reduce("yyr1[yyn] B",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yystate = yypgoto[yyn - YYNTOKENS] + yyssa[yyssp] yystate = LE(0,yystate) LE(yystate,YYLAST) EQ(yycheck[yystate] , yyssa[yyssp]) yytable[yystate] :s(yyn_sk_state_2) yystate = yydefgoto[yyn - YYNTOKENS] yyn_sk_state_2 :(yynewstate) * *********************************************************************** * ------------------------------------. * | yyerrlab -- here on detecting error | * `------------------------------------*/ yyerrlab yyinfo("At LABEL yyerrlab") errlab_cnt = errlab_cnt + 1 * Make sure we have latest lookahead translation. See comments at * user semantic actions for why this is necessary. yytoken = IDENT(yychar,YYEMPTY) YYEMPTY :s(yyerr_sk1) yytoken = yytranslate(yychar); yyerr_sk1 * If not already recovering from an error, report this error. */ NE(yyerrstatus,0) :s(yyerr_sk2) yynerrs = yynerrs + 1 yyperror("Syntax Error 3") yyerr_sk2 NE(yyerrstatus , 3) :s(yyerr_sk3) * If just tried and failed to reuse lookahead token after an error, discard it. / LE(yychar , YYEOF) :f(yyerr_sk4) * Return failure if at end of input. */ EQ(yychar , YYEOF) :(yyabortlab) yyerr_sk4 yychar = DIFFER(yychar,YYEOF) YYEMPTY yyerr_sk3 * Else will try to reuse lookahead token after shifting the error. :(yyerrlab1) * **************************************************************************** yyerrorlab: debug = "yyerrorlab NOT IMPLEMENTED YET" progress = "yyerrorlab NOT IMPLEMENTED YET" reduce = "yyerrorlab NOT IMPLEMENTED YET" * **************************************************************************** * -------------------------------------------------------------. * | yyerrlab1 -- common code for both syntax error and YYERROR. | * `-------------------------------------------------------------*/ yyerrlab1 yyinfo("At LABEL yyerrlab1") errlab1_cnt = errlab1_cnt + 1 yyerrstatus = 3; * Each real token shifted decrements this. yyerr1_loop yyinfo("At LABEL yyerr1_loop") rpt_reduce("yypact[yystate] 2A",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyn = yypact[yystate] rpt_reduce("yypact[yystate] 2B",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yypact_value_is_default(yyn) :f(yyerr1_sk4) yyn = yyn + YYTERROR LE(0,yyn) :f(yyerr1_sk5) LE(yyn,YYLAST) :f(yyerr1_sk5) EQ(yycheck[yyn],YYTERROR) :f(yyerr_sk5) yyn = yytable[yyn] LT(0 , yyn) :s(yyerr1_break) yyerr1_sk5 yyerr1_sk4 * Pop the current state because it cannot handle the error token. EQ( yyss , 0) :(yyabortlab) yypopstack(1) yystate = yyssa[yyssp] :(yyerr1_loop) yyerr1_break * YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN * PUSH VALUE STACK rpt_reduce("push value stack 3A",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyvsp = yyvsp + 1 rpt_reduce("push value stack 3B",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) yyvsa[yyvsp] = yylval rpt_reduce("push value stack 3C",yyn,yylen,yyvsp,yyval,yystate,yytoken,yylval,yychar) * YY_IGNORE_MAYBE_UNINITIALIZED_END debug = "err1 Shifting" yystate = yyn :(yynewstate) * ************************************************************************** * -------------------------------------. * | yyacceptlab -- YYACCEPT comes here. | * `-------------------------------------*/ yyacceptlab yyinfo("PROGRAM ACCEPTED!!!") yyresult = 0 :(yyreturn) * ************************************************************************** * -----------------------------------. * | yyabortlab -- YYABORT comes here. | * `-----------------------------------*/ yyabortlab abortlab_cnt = abortlab_cnt + 1 yyinfo("PROGRAM ABORTED!!!") yyresult = 1 :(yyreturn) * *************************************************************************** * -------------------------------------------------. * | yyexhaustedlab -- memory exhaustion comes here. | * `-------------------------------------------------*/ yyexhaustedlab debug = "memory exhausted" yyresult = 2 * Fall through. */ * #endif yyreturn yyinfo("At LABEL yyreturn") return_cnt = return_cnt + 1 * ************************************************************************** IDENT(yychar,YYEOF) :s(yyparse_ret_el) DIFFER(yychar,YYEMPTY) :f(yyparse_ret_el) * Make sure we have latest lookahead translation. See comments at * user semantic actions for why this is necessary. debug = "yyreturn A yychar = " yychar yytoken = yytranslate(yychar) debug = "yyreturn B yychar = " yychar " yytoken = " yytoken yyparse_ret_el yyinfo("At LABEL yyparse_ret_el") yypopstack(yylen) * ************************************************************************** yy_ret_loop yyinfo("At LABEL yy_ret_loop") yypopstack(1) NE(yyss,0) :s(yy_ret_loop) * ***************************************************************************** * ********************************************************************** debug = "BEFORE YYPARSE RETURN yyresult = " yyresult yyinfo("RETURNING From parse()") yyparse = yyresult :(RETURN) * ********************************************************************** * END yyparse() * YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) * ************************************************************************** * yypopstack yyvsp = yyvsp - n yyssp = yyssp - n :(RETURN) * ********************************************************************* * yypact_value_is_default(yystate) yypact_value_is_default EQ(yystate , -295) :s(RETURN)f(FRETURN) * ************************************************************************* * #define YYTRANSLATE(YYX) yytranslate LE(yyx,YYMAXUTOK) :f(yytranslate2) GE(yyx,0) :f(yytranslate2) yytranslate1 debug = "yytranslate1 yyx = " yyx debug ="yytranslate1 tran = " yytranslate_arr[yyx] yytranslate = yytranslate_arr[yyx] :(RETURN) yytranslate2 debug = "yytranslate2 yyx = " yyx debug = "yytranslate2 YYUNDEFOK = " YYUNDEFOK yytranslate = YYUNDEFTOK :(RETURN) * ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate1 yytranslate[YYX] : YYUNDEFTOK) * ***************************************************************************** * ********************************************************************** * is_present(x) is_present ident(x,PRESENT) :s(RETURN)f(FRETURN) rpt_reduce yyn_compute_cnt = yyn_compute_cnt + 1 sz = 22 - SIZE(loc) sz = LT(sz,2) 2 sz1 = 8 - SIZE(yyn) sz1 = LT(sz1,2) 2 sz2 = 8 - SIZE(yylen) sz2 = LT(sz2,2) 2 it4 = CONVERT(yylval,"STRING") sz3a = 8 - SIZE(it4) sz3a = LT(sz3a,2) 2 it = CONVERT(yyval,"STRING") sz3 = 18 - SIZE(it) sz3 = LT(sz3,2) 2 sz4 = 10 - SIZE(yytoken) sz4 = LT(sz4,2) 2 sz5 = 8 - SIZE(yystate) sz5 = LT(sz5,2) 2 sz6 = 8 - SIZE(yyvsp) sz6 = LT(sz6,2) 2 sz8 = 8 - SIZE(yyssp) sz8 = LT(sz8,2) 2 sz11 = 8 - SIZE(yychar) sz11 = LT(sz11,2) 2 red_part_1 = loc DUPL(" ",sz) yychar DUPL(" ",sz11) yyn DUPL(" ",sz1) token_buffer DUPL(" ",16 - SIZE(token_buffer)) yylen DUPL(" ",sz2) it4 DUPL(" ",sz3a) it DUPL(" ",sz3) yytoken DUPL(" ",sz4) yystate DUPL(" ",sz5) yyvsp DUPL(" ",sz6) yyssp DUPL(" ",sz8) GE(yyvsp,0) GE(yyssp,0) :f(rpt_red_part) it2 = CONVERT(yyvsa[CONVERT(yyvsp,"INTEGER")],"STRING") sz10 = 18 - SIZE(it2) sz10 = LT(sz10,2) 2 it3 = CONVERT(yyssa[CONVERT(yyssp,"INTEGER")],"STRING") reduce = red_part_1 it2 DUPL(" ",sz10) it3 :(RETURN) rpt_red_part reduce = red_part_1 :(RETURN) dump_value_stack entry = 0 reduce = "============== VALUE STACK =====================" reduce = "i" DUPL(" ",10 - SIZE("i")) "yyvsa[i]" reduce = "================================================" dump_value_loop it = CONVERT(yyvsa[entry],"STRING") reduce = entry DUPL(" ",10 - SIZE(entry)) it entry = LE(entry,yyvsp) entry + 1 :s(dump_value_loop)f(RETURN) dump_state_stack entry = 0 reduce = "============== STATE STACK =====================" reduce = "i" DUPL(" ",10 - SIZE("i")) "yyssa[i]" reduce = "================================================" dump_state_loop it = CONVERT(yyssa[entry],"STRING") reduce = entry DUPL(" ",10 - SIZE(entry)) it entry = LE(entry,yyssp) entry + 1 :s(dump_state_loop)f(RETURN) * EXITING File pass1/parser/y_tab.sno * ENTERING File pass5d/RIC.sno * Initialize htable to contain opcodes and predefined location names */ * void init_RIC_table() * htable = table(200) * DATA('hrecord(id,val)') init_RIC_table i = 0 ric_init_loop DIFFER(op_code_table[i],NONE) add_RIC_table(op_code_table[i],i) i = LT(i,N_OP_CODES) i + 1 :s(ric_init_loop) * Special locations */ add_RIC_table("RS", RS) add_RIC_table("AR", AR) * activation record pointer */ add_RIC_table("SP", SP) * stack pointer */ add_RIC_table("GF", GF) * global frame pointer */ add_RIC_table("UN", UN) * undefined value constant */ add_RIC_table("SK", SK) * value sink */ add_RIC_table("RL", RL) * function result location */ add_RIC_table("TL", TL) * test result location */ add_RIC_table("C0", C0) * constant 0 */ add_RIC_table("C1", C1) * constant 1 */ add_RIC_table("C2", C2) * constant 2 */ add_RIC_table("C3", C3) * constant 3 */ add_RIC_table("C4", C4) * constant 4 */ add_RIC_table("T1", T1) * temporary 1 */ add_RIC_table("T2", T2) * temporary 2 */ * Types for DCL instruction */ add_RIC_table("ADDR", DCL_ADDR) add_RIC_table("INT", DCL_INT) add_RIC_table("FLOAT", DCL_FLOAT) add_RIC_table("DBL_FLOAT", DCL_DBL_FLOAT) * Kinds for HINT instruction */ add_RIC_table("OPT", OPT) add_RIC_table("NP", NP) add_RIC_table("PT", PT) add_RIC_table("AL", AL) add_RIC_table("DEA", DEA) add_RIC_table("NSC", NSC) add_RIC_table("STSZ", STSZ) add_RIC_table("DEAD", DEAD) add_RIC_table("GFU",GFU) add_RIC_table("LIVE",LIVE) add_RIC_table("ET", ET) add_RIC_table("ONS", ONS) :(RETURN) * Add entry with name nm and value vl to the hash table. No check is made */ * to see whether it is already there. */ * void add_RIC_table(nm, val)it add_RIC_table it = hrecord(nm,val) htable[nm] = it :(RETURN) * EXITING File pass5d/RIC.sno * ENTERING File pass1/scanner/scan.sno * ************************************************************************ * yylex(),c,cc,token_buffer,outtok,saw_quote yylex LT(stktop,0) :s(retry) outtok = scanstk[stktop] stktop = stktop - 1 :(out) retry token_buffer = "" c = scansavc cc = cclass(c) * yylval = "" * Don't worry about position in file for now!!! DJD 9/10/2015 yylexwhtcc NE(cc,WHTCC) :s(yylex_main) c = getchr() cc = cclass(c) :(yylexwhtcc) * *********************************************************************** yylex_main * ************************************************************************** * BIG SWITCH debug = "YYLEX SWITCH cc = " cc NE(cc,LETCC) :s(yylex_sk_squcc) yylex_letcc_loop token_buffer = token_buffer c c = getchr() cc = cclass(c) EQ(cc,LETCC) :s(yylex_letcc_loop)f(yylex_exit_dig) EQ(cc,DIGCC) :s(yylex_letccl_loop)f(yylex_exit_dig) yylex_exit_dig tokenlgth = SIZE(token_buffer) outtok = reschk_id(token_buffer,WORDID) yycat = "ID" yydescr = NE(outtok,WORDID) "RESERVED ID" :f(yylex_sk_end) yylval = outtok :(yylex_sk_end) yylex_sk_squcc NE(cc,SQUCC) :s(yylex_sk_dqucc) * ************************************************************************* * single quote */ saw_quote = FALSE squcc_loop EQ(cc, EOFCC) :f(squcc_sk_0001) IDENT( c , '\n' ) :f(squcc_sk_0001) yyperror("Unterminated quoted identifier") :(yylex_sk_end) squcc_sk_0001 DIFFER(c , '\\') :s(squcc_sk_0002) c = getchr() token_buffer = IDENT(c,'t') token_buffer '\t' :s(yylex_sk_end) token_buffer = IDENT(c,'n') token_buffer '\n' :s(yylex_sk_end) token_buffer = IDENT(c,'r') token_buffer '\r' :s(yylex_sk_end) token_buffer = token_buffer c :s(yylex_sk_end) squcc_sk_0002 token_buffer = token_buffer c * SQUCC_SK_0003 c = getchr() cc = cclass(c) EQ(saw_quote,FALSE) :f(squcc_sk_0004) NE(cc , SQUCC) :s(squcc_sk_0005) * ignore this character and keep scanning */ c = getchr() cc = cclass(c) :(squcc_sk_0004) squcc_K_0005 * end of identifier */ :(yylex_sk_end) squcc_sk_0004 saw_quote = EQ(cc,SQUCC) TRUE :(squcc_loop) outtok = WORDID yylval = stt_enter(token_buffer,SIZE(token_buffer)) :(yylex_sk_end) yylex_sk_dqucc NE(cc,DQUCC) :(yylex_sk_sepcc) * ************************************************************************** saw_quote = FALSE dqucc_loop EQ(cc, EOFCC) :f(dqucc_sk_0001) IDENT( c , '\n' ) :f(dqucc_sk_0001) yyperror("Unterminated string") :(yylex_sk_end) dqucc_sk_0001 DIFFER(c , '\\') :s(dqucc_sk_0002) c = getchr() token_buffer = IDENT(c,'t') token_buffer '\t' :s(yylex_sk_end) token_buffer = IDENT(c,'n') token_buffer '\n' :s(yylex_sk_end) token_buffer = IDENT(c,'r') token_buffer '\r' :s(yylex_sk_end) token_buffer = token_buffer c :s(yylex_sk_end) dqucc_sk_0002 token_buffer = token_buffer c * DQUCC_SK_0003 c = getchr() cc = cclass(c) EQ(saw_quote,FALSE) :f(dqucc_sk_0004) NE(cc , DQUCC) :s(dqucc_sk_0005) * ignore this character and keep scanning */ c = getchr() cc = cclass(c) :(dqucc_sk_0004) dqucc_sk_0005 * end of identifier */ :(yylex_sk_end) dqucc_sk_0004 saw_quote = EQ(cc,DQUCC) TRUE :(dqucc_loop) outtok = QSTRING * allocate a buffer for the string and return it */ yylval = token_buffer :(yylex_sk_end) :(yylex_sk_end) yylex_sk_sepcc NE(cc,SEPCC) :s(yylex_sk_digcc) * ************************************************************************* * case SEPCC: * token_buffer = scansavc = c; * scansavc = c token_buffer = token_buffer c c = getchr() :(yylex_sep_001) cc = cclass(c) DIFFER(scansavcc,'(') :s(yylex_sep_001) DIFFER(c,'*') :(yylex_sep_001) rpt_err("COMMENTS NOT IMPLEMENTED YET") yylex_sep_001 yycat = "SEP" outtok = token_buffer yydescr = yyval :(yylex_sk_end) yylex_sk_digcc NE(cc,DIGCC) :s(yylex_sk_oprcc) * ********************************************************************** yylex_dig_loop * do { token_buffer = token_buffer c c = getchr() cc = cclass(c) EQ( cc , DIGCC) :s(yylex_dig_loop) EQ( cc , LETCC ) :s(yylex_dig_loop) * token_buffer = token_buffer c outtok = UQSTRING * unquoted string */ * allocate buffer and return it, as for quoted strings */ yycat = "NUM" yydescr = "NUM" yylval = token_buffer numeral_cnt = numeral_cnt + 1 :(yylex_sk_end) yylex_sk_oprcc NE(cc,OPRCC) :s(yylex_sk_eofcc) * ********************************************************************* debug = "CASE YYLEX_OPRCC token_buffer = " token_buffer " c = " c " cc = " cc yylex_oprcc_loop token_buffer = token_buffer c c = getchr() cc = cclass(c) debug = "yylex opercc token_buffer = " token_buffer " c = " c " cc = " cc EQ( cc , OPRCC ) :s(yylex_oprcc_loop) tokenlgth = SIZE(token_buffer) outtok = reschk_op(token_buffer,OPID) debug = "yylex opercc outtk = " outtok yycat = "OP" yydescr = NE(outtok,OPID) "RESERVED OP" :f(yylex_sk_end) yylval = outtok :(yylex_sk_end) yylex_sk_eofcc NE(cc,EOFCC) :s(yylex_sk_badcc) * ************************************************************************ scansavc = '\n' * Set things up for core image to be subsequently */ * restarted */ debug = "YYLEX EOFEOFEOF" token_buffer = yylex = EOF :(RETURN) :(yylex_sk_end) yylex_sk_badcc NE(cc,BADCC) :s(yylex_sk_end) * *********************************************************************** c = getchr() scansavc = c :(retry) * ************************************************************************** yylex_sk_end * * yylex = outtok * token_buffer = "" scansavc = c out debug = "yylex out yylex = " outtok " token_buffer = " token_buffer " scansavc = " scansavc sz = 8 - SIZE(token_buffer) sz = LT(sz,2) 2 it = CONVERT(yydescr,'STRING') sz2 = 8 - SIZE(yycat) sz2 = LT(sz2,2) 2 sz3 = 8 - SIZE(outtok) sz3 = LT(sz3,2) 2 it5 = CONVERT(yyval,"STRING") sz4 = 18 - SIZE(it5) sz4 = LT(sz4,2) 2 sz4a = 8 - SIZE(yylval) sz4 = LT(sz4a,2) 2 sz5 = 18 - SIZE(it) sz5 = LT(sz5,2) 2 sz6 = 8 - SIZE(yyvsp) sz6 = LT(sz6,2) 2 sz8 = 8 - SIZE(yyssp) sz8 = LT(sz8,2) 2 prog_part1 = token_buffer DUPL(" ",sz) yycat DUPL(" ",sz2) outtok DUPL(" ",sz3) it5 DUPL(" ",sz4) yylval DUPL(" ",sz4a) it DUPL(" ",sz5) yyvsp DUPL(" ",sz6) yyssp DUPL(" ",sz8) GE(yyvsp,0) GE(yyvs,0) GE(yyssp,0) GE(yyss,0) :f(yylex_part_rpt) it2 = CONVERT(yyvsa[yyvsp],"STRING") sz10 = 18 - SIZE(it2) sz10 = LT(sz10,2) 2 it3 = CONVERT(yyssa[yyvs],"STRING") progress = prog_part1 it2 DUPL(" ",sz10) it3 :(yylex_all) yylex_part_rpt progress = prog_part1 "Nothing" yylex_all token_cnt = token_cnt + 1 yylex = outtok :(RETURN) * ************************************************************************** * # define cclass(c) ((c) == EOF ? EOFCC : cctab[c]) cclass debug = "cclass1 c = " c DIFFER(c,"\n") :s(cclass_skip1a) cclass = WHTCC :(RETURN) cclass_skip1a DIFFER(c,"\t") :s(cclass_skip1b) cclass = WHTCC :(RETURN) cclass_skip1b DIFFER(c,EOF) :s(cclass_skip2) cclass = EOFCC :(RETURN) cclass_skip2 debug = "cclass2 c = " c cclass = cctab[c] :(RETURN) * **************************************************************************** * Fast version of c = getchr() */ * charfix() * #define getchr(c) (yycolno++, ((c = getchar()) < 32? charfix(c) : c)) * c = getchr() getchr debug = "getchr2 linebuf = " linebuf EQ(SIZE(linebuf),0) :f(getchr_sk2) * indicate new line (really 2 chars - snobol doesn't return new line linebuf = infile :f(getchr_sk) line_cnt = line_cnt + 1 debug = linebuf getchr = "\n" :(RETURN) getchr_sk2 linebuf LEN(1) . getchr = char_cnt = char_cnt + 1 DIFFER(getchr,tab_chr) :s(getchr_sk3) * handle tab character getchr = "\t" getchr_sk3 :(RETURN) getchr_sk getchr = EOF :(RETURN) * **************************************************************************** * reschk_id(p, dflt ) reschk_id debug = "reschk_id p = " p debug = "restab[p] = " restab[p] DIFFER(restab[p]) :f(reschk_id_empty) reserved_id_cnt = reserved_id_cnt + 1 reschk_id = restab[p] :(RETURN) reschk_id_empty yylval = stt_enter(p,SIZE(p)) yydescr = yylval reschk_id = dflt :(RETURN) * ************************************************************************* * reschk_op(p, dflt ) reschk_op debug = "reschk_op p = " p debug = "restab[p] = " restab[p] DIFFER(restab[p]) :f(reschk_op_empty) reserved_op_cnt = reserved_op_cnt + 1 reschk_op = restab[p] :(RETURN) reschk_op_empty yylval = stt_enter(p,SIZE(p)) yydescr = yylval reschk_op = dflt :(RETURN) * *************************************************************************** * EXITING File pass1/scanner/scan.sno * ENTERING File datatypes/consnodes_h2.sno * cn_tail(l) cn_tail cn_tail = cn_tl_field(l) :(RETURN) * cn_head(l) cn_head cn_head = cn_hd_field(l) :(RETURN) * is_null_cn(l) is_null_cn IDENT(l) :s(RETURN)f(FRETURN) * cn_sethead(nodeptr,fvalue) cn_sethead $nodeptr = ConsNode(fvalue,cn_tail($nodeptr)) :(RETURN) * cn_settail(nodeptr,list) cn_settail $nodeptr = ConsNode(cn_head($nodeptr),list) :(RETURN) * EXITING File datatypes/consnodes_h2.sno * ENTERING File datatypes/consnodes.sno * ConsNode * cn_cons(hd,tl) cn_cons cn_cons = ConsNode(tl,hd) :(return) * ConsNode * cn_del_hd(l) cn_del_hd cn_del_hd = cn_tail(l) :(return) * EXITING File datatypes/consnodes.sno * ENTERING File datatypes/stack_h.sno * push(x,$S) push $S = cn_cons(x,$S) :(return) * pop(S) pop pop = cn_del_hd($S) :(return) * top(S) top top =cn_head(S) :(return) * is_stempty(S) is_stempty cn_null(S) :s(return)f(freturn) * emptystack() emptystack emptystack = NIL :(return) * mark(S) mark mark = S :(return) * is_top_marked(S,mark) is_top_marked is_top_marked IDENT(S,mark) :s(return)f(freturn) * The following defines a loop construct to traverse a stack, starting */ * with the top */ * EXITING File datatypes/stack_h.sno * ENTERING File pass1/stt/stt.sno stt_enter sttnstrings = EQ(stt_table[stt_id],0) sttnstrings + 1 :f(stt_exists) stt_table[stt_id] = sttnstrings stt_enter = sttnstrings stt_unique_cnt = stt_unique_cnt + 1 OUTPUT = "ADDED stt_id = " stt_id " tab = " stt_table[stt_id] :(RETURN) stt_exists stt_reference_cnt = stt_reference_cnt + 1 OUTPUT = "FOUND stt_id = " stt_id " tab = " stt_table[stt_id] stt_enter = stt_table[stt_id] :(RETURN) * EXITING File pass1/stt/stt.sno * ENTERING File pass1/parser/initids.sno initids yyvline = 9999 * /* initialize string table indicees */ stt_enter("?",2) * /* Make sure index 0 is not used */ indx_passign = stt_enter("+=",3) indx_massign = stt_enter("-=",3) pend[0] = stt_enter(":=",3) indx_assign = pend[0] pend[4] = stt_enter("or",3) pend[3] = pend[4] pend[2] = pend[3] pend[1] = pend[2] indx_or = pend[1] pend[5] = stt_enter("and",4) indx_and = pend[5] pend[6] = stt_enter("not",4) indx_not = pend[6] indx_equals = stt_enter("=",2) indx_less = stt_enter("<",2) indx_le = stt_enter("<=",3) indx_ge = stt_enter(">=",3) indx_ne = stt_enter("<>",3) pend[7] = stt_enter(">",2) indx_greater = pend[7] indx_plus = stt_enter("+",2) indx_minus = pend[8] = stt_enter("-",2) indx_times = stt_enter("*",2) indx_divide = stt_enter("/",2) pend[9] = stt_enter("%",2) indx_mod = pend[9] indx_pconc = stt_enter("^+",3) pend[10] = stt_enter("^*",3) indx_sconc = pend[10] pend[11] = stt_enter("**",3) indx_exp = pend[11] pend[12] = stt_enter("^",2) indx_deref = pend[12] pend[13] = stt_enter(".",2) indx_subscr = pend[13] indx_New = stt_enter("New",4) indx_ptr_New = stt_enter("ptr_New",8) indx_init_New = stt_enter("init_New",9) indx_ValueOf = stt_enter("V",2) indx_First = stt_enter("First",6) indx_Last = stt_enter("Last",5) indx_Pred = stt_enter("Pred",5) indx_Succ = stt_enter("Succ",5) indx_Ord = stt_enter("Ord",4) indx_OrdInv = stt_enter("OrdInv",7) indx_Card = stt_enter("Card",5) indx_In = stt_enter("In",3) indx_Out = stt_enter("Out",4) indx_Boolean = stt_enter("Boolean",8) indx_true = stt_enter("True",5) indx_false = stt_enter("False",6) indx_Integer = stt_enter("Short",6) OUTPUT = "indx_Integer = " indx_Integer indx_Void = stt_enter("Void",5) indx_Array = stt_enter("Array",6) indx_Integer = stt_enter("Short",6) OUTPUT = "indx_Integer = " indx_Integer indx_put = stt_enter("put",4) indx_Callcc = stt_enter("Callcc",7) indx_size = stt_enter("size", 5) indx_empty = stt_enter("''",3) indx_simple = stt_enter("simple",7) indx_standard = stt_enter("standard",9) indx_inline = stt_enter("inline",7) indx_Mk = stt_enter("Mk",3) indx_Null = stt_enter("Null",5) id_Boolean = mknode("LETTERID, indx_Boolean") id_Void = mknode("LETTERID, indx_Void") id_Integer = mknode("LETTERID, indx_Integer") id_put = mknode("LETTERID, indx_put") id_ValueOf = mknode("LETTERID, indx_ValueOf") id_New = mknode("LETTERID, indx_New") id_size = mknode("LETTERID, indx_size") id_Null = mknode("LETTERID, indx_Null") id_times = mknode("LETTERID, indx_times") id_plus = mknode("LETTERID, indx_plus") * /* initialize default signatures */ * /* Note that since these can and will be shared they should not */ * /* be touched by the symbol table routine */ val_Boolean = lock( mknode("VALSIGNATURE,id_Boolean")) val_Integer = lock( mknode("VALSIGNATURE, id_Integer")) val_Void = lock( mknode("VALSIGNATURE,id_Void")) var_Void = lock( mknode("VARSIGNATURE,id_Void")) tmp1 = mknode("LETTERID,-1") tmp2 = mknode("VALSIGNATURE,tmp1") val_param = lock( mknode("PARAMETER,NIL,tmp2") ) tmp1 = mknode("LETTERID,-1") tmp2 = mknode("VARSIGNATURE,tmp1") var_param = lock( mknode("PARAMETER,NIL,tmp2") ) as_params = lock( mklist("var_param, val_param, -1") ) two_params = lock( mklist("val_param, val_param, -1") ) al_params = lock(mklist("var_param, var_param, -1") ) tmp1 = par_signature(val_param) sig_assign = lock( mknode("FUNCSIGNATURE, NIL, as_params,tmp1")) * /* inline */ tmp1 = par_signature(val_param) sig_pconc = lock( mknode('FUNCSIGNATURE, NIL, two_params,tmp1')) sig_sconc = sig_pconc sig_equals = lock( mknode('FUNCSIGNATURE, NIL, two_params,val_Boolean') ) sig_less = sig_equals sig_greater = sig_squals tmp1 = par_signature(var_param) tmp2 = emptylist() tmp3 = par_signature(val_param) tmp4 = mklist('var_param, -1') tmp5 = par_signature(val_param) sig_New = lock( mknode('FUNCSIGNATURE, NIL, tmp2,tmp1')) sig_const = lock( mknode('FUNCSIGNATURE, NIL, tmp2, tmp3')) sig_ValueOf = lock( mknode('FUNCSIGNATURE, NIL, tmp4, tmp5')) sig_Signature = lock(mknode('SIGNATURESIG')) sel_true = mknode('LETTERID,indx_true') sel_type(sel_true) = id_Boolean * initfld(&(sel_true->sel_type),id_Boolean) tmp1 = emptylist() sel_true = mknode('APPLICATION, sel_true, tmp1') lock( sel_true ) sel_false = mknode('LETTERID,indx_false') sel_type(sel_false) = id_Boolean * initfld(&(sel_false->sel_type),id_Boolean) sel_false = mknode('APPLICATION, sel_false, tmp1') lock( sel_false ) appl_Null = mknode('APPLICATION, id_Null, tmp1') yyvline = 0 :(RETURN) * EXITING File pass1/parser/initids.sno * ENTERING File stree/mknode.sno * NODE * mknode(va_alist),i,err,a1,a2,a3,a4,a5,a6,a7,it mknode i = 0 yyinfo("mknode va_alist = " va_alist) nodes_total_cnt = nodes_total_cnt + 1 nodes_made_cnt = nodes_made_cnt + 1 nodes = "mknode created va_alist = " va_alist TRACE("i","VALUE") TRACE("it","VALUE") va_alist = TRIM(va_alist) loopmknode va_alist skip_wht_nl = i = i + 1 va_alist id_or_num_lit . it = :f(skipmknode00003) nodes = "it = |" it "|" $("a" i) = it nodes = "Value of arg " i " = " CONVERT($it,"STRING") * debug = IDENT(DATATYPE($it),"INTEGER") EQ(i,1) "kind = " $it va_alist skip_wht_nl = va_alist "," = :s(loopmknode) mknodenoarg EQ($a1,LETTERID) :f(mknodenext0001) mknode = LetterIdNode($a1,yyvline,$a2) :(RETURN) mknodenext0001 EQ($a1,VALSIGNATURE) :f(mknodenext0002) mknode = ValSignatureNode($a1,yyvline,$a2) :(RETURN) mknodenext0002 EQ($a1,VARSIGNATURE) :f(mknodenext0003) mknode = VarSignatureNode($a1,yyvline,$a2) :(RETURN) mknodenext0003 EQ($a1,PARAMETER) :f(mknodenext0004) mknode = ParameterNode($a1,yyvline,$a2,$a3) :(RETURN) mknodenext0004 EQ($a1,LISTHEADER) :f(mknodenext0005) mknode = ListHeaderNode($a1,yyvline,$a2,$a3) :(RETURN) mknodenext0005 EQ($a1,FUNCSIGNATURE) :f(mknodenext0006) mknode = FSignatureNode($a1,yyvline,$a2,$a3,$a4) :(RETURN) mknodenext0006 EQ($a1,SIGNATURESIG) :f(mknodenext0007) mknode = SignatureSigNode($a1) :(RETURN) mknodenext0007 EQ($a1,APPLICATION) :f(mknodenext0008) mknode = ApplicationNode($a1,yyvline,$a2,$a3) :(RETURN) mknodenext0008 EQ($a1,BLOCKDENOTATION) :f(mknodenext0009) mknode = BlDenotationNode($a1,yyvline,$a2,$a3) :(RETURN) * ********* mknodenext0009 EQ($a1,DECLARATION) :f(mknodenext0010) mknode = DeclarationNode($a1,yyvline,$a2,$a3,$a4) :(RETURN) mknodenext0010 EQ($a1,RELEMENT) :f(mknodenext0011) mknode = RElementNode($a1,yyvline,$a2,$a3,$a4,$a5,$a6,$a7) :(RETURN) mknodenext0011 EQ($a1,TYPESIGNATURE) :f(mknodenext0012) mknode = TSignature($a1,yyvline,$a2,$a3,$a4,$a5,$a6,$a7) :(RETURN) mknodenext0012 EQ($a1,TSCOMPONENT) :f(mknodenext0013) mknode = TSComponentNode($a1,yyvline,$a2,$a3) :(RETURN) mknodenext0013 EQ($a1,DEFCHARSIGS) :f(mknodenext0014) mknode = DefCharSigNode($a1,yyvline,$a2,$a3,$a4,$a5) :(RETURN) mknodenext0014 EQ($a1,USELIST) :f(mknodenext0015) mknode = UseListNode($a1,yyvline,$a2,$a3) :(RETURN) mknodenext0015 EQ($a1,ENUMERATION) :f(mknodenext0016) mknode = EnumerationNode($a1,yyvline,$a2) :(RETURN) mknodenext0016 EQ($a1,EXTENSION) :f(mknodenext0017) mknode = ExtensionNode($a1,yyvline,$a2) :(RETURN) mknodenext0017 EQ($a1,PRODCONSTRUCTION) :f(mknodenext0018) mknode = ProductNode($a1,yyvline,$a2,$a3) :(RETURN) mknodenext0018 EQ($a1,RECORDCONSTRUCTION) :f(mknodenext0019) mknode = RecordonstructionNode($a1,yyvline,$a2) :(RETURN) mknodenext0019 EQ($a1,UNIONCONSTRUCTION) :f(mknodenext0020) mknode = UnionConstructionNode($a1,yyvline,$a2) :(RETURN) mknodenext0020 EQ($a1,WITHLIST) :f(mknodenext0021) mknode = WithListNode($a1,yyvline,$a2,$a3) :(RETURN) mknodenext0021 EQ($a1,MODPRIMARY) :f(mknodenext0022) mknode = ModPrimaryNode($a1,yyvline,$a2,$a3,$a4) :(RETURN) mknodenext0022 EQ($a1,EXPORTLIST) :f(mknodenext0023) mknode = ExportListNode($a1,yyvline,$a2,$a3,$a4,$a5,$a6,$a7) :(RETURN) mknodenext0023 EQ($a1,HIDELIST) :f(mknodenext0024) mknode = HideListNode($a1,yyvline,$a2,$a3,$a4,$a5,$a6,$a7) :(RETURN) mknodenext0024 EQ($a1,EXPORTRELEMENT) :f(mknodenext0025) mknode = ExportElementNode($a1,yyvline,$a2,$a3,$a4) :(RETURN) mknodenext0025 EQ($a1,ALLCONSTANTS) :f(mknodenext0026) mknode = AllConstantsNode($a1,yyvline) :(RETURN) mknodenext0026 EQ($a1,WORDELSE) :f(mknodenext0027) mknode = WordElseNode($a1,yyvline) :(RETURN) mknodenext0027 EQ($a1,WORDCAND) :f(mknodenext0028) mknode = WordCandNode($a1,yyvline) :(RETURN) mknodenext0028 EQ($a1,WORDCOR) :f(mknodenext0029) mknode = WordCorNode($a1,yyvline) :(RETURN) mknodenext0029 EQ($a1,GUARDEDLIST) :f(mknodenext0030) mknode = GuardedListNode($a1,yyvline,$a2) :(RETURN) mknodenext0030 EQ($a1,LOOPDENOTATION) :f(mknodenext0031) mknode = LoopDenotationNode($a1,yyvline,$a2) :(RETURN) mknodenext0031 EQ($a1,OPRID) :f(mknodenext0032) mknode = OpridNode($a1,yyvline,$a2) :(RETURN) mknodenext0032 EQ($a1,QSTR) :f(mknodenext0033) mknode = QStrNode($a1,yyvline,$a2) :(RETURN) mknodenext0033 EQ($a1,UQSTR) :f(mknodenext0034) mknode = UQStrNode($a1,yyvline,$a2) :(RETURN) mknodenext0034 EQ($a1,FUNCCONSTR) :f(mknodenext0035) mknode = FuncConstrNode($a1,yyvline,$a2,$a3,$a4) :(RETURN) mknodenext0035 EQ($a1,FREEVARNODE) :f(mknodenext0036) mknode = FreeVarNodeNode($a1,yyvline,$a2,$a3,$a4,$a5,$a6,$a7) :(RETURN) mknodenext0036 EQ($a1,EXTERNDEF) :f(mknodenext0037) mknode = ExternDefNode($a1,yyvline,$a2) :(RETURN) mknodenext0037 EQ($a1,REXTERNDEF) :f(mknodenext0038) mknode = RExternDef($a1,yyvline,$a2,$a3) :(RETURN) mknodenext0038 EQ($a1,DCSEXCEPTION) :f(mknodenext0039) mknode = Dcsxception($a1,yyvline) :(RETURN) * ************** mknodenext0039 skipmknode00001 debug = "mknode kind = " $a1 " not implemented." rpt_err(err) :(FRETURN) skipmknode00002 debug = "mknode loop error i =" i rpt_err(err) :(FRETURN) skipmknode00003 debug = "mknode argument missing" rpt_err(err) :(FRETURN) * EXITING File stree/mknode.sno * ENTERING File stree/listops.sno * * mklist( e1, ..., ek, -1 ) * * Paste e1 ... ek together into a list and return it. * If ei is NIL, it is ignored. * / * LIST mklist( va_alist )i,it,a1,a2,a3,a4.a5.a6,a7 mklist i = 0 yyinfo("mklist va_alist = " va_alist) lists_made_cnt = lists_made_cnt + 1 lists_total_cnt = lists_total_cnt + 1 lists_list = "mklist created va_alist = " va_alist mklist = emptylist() TRACE("i","VALUE") TRACE("it","VALUE") va_alist = TRIM(va_alist) loopmklist va_alist skip_wht_nl = i = i + 1 va_alist id_or_num_lit . it = :f(RETURN) addright(mklist, $it ) lists_list = "it = |" it "|" $("a" i) = it lists_list = "arg " i " = " CONVERT($it,"STRING") va_alist skip_wht_nl = va_alist "," = :s(loopmklist)f(RETURN) * LIST addright(l,e)p addright addright = l IDENT(e) :(RETURN) p = cn_cons(lock(e), NIL) addright = is_empty(l) list(p,p) :s(RETURN) cn_settail( lh_last(l) , p ) lh_last(l) = p addright = l :(RETURN) * EXITING File stree/listops.sno * ENTERING File main.sno main initids() :s(skipmain00001) rpt_err(00001) :(END) * no previous initialization has taken place skipmain00001 DIFFER(Gflag) init_RIC_table() :s(skipmain00002) * * Build syntax tree (pass 1). * / skipmain00002 OUTPUT = "in main.sno before yyparse()" * NOT SURE FUNCTION OF initflag initflag = TRUE p = "simple" tmp1 = emptylist() tmp2 = -1 tmp3 = mklist('p, tmp2') insrtptr = mknode("BLOCKDENOTATION, tmp1, tmp3") yyparse() OUTPUT = "in main.sno after yyparse()" OUTPUT = " GOOD SO FAR" :(stats_out) noinput rpt_err("NO INPUT Russell Source Code") :(END) rpt_err('End of Program Russell So Far') :(END) * EXITING File main.sno stats_out rpt_stats() END