📄 t1.c
字号:
if (yychar == YYEMPTY) {#if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Reading a token: ");#endif yychar = YYLEX; } /* Convert token to internal form (in yychar1) for indexing tables with */ if (yychar <= 0) /* This means end of input. */ { yychar1 = 0; yychar = YYEOF; /* Don't call YYLEX any more */#if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Now at end of input.\n");#endif } else { yychar1 = YYTRANSLATE(yychar);#if YYDEBUG != 0 if (yydebug) { fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); /* Give the individual parser a way to print the precise meaning of a token, for further debugging info. */#ifdef YYPRINT YYPRINT (stderr, yychar, yylval);#endif fprintf (stderr, ")\n"); }#endif } yyn += yychar1; if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) goto yydefault; yyn = yytable[yyn]; /* yyn is what to do for this token type in this state. Negative => reduce, -yyn is rule number. Positive => shift, yyn is new state. New state is final state => don't bother to shift, just return success. 0, or most negative number => error. */ if (yyn < 0) { if (yyn == YYFLAG) goto yyerrlab; yyn = -yyn; goto yyreduce; } else if (yyn == 0) goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */#if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);#endif /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval;#ifdef YYLSP_NEEDED *++yylsp = yylloc;#endif /* count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; yystate = yyn; goto yynewstate;/* Do the default action for the current state. */yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab;/* Do a reduction. yyn is the number of a rule to reduce with. */yyreduce: yylen = yyr2[yyn]; if (yylen > 0) yyval = yyvsp[1-yylen]; /* implement default value of the action */#if YYDEBUG != 0 if (yydebug) { int i; fprintf (stderr, "Reducing via rule %d (line %d), ", yyn, yyrline[yyn]); /* Print the symbols being reduced, and their result. */ for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) fprintf (stderr, "%s ", yytname[yyrhs[i]]); fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); }#endif switch (yyn) {case 2:#line 94 "t1.y"{ printf("!!!!! Adding code !!!!!\n"); jsAppendCode( yyvsp[0].ptr ); ; break;}case 3:#line 97 "t1.y"{ printf("Function: '%s'\n",yyvsp[-4].name ); yyval.ptr = newJSFunction( yyvsp[-4].name, yyvsp[-2].ptr, yyvsp[0].ptr ); ; break;}case 4:#line 98 "t1.y"{ printf("Statement\n"); yyval.ptr = yyvsp[0].ptr; ; break;}case 5:#line 99 "t1.y"{ yyerrok; yyval.ptr = 0L; ; break;}case 6:#line 102 "t1.y"{ yyval.ptr = 0L; ; break;}case 7:#line 103 "t1.y"{ yyval.ptr = yyvsp[0].ptr; ; break;}case 8:#line 106 "t1.y"{ printf("param '%s'\n", yyvsp[0].name); yyval.ptr = newJSParameter( yyvsp[0].name, 0L ); ; break;}case 9:#line 107 "t1.y"{ printf("param '%s\n", yyvsp[-2].name); yyval.ptr = newJSParameter( yyvsp[-2].name, yyvsp[0].ptr ); ; break;}case 10:#line 110 "t1.y"{ yyval.ptr = yyvsp[-1].ptr; ; break;}case 11:#line 113 "t1.y"{ yyval.ptr = 0L; ; break;}case 12:#line 114 "t1.y"{ printf(" "); yyval.ptr = newJSStatement( yyvsp[-1].ptr, yyvsp[0].ptr ); ; break;}case 13:#line 115 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 14:#line 118 "t1.y"{ printf(" "); yyval.ptr = 0L; ; break;}case 15:#line 119 "t1.y"{ printf("Simple IF\n"); yyval.ptr = 0L; ; break;}case 16:#line 120 "t1.y"{ printf("Complex IF\n"); yyval.ptr = 0L; ; break;}case 17:#line 121 "t1.y"{ printf(" "); yyval.ptr = 0L; ; break;}case 18:#line 122 "t1.y"{ printf(" "); yyval.ptr = 0L; ; break;}case 19:#line 123 "t1.y"{ printf(" "); yyval.ptr = 0L; ; break;}case 20:#line 124 "t1.y"{ printf(" "); yyval.ptr = 0L; ; break;}case 21:#line 125 "t1.y"{ printf(" "); yyval.ptr = 0L; ; break;}case 22:#line 126 "t1.y"{ printf(" "); yyval.ptr = 0L; ; break;}case 23:#line 127 "t1.y"{ printf(" "); yyval.ptr = 0L; ; break;}case 24:#line 128 "t1.y"{ printf(" "); yyval.ptr = 0L; ; break;}case 25:#line 129 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 26:#line 130 "t1.y"{ printf(" "); yyval.ptr = yyvsp[-1].ptr; ; break;}case 28:#line 134 "t1.y"{ printf(" "); ; break;}case 29:#line 137 "t1.y"{ printf("Condition\n"); ; break;}case 30:#line 140 "t1.y"{ printf(" "); ; break;}case 31:#line 143 "t1.y"{ printf(" "); ; break;}case 32:#line 146 "t1.y"{ printf(" "); yyval.ptr = 0L; ; break;}case 33:#line 147 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 34:#line 150 "t1.y"{ printf(" "); ; break;}case 35:#line 151 "t1.y"{ printf(" "); ; break;}case 36:#line 154 "t1.y"{ printf("Var: '%s'\n", yyvsp[0].name); ; break;}case 37:#line 155 "t1.y"{ printf("Var with Assignment: '%s'\n", yyvsp[-2].name); ; break;}case 38:#line 158 "t1.y"{ yyval.ptr = 0L; ; break;}case 39:#line 159 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 40:#line 162 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 41:#line 163 "t1.y"{ printf(" "); ; break;}case 42:#line 166 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 43:#line 167 "t1.y"{ printf("Assignment ( = )\n"); yyval.ptr = newJSAssignment( OP_ASSIGN, yyvsp[-2].ptr, yyvsp[0].ptr ); ; break;}case 44:#line 168 "t1.y"{ printf("Assignment ( *= )\n"); ; break;}case 45:#line 169 "t1.y"{ printf("Assignment ( /= )\n"); ; break;}case 46:#line 170 "t1.y"{ printf("Assignment ( += )\n"); ; break;}case 47:#line 171 "t1.y"{ printf("Assignment ( -= )\n"); ; break;}case 48:#line 172 "t1.y"{ printf("Assignment ( ^= )\n"); ; break;}case 49:#line 173 "t1.y"{ printf("Assignment ( %%= )\n"); ; break;}case 50:#line 174 "t1.y"{ printf("Assignment ( &= )\n"); ; break;}case 51:#line 175 "t1.y"{ printf("Assignment ( |= )\n"); ; break;}case 52:#line 178 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 53:#line 179 "t1.y"{ printf(" "); ; break;}case 54:#line 182 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 55:#line 183 "t1.y"{ printf(" "); yyval.ptr = newJSBinaryOperator( OP_OR, yyvsp[-2].ptr, yyvsp[0].ptr ); ; break;}case 56:#line 186 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 57:#line 187 "t1.y"{ printf(" "); yyval.ptr = newJSBinaryOperator( OP_AND, yyvsp[-2].ptr, yyvsp[0].ptr ); ; break;}case 58:#line 190 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 59:#line 191 "t1.y"{ printf(" "); yyval.ptr = newJSBinaryOperator( OP_BOR, yyvsp[-2].ptr, yyvsp[0].ptr ); ; break;}case 60:#line 194 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 61:#line 195 "t1.y"{ printf(" "); yyval.ptr = newJSBinaryOperator( OP_BXOR, yyvsp[-2].ptr, yyvsp[0].ptr ); ; break;}case 62:#line 198 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 63:#line 199 "t1.y"{ printf(" "); yyval.ptr = newJSBinaryOperator( OP_BAND, yyvsp[-2].ptr, yyvsp[0].ptr ); ; break;}case 64:#line 202 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 65:#line 203 "t1.y"{ printf(" "); yyval.ptr = newJSBinaryOperator( OP_EQ, yyvsp[-2].ptr, yyvsp[0].ptr ); ; break;}case 66:#line 204 "t1.y"{ printf(" "); yyval.ptr = newJSBinaryOperator( OP_NEQ, yyvsp[-2].ptr, yyvsp[0].ptr ); ; break;}case 67:#line 207 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 68:#line 208 "t1.y"{ printf(" "); yyval.ptr = newJSBinaryOperator( OP_LT, yyvsp[-2].ptr, yyvsp[0].ptr ); ; break;}case 69:#line 209 "t1.y"{ printf(" "); yyval.ptr = newJSBinaryOperator( OP_GT, yyvsp[-2].ptr, yyvsp[0].ptr ); ; break;}case 70:#line 210 "t1.y"{ printf(" "); yyval.ptr = newJSBinaryOperator( OP_LEQ, yyvsp[-2].ptr, yyvsp[0].ptr ); ; break;}case 71:#line 211 "t1.y"{ printf(" "); yyval.ptr = newJSBinaryOperator( OP_GEQ, yyvsp[-2].ptr, yyvsp[0].ptr ); ; break;}case 72:#line 214 "t1.y"{ printf(" "); yyval.ptr = yyvsp[0].ptr; ; break;}case 73:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -