📄 ytabc.bak
字号:
#line 26 "/n/bopp/v7/bwk/temp/awkgram.y"#include <stdio.h>#include <string.h>#include "awk.h"void checkdup(Node *list, Cell *item);int yywrap(void) { return(1); }Node *beginloc = 0;Node *endloc = 0;int infunc = 0; /* = 1 if in arglist or body of func */int inloop = 0; /* = 1 if in while, for, do */char *curfname = 0; /* current function name */Node *arglist = 0; /* list of args for current function */#line 41 "/n/bopp/v7/bwk/temp/awkgram.y"typedef union { Node *p; Cell *cp; int i; char *s;} YYSTYPE;extern int yyerrflag;#ifndef YYMAXDEPTH#define YYMAXDEPTH 150#endifYYSTYPE yylval;YYSTYPE yyval;#define FIRSTTOKEN 57346#define PROGRAM 57347#define PASTAT 57348#define PASTAT2 57349#define XBEGIN 57350#define XEND 57351#define NL 57352#define ARRAY 57353#define MATCH 57354#define NOTMATCH 57355#define MATCHOP 57356#define FINAL 57357#define DOT 57358#define ALL 57359#define CCL 57360#define NCCL 57361#define CHAR 57362#define OR 57363#define STAR 57364#define QUEST 57365#define PLUS 57366#define AND 57367#define BOR 57368#define APPEND 57369#define EQ 57370#define GE 57371#define GT 57372#define LE 57373#define LT 57374#define NE 57375#define IN 57376#define ARG 57377#define BLTIN 57378#define BREAK 57379#define CLOSE 57380#define CONTINUE 57381#define DELETE 57382#define DO 57383#define EXIT 57384#define FOR 57385#define FUNC 57386#define SUB 57387#define GSUB 57388#define IF 57389#define INDEX 57390#define LSUBSTR 57391#define MATCHFCN 57392#define NEXT 57393#define NEXTFILE 57394#define ADD 57395#define MINUS 57396#define MULT 57397#define DIVIDE 57398#define MOD 57399#define ASSIGN 57400#define ASGNOP 57401#define ADDEQ 57402#define SUBEQ 57403#define MULTEQ 57404#define DIVEQ 57405#define MODEQ 57406#define POWEQ 57407#define PRINT 57408#define PRINTF 57409#define SPRINTF 57410#define ELSE 57411#define INTEST 57412#define CONDEXPR 57413#define POSTINCR 57414#define PREINCR 57415#define POSTDECR 57416#define PREDECR 57417#define VAR 57418#define IVAR 57419#define VARNF 57420#define CALL 57421#define NUMBER 57422#define STRING 57423#define REGEXPR 57424#define GETLINE 57425#define RETURN 57426#define SPLIT 57427#define SUBSTR 57428#define WHILE 57429#define CAT 57430#define NOT 57431#define UMINUS 57432#define POWER 57433#define DECR 57434#define INCR 57435#define INDIRECT 57436#define LASTTOKEN 57437#define YYEOFCODE 1#define YYERRCODE 2#line 445 "/n/bopp/v7/bwk/temp/awkgram.y"void setfname(Cell *p){ if (isarr(p)) SYNTAX("%s is an array, not a function", p->nval); else if (isfcn(p)) SYNTAX("you can't define function %s more than once", p->nval); curfname = p->nval;}int constnode(Node *p){ return isvalue(p) && ((Cell *) (p->narg[0]))->csub == CCON;}char *strnode(Node *p){ return ((Cell *)(p->narg[0]))->sval;}Node *notnull(Node *n){ switch (n->nobj) { case LE: case LT: case EQ: case NE: case GT: case GE: case BOR: case AND: case NOT: return n; default: return op2(NE, n, nullnode); }}void checkdup(Node *vl, Cell *cp) /* check if name already in list */{ char *s = cp->nval; for ( ; vl; vl = vl->nnext) { if (strcmp(s, ((Cell *)(vl->narg[0]))->nval) == 0) { SYNTAX("duplicate argument %s", s); break; } }}short yyexca[] ={-1, 0, 1, 28, 8, 28, 9, 28, 12, 28, 13, 28, 16, 28, 45, 28, 46, 28, 48, 28, 54, 28, 55, 28, 56, 28, 58, 28, 60, 28, 78, 28, 86, 28, 87, 28, 88, 28, 89, 28, 90, 28, 91, 28, 95, 28, 97, 28, 98, 28, 101, 28, 102, 28, 105, 28, 108, 28, 109, 28, 110, 28, -2, 0,-1, 1, 1, -1, -2, 0,-1, 157, 15, 30, -2, 0,-1, 176, 14, 0, 24, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, -2, 63,-1, 177, 14, 0, 24, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, -2, 64,-1, 178, 14, 0, 24, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, -2, 65,-1, 179, 14, 0, 24, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, -2, 66,-1, 180, 14, 0, 24, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, -2, 67,-1, 181, 14, 0, 24, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, -2, 68,-1, 183, 14, 0, 24, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, -2, 70,-1, 289, 24, 0, 44, 0, -2, 53,-1, 333, 17, 30, -2, 0,-1, 355, 17, 30, -2, 0,};#define YYNPROD 185#define YYPRIVATE 57344#define YYLAST 4177short yyact[] ={ 17, 277, 138, 66, 243, 228, 253, 54, 24, 43, 125, 112, 200, 43, 103, 104, 100, 139, 102, 155, 308, 185, 215, 249, 100, 253, 100, 100, 100, 107, 105, 100, 122, 123, 124, 223, 107, 206, 43, 82, 162, 43, 83, 103, 104, 10, 113, 314, 9, 252, 42, 22, 44, 244, 42, 22, 44, 103, 104, 134, 142, 113, 146, 190, 278, 352, 149, 150, 152, 153, 148, 276, 316, 163, 23, 100, 351, 350, 23, 42, 62, 44, 42, 22, 44, 11, 156, 168, 169, 85, 253, 51, 321, 79, 80, 232, 190, 86, 135, 133, 100, 318, 182, 320, 269, 258, 23, 100, 100, 100, 100, 100, 100, 100, 108, 109, 110, 111, 233, 275, 112, 234, 190, 110, 111, 43, 100, 112, 335, 190, 190, 11, 203, 205, 190, 324, 278, 190, 190, 212, 284, 190, 211, 265, 260, 190, 100, 259, 221, 3, 141, 188, 100, 16, 226, 140, 331, 6, 156, 141, 219, 230, 7, 100, 310, 6, 42, 170, 44, 167, 7, 158, 100, 157, 100, 131, 100, 100, 100, 100, 100, 100, 100, 130, 100, 48, 251, 100, 100, 129, 49, 128, 236, 127, 100, 126, 120, 119, 52, 16, 190, 19, 100, 312, 141, 274, 218, 100, 143, 100, 100, 100, 4, 154, 100, 100, 217, 271, 144, 132, 317, 50, 347, 361, 364, 270, 1, 115, 72, 40, 224, 5, 100, 100, 100, 100, 163, 58, 163, 163, 163, 163, 20, 67, 163, 222, 100, 293, 61, 288, 294, 60, 238, 248, 81, 100, 100, 292, 96, 8, 239, 159, 160, 2, 0, 0, 114, 0, 116, 117, 118, 300, 301, 121, 164, 0, 282, 0, 285, 286, 287, 289, 0, 100, 291, 0, 100, 100, 100, 0, 100, 0, 100, 156, 0, 309, 0, 100, 0, 100, 100, 0, 0, 100, 0, 100, 100, 100, 0, 0, 0, 0, 0, 334, 313, 165, 163, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 156, 342, 333, 0, 340, 100, 0, 0, 0, 230, 100, 346, 100, 0, 116, 0, 100, 100, 348, 0, 356, 96, 194, 195, 196, 197, 198, 199, 337, 359, 0, 230, 0, 360, 362, 156, 0, 355, 0, 0, 207, 0, 0, 0, 238, 0, 0, 238, 238, 238, 0, 238, 239, 238, 0, 239, 239, 239, 0, 239, 96, 239, 0, 0, 21, 0, 96, 0, 0, 0, 338, 0, 0, 0, 0, 0, 257, 242, 0, 0, 55, 0, 0, 0, 0, 0, 96, 0, 96, 0, 96, 96, 96, 96, 96, 96, 96, 0, 96, 238, 0, 96, 96, 0, 0, 0, 0, 239, 256, 164, 0, 164, 164, 164, 164, 0, 96, 164, 0, 0, 0, 261, 0, 96, 96, 96, 0, 0, 96, 96, 0, 0, 0, 0, 0, 137, 0, 0, 166, 0, 0, 0, 147, 0, 0, 0, 96, 279, 280, 281, 165, 0, 165, 165, 165, 165, 0, 0, 165, 184, 96, 0, 0, 0, 0, 0, 0, 0, 0, 96, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 0, 189, 191, 0, 15, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, 242, 0, 106, 242, 242, 242, 0, 242, 0, 242, 0, 0, 0, 0, 96, 0, 96, 96, 137, 0, 96, 0, 96, 96, 96, 229, 0, 0, 220, 0, 0, 0, 137, 165, 15, 0, 15, 0, 227, 0, 235, 0, 0, 145, 0, 0, 0, 0, 0, 151, 96, 0, 137, 137, 0, 242, 0, 96, 0, 0, 0, 96, 96, 0, 0, 0, 0, 0, 171, 173, 175, 176, 177, 178, 179, 180, 181, 183, 0, 0, 0, 0, 0, 0, 0, 186, 187, 0, 262, 263, 264, 0, 266, 267, 268, 0, 0, 201, 0, 0, 0, 0, 0, 201, 201, 0, 273, 0, 0, 290, 208, 209, 210, 201, 213, 214, 189, 0, 0, 0, 297, 0, 0, 0, 101, 0, 0, 0, 295, 0, 0, 0, 303, 0, 0, 240, 0, 0, 0, 0, 0, 0, 231, 0, 311, 106, 98, 97, 0, 0, 0, 245, 0, 0, 137, 241, 43, 28, 0, 30, 0, 0, 0, 0, 0, 0, 46, 47, 0, 34, 0, 35, 0, 254, 0, 255, 0, 0, 0, 0, 0, 0, 336, 323, 326, 328, 329, 0, 0, 38, 0, 0, 0, 189, 0, 0, 0, 42, 22, 44, 29, 36, 39, 0, 237, 315, 33, 0, 37, 41, 0, 0, 27, 26, 0, 0, 99, 0, 0, 31, 32, 23, 0, 0, 0, 0, 0, 0, 201, 0, 0, 357, 137, 0, 296, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0, 363, 299, 302, 365, 0, 304, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 18, 0, 68, 45, 0, 358, 0, 0, 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, 343, 0, 344, 43, 28, 56, 30, 57, 73, 69, 59, 70, 0, 46, 47, 71, 34, 0, 35, 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 77, 78, 38, 53, 0, 16, 18, 0, 68, 45, 42, 22, 44, 29, 36, 39, 0, 0, 0, 33, 65, 37, 41, 76, 0, 27, 26, 0, 0, 25, 0, 0, 31, 32, 23, 0, 0, 0, 43, 28, 56, 30, 57, 73, 69, 59, 70, 0, 46, 47, 71, 34, 0, 35, 63, 64, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 77, 78, 38, 16, 18, 0, 68, 45, 0, 307, 42, 22, 44, 29, 36, 39, 0, 0, 0, 33, 65, 37, 41, 76, 0, 27, 26, 0, 0, 25, 0, 0, 31, 32, 23, 0, 43, 28, 56, 30, 57, 73, 69, 59, 70, 0, 46, 47, 71, 34, 0, 35, 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 77, 78, 38, 272, 0, 16, 18, 0, 68, 45, 42, 22, 44, 29, 36, 39, 0, 0, 0, 33, 65, 37, 41, 76, 0, 27, 26, 0, 0, 25, 0, 0, 31, 32, 23, 0, 0, 0, 43, 28, 56, 30, 57, 73, 69, 59, 70, 0, 46, 47, 71, 34, 0, 35, 63, 64, 0, 0, 0, 0, 0, 0,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -