📄 parse_noyacc.c
字号:
#ifndef lintstatic char const yyrcsid[] = "$FreeBSD: src/usr.bin/yacc/skeleton.c,v 1.28 2000/01/17 02:04:06 bde Exp $";#endif#include <stdlib.h>#define YYBYACC 1#define YYMAJOR 1#define YYMINOR 9#define YYLEX yylex()#define YYEMPTY -1#define yyclearin (yychar=(YYEMPTY))#define yyerrok (yyerrflag=0)#define YYRECOVERING() (yyerrflag!=0)static int yygrowstack();#define YYPREFIX "yy"#line 3 "parse.y"#ifdef HAVE_CONFIG_H#include "../config.h"#endif#include "parse.h"#include "textBuf.h"#include "nedit.h"#include "rbTree.h"#include "interpret.h"#include <string.h>#include <stdio.h>#include <ctype.h>#include <X11/Intrinsic.h>#include <Xm/Xm.h>#ifdef VMS#include "../util/VMSparam.h"#else#ifndef __MVS__#include <sys/param.h>#endif#endif /*VMS*/#ifdef HAVE_DEBUG_H#include "../debug.h"#endif/* Macros to add error processing to AddOp and AddSym calls */#define ADD_OP(op) if (!AddOp(op, &ErrMsg)) return 1#define ADD_SYM(sym) if (!AddSym(sym, &ErrMsg)) return 1#define ADD_IMMED(val) if (!AddImmediate(val, &ErrMsg)) return 1#define ADD_BR_OFF(to) if (!AddBranchOffset(to, &ErrMsg)) return 1#define SET_BR_OFF(from, to) *((int *)(from)) = ((Inst *)(to)) - ((Inst *)(from))/* Max. length for a string constant (... there shouldn't be a maximum) */#define MAX_STRING_CONST_LEN 5000static const char CVSID[] = "$Id: parse_noyacc.c,v 1.7 2003/05/15 07:33:00 edg Exp $";static int yyerror(char *s);static int yylex(void);int yyparse(void);static int follow(char expect, int yes, int no);static int follow2(char expect1, int yes1, char expect2, int yes2, int no);static int follow_non_whitespace(char expect, int yes, int no);static Symbol *matchesActionRoutine(char **inPtr);static char *ErrMsg;static char *InPtr;extern Inst *LoopStack[]; /* addresses of break, cont stmts */extern Inst **LoopStackPtr; /* to fill at the end of a loop */#line 56 "parse.y"typedef union { Symbol *sym; Inst *inst; int nArgs;} YYSTYPE;#line 75 "y.tab.c"#define YYERRCODE 256#define NUMBER 257#define STRING 258#define SYMBOL 259#define IF 260#define WHILE 261#define ELSE 262#define FOR 263#define BREAK 264#define CONTINUE 265#define RETURN 266#define IF_NO_ELSE 267#define ADDEQ 268#define SUBEQ 269#define MULEQ 270#define DIVEQ 271#define MODEQ 272#define ANDEQ 273#define OREQ 274#define CONCAT 275#define OR 276#define AND 277#define GT 278#define GE 279#define LT 280#define LE 281#define EQ 282#define NE 283#define IN 284#define UNARY_MINUS 285#define NOT 286#define DELETE 287#define INCR 288#define DECR 289#define POW 290const short yylhs[] = { -1, 0, 0, 0, 0, 13, 13, 13, 12, 12, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 10, 3, 3, 3, 1, 1, 1, 17, 17, 19, 19, 18, 18, 9, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 5, 4, 6, 2, 2, 7, 8, 11, 11,};const short yylen[] = { 2, 2, 5, 4, 1, 5, 4, 1, 1, 2, 3, 6, 9, 6, 10, 0, 9, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 4, 2, 2, 2, 2, 1, 0, 1, 3, 0, 1, 3, 1, 2, 1, 4, 1, 4, 1, 1, 1, 1, 4, 3, 4, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 3, 1, 1, 1, 0, 1, 1, 1, 0, 2,};const short yydefred[] = { 0, 4, 0, 0, 0, 0, 90, 91, 0, 0, 0, 0, 0, 0, 97, 98, 0, 0, 0, 0, 8, 0, 0, 0, 44, 46, 0, 0, 97, 97, 61, 62, 0, 0, 0, 0, 0, 0, 97, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 97, 0, 0, 0, 0, 0, 0, 0, 0, 86, 88, 0, 0, 0, 85, 87, 0, 0, 97, 0, 96, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 97, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 97, 0, 0, 0, 64, 66, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 39, 97, 0, 7, 15, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 97, 97, 0, 97, 0, 0, 0, 97, 0, 97, 12, 16, 0, 0, 14,};const short yydgoto[] = { 2, 61, 63, 104, 16, 17, 187, 96, 97, 156, 18, 3, 19, 172, 173, 21, 188, 62, 42, 22, 40,};const short yysindex[] = { -215, 0, 0, 718, -33, 21, 0, 0, 35, 44, 176, -191, -182, -178, 0, 0, 62, 68, 412, 1139, 0, 80, 13, 380, 0, 0, 380, 380, 0, 0, 0, 0, 3, 380, 380, -146, -144, 380, 0, 504, -32, 0, 28, 0, 33, 0, 38, 222, -122, 380, 380, 380, 380, 380, 380, 380, 380, 0, 0, 380, 380, 14, 380, 92, -32, 137, 137, 0, 0, 380, -91, -91, 0, 0, 301, 137, 0, -32, 0, 0, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 0, 1121, 11, -26, 0, 110, 380, 380, 380, 380, 380, 380, 380, 137, -40, 0, 380, 0, 84, 0, 137, 1271, 1285, -5, -5, -5, -5, -5, -5, -5, -3, -3, -91, -91, -91, -91, -30, 1253, 1216, -19, -17, -15, 0, 380, 380, -65, 0, 698, 380, 879, 0, 0, 0, 0, 0, 111, -32, 109, 0, 879, 380, 380, 380, 380, 380, 380, 380, 380, 0, 0, 0, -79, 0, 0, -65, 0, 380, 380, 380, 380, 380, 380, 380, 380, 923, 0, 0, 0, 105, 0, 1131, 879, 879, 0, 137, 0, 0, 0, 879, 137, 0,};const short yyrindex[] = { 954, 0, 0, 0, -34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0, 0, 0, 0, 128, 146, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 6, 0, 25, 0, 0, -13, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14, 52, 0, -22, 0, 41, 1, 9, 0, 0, 128, 160, 368, 0, 0, 0, 17, 0, 1181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14, 0, 0, -14, -14, -14, 0, 0, -34, 0, 0, 0, 77, 79, 104, 112, 133, 134, 147, 48, 0, 0, 0, 0, 0, 0, 56, 1035, 993, 665, 741, 781, 826, 872, 917, 950, 574, 620, 413, 453, 489, 529, 0, 1078, 464, 0, 0, 0, 0, 0, 136, 0, 0, 118, -18, 0, 0, 0, 26, 39, 50, 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 138, 0, 170, 329, 497, 506, 542, 551, 552, 565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 95, 0,};const short yygindex[] = { 0, 420, -46, 40, 0, 0, 0, 0, 0, 0, 0, 1331, -45, -87, 5, -36, 0, 1296, 0, 8, 1543,};#define YYTABLESIZE 1727const short yytable[] = { 95, 17, 102, 106, 117, 93, 81, 26, 20, 18, 91, 89, 105, 90, 117, 92, 43, 20, 146, 52, 44, 46, 52, 53, 57, 117, 53, 117, 23, 117, 51, 48, 93, 145, 93, 45, 29, 91, 89, 91, 90, 1, 92, 69, 92, 28, 48, 43, 10, 40, 43, 26, 20, 148, 29, 116, 19, 56, 117, 95, 41, 27, 21, 152, 6, 43, 45, 29, 41, 45, 29, 52, 23, 176, 153, 53, 154, 43, 155, 51, 40, 45, 94, 40, 45, 29, 95, 22, 95, 23, 58, 41, 80, 21, 41, 5, 21, 56, 40, 158, 94, 54, 48, 11, 59, 197, 198, 57, 49, 41, 159, 21, 201, 72, 24, 73, 56, 59, 22, 98, 23, 22, 25, 23, 99, 151, 17, 63, 117, 100, 57, 54, 54, 118, 18, 54, 22, 103, 23, 105, 191, 57, 20, 26, 27, 24, 194, 15, 24, 146, 54, 147, 174, 25, 63, 63, 25, 28, 63, 63, 63, 63, 63, 24, 63, 11, 12, 13, 175, 51, 73, 25, 51, 10, 26, 27, 63, 26, 27, 48, 30, 19, 48, 186, 54, 1, 38, 93, 28, 6, 20, 28, 26, 27, 4, 93, 57, 73, 73, 94, 73, 73, 73, 73, 73, 73, 28, 73, 63, 57, 63, 30, 60, 0, 30, 189, 37, 0, 0, 73, 5, 33, 11, 12, 13, 0, 0, 0, 11, 30, 0, 0, 15, 0, 47, 47, 47, 47, 47, 47, 47, 63, 0, 0, 78, 79, 82, 83, 84, 85, 86, 87, 88, 73, 0, 24, 25, 0, 94, 0, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 20, 20, 20, 20, 20, 20, 20, 20, 73, 94, 0, 94, 17, 17, 17, 67, 68, 0, 0, 144, 18, 18, 18, 24, 25, 0, 0, 0, 20, 20, 20, 10, 10, 10, 10, 10, 10, 10, 10, 19, 19, 19, 19, 19, 19, 19, 19, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 10, 10, 10, 0, 31, 0, 37, 120, 19, 19, 19, 33, 101, 54, 54, 54, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 11, 11, 11, 0, 11, 11, 11, 11, 31, 0, 0, 31, 63, 63, 63, 54, 84, 54, 54, 0, 5, 5, 5, 0, 0, 0, 31, 0, 11, 11, 11, 63, 63, 63, 63, 63, 63, 63, 63, 63, 0, 63, 0, 84, 84, 63, 84, 84, 84, 84, 84, 84, 0, 84, 0, 73, 73, 73, 37, 0, 0, 69, 0, 33, 0, 84, 0, 0, 0, 0, 0, 30, 31, 32, 73, 73, 73, 73, 73, 73, 73, 73, 73, 0, 73, 0, 73, 73, 69, 69, 0, 69, 69, 69, 69, 69, 69, 0, 69, 84, 34, 70, 35, 36, 0, 0, 0, 0, 0, 0, 69, 0, 83, 0, 0, 0, 0, 115, 0, 4, 5, 6, 0, 7, 8, 9, 10, 119, 70, 70, 84, 70, 70, 70, 70, 70, 70, 71, 70, 0, 0, 0, 83, 83, 69, 32, 83, 11, 12, 13, 70, 0, 76, 137, 33, 0, 140, 141, 142, 0, 0, 83, 0, 0, 71, 71, 0, 71, 71, 71, 71, 71, 71, 0, 71, 69, 32, 72, 0, 32, 0, 0, 37, 0, 70, 33, 71, 33, 33, 0, 34, 0, 0, 0, 32, 83, 30, 31, 32, 35, 36, 0, 0, 33, 72, 72, 0, 72, 72, 72, 72, 72, 72, 37, 72, 70, 0, 0, 0, 0, 71, 34, 67, 0, 34, 34, 72, 35, 36, 0, 35, 36, 0, 35, 36, 0, 0, 0, 0, 34, 0, 0, 0, 0, 37, 0, 0, 37, 35, 36, 67, 71, 67, 67, 0, 67, 67, 67, 0, 0, 72, 0, 37, 84, 84, 84, 0, 0, 68, 0, 0, 67, 0, 0, 0, 30, 31, 32, 0, 0, 0, 0, 84, 84, 84, 84, 84, 84, 84, 84, 84, 72, 84, 0, 84, 84, 68, 0, 68, 68, 0, 68, 68, 68, 34, 67, 35, 36, 69, 69, 69, 0, 0, 74, 0, 0, 0, 68, 50, 51, 52, 53, 54, 55, 56, 0, 0, 69, 69, 69, 69, 69, 69, 69, 69, 69, 67, 69, 0, 69, 69, 74, 0, 74, 74, 0, 0, 74, 70, 70, 70, 68, 0, 0, 0, 0, 0, 0, 0, 83, 83, 83, 74, 0, 0, 0, 15, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, 70, 83, 70, 70, 0, 68, 0, 71, 71, 71, 0, 83, 75, 83, 83, 0, 0, 0, 0, 74, 161, 0, 30, 31, 32, 0, 71, 71, 71, 71, 71, 71, 71, 71, 71, 0, 71, 0, 71, 71, 75, 0, 75, 75, 0, 0, 75, 72, 72, 72, 74, 34, 76, 35, 36, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 72, 72, 72, 72, 72, 72, 72, 72, 72, 0, 72, 0, 72, 72, 76, 0, 76, 76, 0, 0, 76, 0, 0, 0, 0, 0, 67, 67, 67, 75, 0, 77, 0, 0, 0, 76, 14, 0, 0, 0, 0, 0, 0, 0, 0, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 67, 0, 67, 67, 77, 75, 77, 77, 0, 0, 77, 0, 0, 0, 76, 0, 0, 68, 68, 68, 0, 0, 78, 0, 0, 77, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 76, 68, 0, 68, 68, 78, 0, 78, 78, 0, 0, 78, 0, 0, 77, 0, 0, 74, 74, 74, 0, 0, 79, 0, 0, 0, 78, 0, 15, 0, 0, 0, 0, 0, 0, 0, 74, 74, 74, 74, 74, 74, 74, 74, 74, 77, 74, 0, 74, 74, 79, 0, 79, 79, 0, 89, 79, 0, 0, 97, 78, 162, 163, 164, 165, 166, 167, 168, 0, 0, 0, 79, 4, 5, 6, 0, 7, 8, 9, 10, 0, 169, 170, 89, 0, 89, 89, 0, 0, 89, 0, 78, 0, 75, 75, 75, 0, 171, 80, 0, 11, 12, 13, 0, 89, 79, 0, 0, 0, 0, 0, 0, 75, 75, 75, 75, 75, 75, 75, 75, 75, 0, 75, 0, 75, 75, 80, 0, 80, 80, 0, 0, 80, 76, 76, 76, 79, 0, 89, 0, 81, 0, 0, 190, 0, 0, 0, 80, 0, 0, 0, 0, 76, 76, 76, 76, 76, 76, 76, 76, 76, 0, 76, 0, 76, 76, 0, 0, 0, 89, 81, 81, 97, 0, 81, 0, 0, 0, 77, 77, 77, 80, 0, 82, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 77, 77, 77, 77, 77, 77, 77, 77, 77, 0, 77, 0, 77, 77, 0, 80, 82, 82, 0, 0, 82, 0, 0, 0, 0, 0, 81, 78, 78, 78, 0, 0, 0, 0, 0, 82, 4, 5, 6, 0, 7, 8, 9, 10, 0, 0, 78, 78, 78, 78, 78, 78, 78, 78, 78, 0, 78, 81, 78, 78, 0, 0, 0, 0, 11, 12, 13, 0, 0, 82, 0, 0, 79, 79, 79, 0, 0, 0, 0, 0, 4, 5, 6, 0, 7, 8, 9, 10, 0, 55, 0, 79, 79, 79, 79, 79, 79, 79, 79, 79, 0, 79, 0, 79, 79, 89, 89, 89, 11, 12, 13, 97, 97, 97, 0, 97, 97, 97, 97, 55, 55, 0, 0, 55, 89, 89, 89, 89, 89, 89, 89, 89, 89, 0, 89, 0, 89, 89, 55, 97, 97, 97, 0, 0, 143, 0, 0, 0, 80, 80, 80, 93, 81, 0, 196, 0, 91, 89, 0, 90, 0, 92, 0, 0, 0, 0, 0, 80, 80, 0, 0, 0, 55, 0, 0, 0, 0, 80, 0, 80, 80, 0, 0, 0, 0, 0, 0, 0, 93, 81, 81, 81, 81, 91, 89, 0, 90, 0, 92, 0, 0, 0, 0, 0, 39, 95, 93, 81, 0, 81, 81, 91, 89, 0, 90, 0, 92, 60, 0, 81, 93, 81, 81, 0, 0, 91, 89, 0, 90, 0, 92, 74, 0, 82, 82, 82, 0, 0, 80, 0, 0, 0, 95, 47, 107, 108, 109, 110, 111, 112, 113, 0, 82, 82, 0, 0, 0, 65, 66, 0, 95, 0, 82, 0, 82, 82, 0, 75, 0, 0, 0, 0, 0, 0, 95, 80, 0, 0, 4, 5, 6, 0, 7, 8, 9, 10, 0, 114, 4, 5, 6, 0, 7, 8, 9, 10, 4, 5, 6, 0, 7, 8, 9, 10, 0, 121, 11, 12, 13, 0, 0, 149, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 55, 55, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 0, 0, 55, 0, 55, 55, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -