⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t1.c

📁 一种效率高
💻 C
📖 第 1 页 / 共 4 页
字号:
  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 + -