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

📄 gram.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
📖 第 1 页 / 共 4 页
字号:
case 193:# line 1077 "gram.in"{ yyval.expval = mkexpr(OPOR, yypvt[-2].expval, yypvt[-0].expval); } break;case 194:# line 1079 "gram.in"{ yyval.expval = mkexpr(OPAND, yypvt[-2].expval, yypvt[-0].expval); } break;case 195:# line 1081 "gram.in"{ yyval.expval = mkexpr(OPNOT, yypvt[-0].expval, ENULL); } break;case 196:# line 1083 "gram.in"{ NO66("concatenation operator //");		  yyval.expval = mkexpr(OPCONCAT, yypvt[-2].expval, yypvt[-0].expval); } break;case 197:# line 1087 "gram.in"{ yyval.ival = OPPLUS; } break;case 198:# line 1088 "gram.in"{ yyval.ival = OPMINUS; } break;case 199:# line 1091 "gram.in"{ yyval.ival = OPEQ; } break;case 200:# line 1092 "gram.in"{ yyval.ival = OPGT; } break;case 201:# line 1093 "gram.in"{ yyval.ival = OPLT; } break;case 202:# line 1094 "gram.in"{ yyval.ival = OPGE; } break;case 203:# line 1095 "gram.in"{ yyval.ival = OPLE; } break;case 204:# line 1096 "gram.in"{ yyval.ival = OPNE; } break;case 205:# line 1100 "gram.in"{ yyval.expval = mkprim(yypvt[-0].namval, PNULL, CHNULL); } break;case 206:# line 1102 "gram.in"{ NO66("substring operator :");		  if( yypvt[-1].namval->vclass != CLPARAM ) {		  	yyval.expval = mkprim(yypvt[-1].namval, PNULL, yypvt[-0].chval);		  } else {			errstr("substring of parameter %s",				varstr(VL,yypvt[-1].namval->varname) );			YYERROR ;		  }		} break;case 207:# line 1112 "gram.in"{ if( yypvt[-3].namval->vclass != CLPARAM ) {		  	yyval.expval = mkprim(yypvt[-3].namval, mklist(yypvt[-1].chval), CHNULL);		  } else {			errstr("can not subscript parameter %s",				varstr(VL,yypvt[-3].namval->varname) );			YYERROR ;		  }		} break;case 208:# line 1121 "gram.in"{ if( yypvt[-4].namval->vclass != CLPARAM ) {		  	NO66("substring operator :");		  	yyval.expval = mkprim(yypvt[-4].namval, mklist(yypvt[-2].chval), yypvt[-0].chval);		  } else {			errstr("can not subscript parameter %s",				varstr(VL,yypvt[-4].namval->varname) );			YYERROR ;		  }		} break;case 209:# line 1133 "gram.in"{ yyval.chval = mkchain(yypvt[-3].expval, mkchain(yypvt[-1].expval,CHNULL)); } break;case 210:# line 1137 "gram.in"{ yyval.expval = 0; } break;case 212:# line 1142 "gram.in"{ yyval.expval = mklogcon(1); } break;case 213:# line 1143 "gram.in"{ yyval.expval = mklogcon(0); } break;case 214:# line 1144 "gram.in"{ yyval.expval = mkstrcon(toklen, token); } break;case 215:# line 1145 "gram.in" { yyval.expval = mkintcon( convci(toklen, token) ); } break;case 216:# line 1146 "gram.in" { yyval.expval = mkrealcon(TYREAL, convcd(toklen, token)); } break;case 217:# line 1147 "gram.in" { yyval.expval = mkrealcon(TYDREAL, convcd(toklen, token)); } break;case 218:# line 1151 "gram.in"{ yyval.expval = mkcxcon(yypvt[-3].expval,yypvt[-1].expval); } break;case 220:# line 1157 "gram.in"{ if (optimflag && parstate != INDCL)			yyval.expval = mkexpr(OPPAREN, yypvt[-1].expval, ENULL);		  else yyval.expval = yypvt[-1].expval;		} break;case 223:# line 1166 "gram.in"{ yyval.expval = mkexpr(yypvt[-1].ival, yypvt[-2].expval, yypvt[-0].expval); } break;case 224:# line 1168 "gram.in"{ yyval.expval = mkexpr(OPSTAR, yypvt[-2].expval, yypvt[-0].expval); } break;case 225:# line 1170 "gram.in"{ yyval.expval = mkexpr(OPSLASH, yypvt[-2].expval, yypvt[-0].expval); } break;case 226:# line 1172 "gram.in"{ yyval.expval = mkexpr(OPPOWER, yypvt[-2].expval, yypvt[-0].expval); } break;case 227:# line 1174 "gram.in"{ if(yypvt[-1].ival == OPMINUS)			yyval.expval = mkexpr(OPNEG, yypvt[-0].expval, ENULL);		  else	yyval.expval = yypvt[-0].expval;		} break;case 228:# line 1179 "gram.in"{ NO66("concatenation operator //");		  yyval.expval = mkexpr(OPCONCAT, yypvt[-2].expval, yypvt[-0].expval); } break;case 230:# line 1234 "gram.in"{		if( !do_name_err ) {		   if(yypvt[-3].labval->labdefined)			execerr("no backward DO loops", CNULL);		   yypvt[-3].labval->blklevel = blklevel+1;		   exdo(yypvt[-3].labval->labelno, yypvt[-0].chval);		   }		} break;case 231:# line 1243 "gram.in"{ exendif();  thiswasbranch = NO; } break;case 233:# line 1246 "gram.in"{ exelif(yypvt[-2].expval); lastwasbranch = NO; } break;case 234:# line 1248 "gram.in"{ exelse(); lastwasbranch = NO; } break;case 235:# line 1250 "gram.in"{ exendif(); lastwasbranch = NO; } break;case 236:# line 1254 "gram.in"{ exif(yypvt[-1].expval); } break;case 237:# line 1258 "gram.in"{ if( yypvt[-2].namval->vclass != CLPARAM ) {			yyval.chval = mkchain(yypvt[-2].namval, yypvt[-0].chval);			do_name_err = 0;		  } else {			err("symbolic constant not allowed as DO variable");		 	do_name_err = 1;		  }		} break;case 238:# line 1269 "gram.in"{ exequals(yypvt[-2].expval, yypvt[-0].expval); } break;case 239:# line 1271 "gram.in"{ if( yypvt[-0].namval->vclass != CLPARAM ) {			exassign(yypvt[-0].namval, yypvt[-2].labval);		  } else {			err("can only assign to a variable");		  }		} break;case 242:# line 1280 "gram.in"{ inioctl = NO; } break;case 243:# line 1282 "gram.in"{ exarif(yypvt[-6].expval, yypvt[-4].labval, yypvt[-2].labval, yypvt[-0].labval);  thiswasbranch = YES; } break;case 244:# line 1284 "gram.in"{ excall(yypvt[-0].namval, PNULL, 0, labarray); } break;case 245:# line 1286 "gram.in"{ excall(yypvt[-2].namval, PNULL, 0, labarray); } break;case 246:# line 1288 "gram.in"{ if(nstars < MAXLABLIST)			excall(yypvt[-3].namval, mklist(yypvt[-1].chval), nstars, labarray);		  else			err("too many alternate returns");		} break;case 247:# line 1294 "gram.in"{ exreturn(yypvt[-0].expval);  thiswasbranch = YES; } break;case 248:# line 1296 "gram.in"{ exstop(yypvt[-2].ival, yypvt[-0].expval);  thiswasbranch = yypvt[-2].ival; } break;case 249:# line 1300 "gram.in"{ yyval.labval = mklabel( convci(toklen, token) ); } break;case 250:# line 1304 "gram.in"{ if(parstate == OUTSIDE)			{			newproc();			startproc(PNULL, CLMAIN);			}		  if( yystno != 0 && thislabel->labtype != LABFORMAT)			if (optimflag)				optbuff (SKLABEL, 0, thislabel->labelno, 1);			else				putlabel(thislabel->labelno);		} break;case 251:# line 1318 "gram.in"{ exgoto(yypvt[-0].labval);  thiswasbranch = YES; } break;case 252:# line 1320 "gram.in"{ if( yypvt[-0].namval->vclass != CLPARAM ) {			exasgoto(yypvt[-0].namval);  thiswasbranch = YES;		  } else {			err("must go to label or assigned variable");		  }		} break;case 253:# line 1327 "gram.in"{ if( yypvt[-4].namval->vclass != CLPARAM ) {			exasgoto(yypvt[-4].namval);  thiswasbranch = YES;		  } else {			err("must go to label or assigned variable");		  }		} break;case 254:# line 1334 "gram.in"{ if(nstars < MAXLABLIST)			if (optimflag)			    optbuff (SKCMGOTO, fixtype(yypvt[-0].expval), nstars, labarray);			else			    putcmgo (fixtype(yypvt[-0].expval), nstars, labarray);		  else			err("computed GOTO list too long");		} break;case 257:# line 1349 "gram.in"{ nstars = 0; yyval.namval = yypvt[-0].namval; } break;case 258:# line 1353 "gram.in"{ yyval.chval = (yypvt[-0].expval ? mkchain(yypvt[-0].expval,CHNULL) : CHNULL); } break;case 259:# line 1355 "gram.in"{ if(yypvt[-0].expval)			if(yypvt[-2].chval) yyval.chval = hookup(yypvt[-2].chval, mkchain(yypvt[-0].expval,CHNULL));			else yyval.chval = mkchain(yypvt[-0].expval,CHNULL);		  else			yyval.chval = yypvt[-2].chval;		} break;case 261:# line 1365 "gram.in"{ if(nstars<MAXLABLIST) labarray[nstars++] = yypvt[-0].labval; yyval.expval = 0; } break;case 262:# line 1369 "gram.in"{ yyval.ival = 0; } break;case 263:# line 1371 "gram.in"{ yyval.ival = 1; } break;case 264:# line 1375 "gram.in"{ yyval.chval = mkchain(yypvt[-0].expval, CHNULL); } break;case 265:# line 1377 "gram.in"{ yyval.chval = hookup(yypvt[-2].chval, mkchain(yypvt[-0].expval,CHNULL) ); } break;case 266:# line 1381 "gram.in"{ if(parstate == OUTSIDE)			{			newproc();			startproc(PNULL, CLMAIN);			}		  if(parstate < INDATA) enddcl();		  if( yystno != 0 && thislabel->labtype != LABFORMAT)			if (optimflag)				optbuff (SKLABEL, 0, thislabel->labelno, 1);			else				putlabel(thislabel->labelno);		  yystno = 0;		} break;case 267:# line 1397 "gram.in"{ intonly = YES; } break;case 268:# line 1401 "gram.in"{ intonly = NO; } break;case 269:# line 1406 "gram.in"{ endio(); } break;case 271:# line 1411 "gram.in"{ ioclause(IOSUNIT, yypvt[-0].expval); endioctl(); } break;case 272:# line 1413 "gram.in"{ ioclause(IOSUNIT, PNULL); endioctl(); } break;case 273:# line 1415 "gram.in"{ ioclause(IOSUNIT, IOSTDERR); endioctl(); } break;case 275:# line 1418 "gram.in"{ doio(PNULL); } break;case 276:# line 1420 "gram.in"{ doio(PNULL); } break;case 277:# line 1422 "gram.in"{ doio(yypvt[-0].chval); } break;case 278:# line 1424 "gram.in"{ doio(yypvt[-0].chval); } break;case 279:# line 1426 "gram.in"{ doio(yypvt[-0].chval); } break;case 280:# line 1428 "gram.in"{ doio(PNULL); } break;case 281:# line 1430 "gram.in"{ doio(yypvt[-0].chval); } break;case 282:# line 1432 "gram.in"{ doio(PNULL); } break;case 283:# line 1434 "gram.in"{ doio(yypvt[-0].chval); } break;case 285:# line 1441 "gram.in"{ iostmt = IOBACKSPACE; } break;case 286:# line 1443 "gram.in"{ iostmt = IOREWIND; } break;case 287:# line 1445 "gram.in"{ iostmt = IOENDFILE; } break;case 289:# line 1452 "gram.in"{ iostmt = IOINQUIRE; } break;case 290:# line 1454 "gram.in"{ iostmt = IOOPEN; } break;case 291:# line 1456 "gram.in"{ iostmt = IOCLOSE; } break;case 292:# line 1460 "gram.in"{		ioclause(IOSUNIT, PNULL);		ioclause(IOSFMT, yypvt[-0].expval);		endioctl();		} break;case 293:# line 1466 "gram.in"{		ioclause(IOSUNIT, PNULL);		ioclause(IOSFMT, PNULL);		endioctl();		} break;case 294:# line 1474 "gram.in"{ if(yypvt[-1].expval->headblock.vtype == TYCHAR)			{			ioclause(IOSUNIT, PNULL);			ioclause(IOSFMT, yypvt[-1].expval);			}		  else			ioclause(IOSUNIT, yypvt[-1].expval);		  endioctl();		} break;case 295:# line 1484 "gram.in"{ endioctl(); } break;case 298:# line 1492 "gram.in"{ ioclause(IOSPOSITIONAL, yypvt[-0].expval); } break;case 299:# line 1494 "gram.in"{ ioclause(IOSPOSITIONAL, PNULL); } break;case 300:# line 1496 "gram.in"{ ioclause(IOSPOSITIONAL, IOSTDERR); } break;case 301:# line 1498 "gram.in"{ ioclause(yypvt[-1].ival, yypvt[-0].expval); } break;case 302:# line 1500 "gram.in"{ ioclause(yypvt[-1].ival, PNULL); } break;case 303:# line 1502 "gram.in"{ ioclause(yypvt[-1].ival, IOSTDERR); } break;case 304:# line 1506 "gram.in"{ yyval.ival = iocname(); } break;case 305:# line 1510 "gram.in"{ iostmt = IOREAD; } break;case 306:# line 1514 "gram.in"{ iostmt = IOWRITE; } break;case 307:# line 1518 "gram.in"{		iostmt = IOWRITE;		ioclause(IOSUNIT, PNULL);		ioclause(IOSFMT, yypvt[-1].expval);		endioctl();		} break;case 308:# line 1525 "gram.in"{		iostmt = IOWRITE;		ioclause(IOSUNIT, PNULL);		ioclause(IOSFMT, PNULL);		endioctl();		} break;case 309:# line 1534 "gram.in"{ yyval.chval = mkchain(yypvt[-0].tagval, CHNULL); } break;case 310:# line 1536 "gram.in"{ yyval.chval = hookup(yypvt[-2].chval, mkchain(yypvt[-0].tagval, CHNULL)); } break;case 311:# line 1540 "gram.in"{ yyval.tagval = (tagptr) yypvt[-0].expval; } break;case 312:# line 1542 "gram.in"{ yyval.tagval = (tagptr) mkiodo(yypvt[-1].chval,yypvt[-3].chval); } break;case 313:# line 1546 "gram.in"{ yyval.chval = mkchain(yypvt[-0].expval, CHNULL); } break;case 314:# line 1548 "gram.in"{ yyval.chval = mkchain(yypvt[-0].tagval, CHNULL); } break;case 316:# line 1553 "gram.in"{ yyval.chval = mkchain(yypvt[-2].expval, mkchain(yypvt[-0].expval, CHNULL) ); } break;case 317:# line 1555 "gram.in"{ yyval.chval = mkchain(yypvt[-2].expval, mkchain(yypvt[-0].tagval, CHNULL) ); } break;case 318:# line 1557 "gram.in"{ yyval.chval = mkchain(yypvt[-2].tagval, mkchain(yypvt[-0].expval, CHNULL) ); } break;case 319:# line 1559 "gram.in"{ yyval.chval = mkchain(yypvt[-2].tagval, mkchain(yypvt[-0].tagval, CHNULL) ); } break;case 320:# line 1561 "gram.in"{ yyval.chval = hookup(yypvt[-2].chval, mkchain(yypvt[-0].expval, CHNULL) ); } break;case 321:# line 1563 "gram.in"{ yyval.chval = hookup(yypvt[-2].chval, mkchain(yypvt[-0].tagval, CHNULL) ); } break;case 322:# line 1567 "gram.in"{ yyval.tagval = (tagptr) yypvt[-0].expval; } break;case 323:# line 1569 "gram.in"{ yyval.tagval = (tagptr) mkiodo(yypvt[-1].chval, mkchain(yypvt[-3].expval, CHNULL) ); } break;case 324:# line 1571 "gram.in"{ yyval.tagval = (tagptr) mkiodo(yypvt[-1].chval, mkchain(yypvt[-3].tagval, CHNULL) ); } break;case 325:# line 1573 "gram.in"{ yyval.tagval = (tagptr) mkiodo(yypvt[-1].chval, yypvt[-3].chval); } break;case 326:# line 1577 "gram.in"{ startioctl(); } break; 		}		goto yystack;  /* stack new state and value */	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -