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

📄 y_tab.c

📁 现将本人搜集常用的程序设计语言的词法和形式文法提供给大家。其中
💻 C
📖 第 1 页 / 共 3 页
字号:
#ifndef lint
static char yysccsid[] = "@(#)yaccpar	1.8 (Berkeley) 01/02/91\n\
 Generated by WANG Hanfei for DOS.";
#endif
#define YYBYACC 1
#define YYPREFIX "yy"
#line 2 "pascal.y"
#include <stdio.h>
#include "types.h"

extern  int     linenumber;
extern	char	yytext[];
extern	char	numbertext[80];
extern	char	*laststring;
extern	char	lastident[];

extern  char	*create_string();

#define YYSTYPE item


int	lexical_level = 0;

static	int	param_level = 0;
static	char *its_a = "error - uninitialised";

#line 28 "y_tab.c"
#define UNSIGNED_INT 257
#define UNSIGNED_REAL 258
#define STRING 259
#define IDENTIFIER 260
#define NE 261
#define LE 262
#define GE 263
#define BECOMES 264
#define DIV 265
#define MOD 266
#define NIL 267
#define IN 268
#define OR 269
#define AND 270
#define NOT 271
#define DOTDOT 272
#define IF 273
#define THEN 274
#define ELSE 275
#define CASE 276
#define OF 277
#define REPEAT 278
#define UNTIL 279
#define WHILE 280
#define DO 281
#define FOR 282
#define TO 283
#define DOWNTO 284
#define SBEGIN 285
#define END 286
#define WITH 287
#define GOTO 288
#define CONST 289
#define VAR 290
#define TYPE 291
#define ARRAY 292
#define RECORD 293
#define SET 294
#define SFILE 295
#define FUNCTION 296
#define PROCEDURE 297
#define LABEL 298
#define PACKED 299
#define PROGRAM 300
#define YYERRCODE 256
short yylhs[] = {                                        -1,
    2,    0,    3,    6,    3,    4,    7,    7,    9,    9,
   10,   10,   10,   10,   10,   11,   16,   16,   17,   12,
   18,   18,   20,   19,   21,   21,   21,   21,   21,   21,
   21,   22,   22,   13,   24,   24,   26,   25,   27,   27,
   27,   27,   30,   28,   28,   28,   29,   29,   29,   29,
   31,   31,   32,   32,   32,   33,   33,   36,   35,   35,
   38,   34,   37,   37,   39,   39,   40,   40,   14,   42,
   42,   44,   43,    5,   45,   45,   15,   46,   46,   50,
   52,   47,   53,   55,   49,   54,   54,   48,   48,   51,
   57,   51,   56,   56,   60,   58,   61,   58,   62,   58,
   63,   58,   59,   64,   64,   64,   65,   65,   67,   66,
    8,   68,   69,   69,   70,   70,   70,   70,   70,   70,
   70,   70,   70,   70,   70,   70,   70,   75,   75,   71,
   72,   78,   78,   79,   79,   80,   80,   81,   81,   74,
   74,   82,   82,   41,   41,   83,   76,   76,   73,   73,
   86,   86,   86,   86,   86,   86,   86,   85,   85,   85,
   85,   88,   88,   88,   87,   87,   90,   90,   90,   90,
   90,   89,   89,   89,   89,   89,   91,   91,   91,   92,
   93,   93,   94,   94,   95,   95,   77,   77,   77,   77,
   96,   96,   84,   23,    1,
};
short yylen[] = {                                         2,
    0,    7,    0,    0,    4,    2,    0,    1,    2,    1,
    1,    1,    1,    1,    1,    3,    3,    1,    1,    3,
    3,    1,    0,    4,    1,    2,    2,    1,    2,    2,
    1,    1,    1,    3,    3,    1,    0,    4,    1,    2,
    1,    2,    0,    4,    3,    1,    6,    3,    3,    3,
    3,    1,    1,    3,    1,    3,    1,    0,    4,    0,
    0,    5,    3,    1,    3,    1,    5,    0,    3,    3,
    1,    0,    4,    1,    3,    1,    1,    4,    4,    0,
    0,    5,    0,    0,    5,    0,    3,    1,    1,    0,
    0,    4,    3,    1,    0,    2,    0,    3,    0,    2,
    0,    2,    3,    1,    6,    7,    3,    1,    0,    6,
    1,    3,    3,    1,    0,    3,    1,    1,    1,    2,
    4,    6,    5,    4,    4,    8,    4,    1,    1,    3,
    2,    0,    3,    3,    1,    1,    2,    2,    4,    3,
    1,    3,    0,    3,    1,    1,    3,    1,    1,    3,
    1,    1,    1,    1,    1,    1,    1,    1,    2,    2,
    3,    1,    1,    1,    1,    3,    1,    1,    1,    1,
    1,    1,    1,    3,    1,    2,    1,    1,    1,    3,
    0,    1,    3,    1,    1,    3,    2,    4,    3,    2,
    3,    1,    1,    1,    1,
};
short yydefred[] = {                                      0,
    1,    0,    0,  195,    0,    4,    0,    0,    0,   76,
    0,    0,   23,   72,   37,   83,   80,    0,    0,    0,
    0,   10,   11,   12,   13,   14,   15,   77,    0,    0,
    5,    0,    0,   22,    0,    0,   71,    0,    0,   36,
    0,    0,    0,   19,    0,   18,    2,    0,    6,  111,
    9,    0,    0,   75,    0,    0,    0,    0,    0,    0,
   84,   81,   16,    0,  194,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  117,    0,  114,  118,  119,    0,
   89,   88,    0,    0,   21,    0,   70,    0,   35,    0,
    0,    0,   17,   32,   33,  178,  179,    0,    0,    0,
    0,    0,  177,    0,    0,    0,    0,    0,  165,  173,
  175,    0,    0,    0,    0,    0,    0,  148,  120,    0,
    0,    0,  112,    0,    0,    0,  190,    0,   78,   79,
   31,    0,    0,   24,   25,   28,    0,    0,    0,    0,
    0,   43,    0,    0,    0,   73,   39,   41,   38,   91,
    0,   85,   82,  176,    0,    0,    0,    0,    0,    0,
  184,  187,    0,  156,  154,  155,  157,  164,  151,  162,
  163,  152,  153,    0,    0,  169,  170,  171,  167,  168,
    0,    0,    0,    0,    0,    0,    0,  116,    0,    0,
  135,  113,  130,  189,  192,    0,   26,   29,   27,   30,
    0,   61,    0,    0,   55,   57,    0,    0,    0,   40,
    0,   42,    0,    0,    0,  174,    0,  180,    0,    0,
    0,    0,  166,  146,    0,    0,  141,  145,  125,  124,
    0,  127,  147,    0,  137,  133,    0,    0,  188,   52,
    0,    0,   48,    0,    0,   49,   50,    0,   45,   97,
    0,   94,    0,    0,    0,   87,  186,  183,    0,    0,
    0,  123,    0,  128,  129,    0,    0,  134,  191,    0,
    0,    0,    0,   64,    0,   54,   56,    0,   44,    0,
    0,   92,    0,   96,  100,  102,  122,  144,  142,  140,
    0,    0,   51,    0,    0,    0,   59,   98,   93,    0,
    0,  139,   47,   63,    0,   66,    0,    0,    0,  104,
  103,  126,    0,    0,  109,    0,   65,    0,    0,  108,
    0,  109,    0,  109,    0,    0,    0,   67,  107,    0,
    0,    0,  105,    0,    0,    0,  106,  110,
};
short yydgoto[] = {                                       2,
   10,    3,    7,   82,  283,    8,   20,   49,   21,   22,
   23,   24,   25,   26,   27,   45,   73,   33,   34,   35,
  144,  103,  104,   39,   40,   41,  146,  147,  148,  211,
  241,  203,  204,  205,  206,  207,  275,  242,  305,  306,
  225,   36,   37,   38,   12,   28,   29,   83,   30,   43,
  151,   92,   42,  152,   91,  251,  214,  252,  284,  253,
  280,  254,  255,  311,  319,  320,  321,   75,   76,   77,
   78,   79,  158,  226,  266,  116,  106,  122,  190,  191,
  235,  227,  228,  118,  107,  174,  108,  175,  109,  181,
  110,  111,  159,  160,  161,  196,
};
short yysindex[] = {                                   -253,
    0,    0, -201,    0,   23,    0,   38, -201,  148,    0,
   26,   34,    0,    0,    0,    0,    0, -159,   70, -177,
  148,    0,    0,    0,    0,    0,    0,    0,   58,   65,
    0, -201,   66,    0, -201,   73,    0, -201,   83,    0,
 -201, -201, -201,    0,   33,    0,    0,  484,    0,    0,
    0,  -95,  -95,    0,    0,   88,    0,  109,    0,  115,
    0,    0,    0, -159,    0,  191,  191,  484,  191,  -76,
  -76, -159,  120,  145,    0,  -29,    0,    0,    0,   61,
    0,    0,  127,  128,    0,  165,    0,  -30,    0,  -30,
  153,  153,    0,    0,    0,    0,    0,   42,  191,   42,
   42,  191,    0,  145,  -75,    9,  438,   18,    0,    0,
    0,  -79,  -55,  -81,  -60,  -38,    9,    0,    0,  484,
  191,    0,    0,  484,  191,  -76,    0,  191,    0,    0,
    0, -100, -100,    0,    0,    0,  114,  -69,  -66,  -65,
 -112,    0,  -47,  -50,    0,    0,    0,    0,    0,    0,
  159,    0,    0,    0,  185,   18,   18,  -31,  149,  202,
    0,    0,  484,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  191,   42,    0,    0,    0,    0,    0,
   42,  165,  191,  484,  191,  484,  -76,    0,  200,   99,
    0,    0,    0,    0,    0,   -8,    0,    0,    0,    0,
  105,    0,   11,  227,    0,    0, -201,  105,  -30,    0,
 -201,    0,  165,   21,  -76,    0,  191,    0,  191,   37,
  -21,   18,    0,    0,   62,  -26,    0,    0,    0,    0,
 -211,    0,    0,  191,    0,    0,  191,  191,    0,    0,
    2,   48,    0,  -69,  240,    0,    0,  273,    0,    0,
   15,    0, -201,   35,   20,    0,    0,    0,  484,  165,
  484,    0,  165,    0,    0,  191,  281,    0,    0,  105,
   67,    0,  295,    0,   84,    0,    0,  -30,    0, -201,
   21,    0,  308,    0,    0,    0,    0,    0,    0,    0,
   86,  191,    0,  -30,  -76,  165,    0,    0,    0, -203,
  484,    0,    0,    0,  309,    0,   77,  279,   79,    0,
    0,    0,  165,  339,    0,  290,    0,  -69,  -43,    0,
 -201,    0,  343,    0,  108,  116,  297,    0,    0, -203,
 -201,  117,    0,  345,  -76,  -76,    0,    0,
};
short yyrindex[] = {                                      0,
    0,    0,    0,    0,  338,    0,    0,    0,  121,    0,
    0,   64,    0,    0,    0,    0,    0,    0,    0,    0,
  135,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  -10,    0,    0,
    0,  121,  121,    0,  423,    0,  426,    0,  442,    0,
    0,    0,    0,    0,    0,    0,    0,  -42,    0,    0,
    0,    0,    0,   40,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   10,   17,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  333,    0,   68,    0,  130,  194,  234,    0,    0,
    0,    0,    0,    0,    0,    0,  -37,    0,    0,   -5,
    0,  289,    0,   -6,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  -54,    0,    0,
    0,    0,    0,    0,  -32,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  262,  315,    8,    0,  334,
    0,    0,   -5,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    3,    0,   -5,    0,   -5,    0,    0,  110,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  -27,    0,    0,    0,    0,    0,    0,
    0,    0,    0, -226,    0,    0,    0,    0,    0,   31,
  328,  374,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  -15,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,   -5,    0,
  -10,    0,    3,    0,    0,    0,  125,    0,    0,    0,
    0,  -57,    0,    0,    0,    0,    0,    0,    0,    0,
 -226,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  -39,    0,    0,    0,    0,
   -5,    0,    0,    0,  -20,    0,    0,    0,    0,    0,
    0,    0,  -39,    0,    0,    0,    0,    7,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,
};
short yygindex[] = {                                      0,
   -3,    0,    0,  392,  171,    0,    0,    0,    0,  407,
    0,    0,    0,    0,    0,    0,   19,    0,  375,    0,
  367,  483,  -45,    0,  370,    0,   63, -166,  299,    0,
    0,  113,    0,  197,  198,    0,    0,    0,    0,  134,
 -194,    0,  386,    0,    0,    0,  201,  399,  199,    0,
  364,    0,    0,    0,    0,    0,    0,  176,  179,    0,
    0,    0,    0,  131,    0, -186,    0,  440,  395,  226,
    0,    0,  492,    0,    0,    0,  -40,  360,    0,  228,
    0,  207,  212,  287,  302,    0,  -82,    0,  -87,    0,
    0,    0,    0,    0,  260,    0,
};
#define YYTABLESIZE 796
short yytable[] = {                                       5,
  195,   68,   74,  124,   60,  187,  193,   80,   46,  142,
  154,   46,  132,   53,  133,  324,  115,  156,  157,   68,
   62,  170,   74,  171,  115,   60,   46,   80,   54,  124,
  117,   56,  263,   95,  240,  238,   46,   60,   61,   62,
  136,  246,  145,   60,  145,  270,    1,   60,  115,  325,
   86,  185,  115,  115,  126,  282,   65,   90,    4,  179,
   46,  143,    6,  143,  180,   60,   31,   90,   86,  101,
   99,  264,  265,  281,   74,   90,   64,   32,   74,   80,
  194,   99,   93,   80,  239,  132,  198,  200,  308,  121,
  119,   63,  222,  223,  271,  309,    9,   44,  132,  128,
  185,  307,  127,  293,   74,  260,  126,   48,  132,  132,
  132,  132,  132,  132,  132,   47,   52,   74,  307,  261,
  260,   74,   80,   53,   55,  132,  132,  132,  132,  132,
  132,   57,  102,  132,  314,  327,  136,  329,   74,  236,
   74,   59,  237,   80,  142,   80,  117,  132,   86,  133,
  136,  128,  149,  136,  127,  145,   94,   95,  132,   65,
  132,  132,  145,  145,   81,  138,   88,  136,  138,  256,
  172,  172,  172,  172,  172,   90,  172,  120,   11,  137,
  138,  139,  140,   65,  121,  129,  130,  172,  172,  172,
  172,  172,  150,   13,   14,   15,  274,  182,  163,  184,
   16,   17,   18,  185,  201,   58,  202,  132,   58,  133,
  208,  209,  212,   74,  136,   74,  215,  136,   80,  194,
   80,  213,  172,  183,  145,  216,   94,   95,  131,   65,
   99,   60,  145,  100,  149,  101,  115,  149,  273,   28,
  217,  218,  186,  193,   58,  219,   68,  168,  145,  304,
  136,  149,  149,   46,  310,   74,  123,  234,   53,  262,
   80,  137,  138,  139,  140,   62,   58,  136,  141,  115,
   60,  247,  115,  115,  158,  115,  158,  158,  158,  115,
  115,  102,  176,  177,  310,  244,  149,  178,  143,  337,
  338,  158,  158,  158,  158,  158,  243,  278,   94,   95,
   96,   65,  159,  132,  159,  159,  159,  272,   97,  121,
  250,  259,   98,  279,  132,   16,  121,  326,  132,  159,
  159,  159,  159,  159,  125,  132,  158,  334,  132,  132,
  132,   17,  132,  132,  187,  132,  132,  132,  292,  132,
  297,  132,  132,  294,  132,  188,  132,  131,  132,  192,
  132,  132,  295,  132,  159,  160,  303,  160,  160,  160,
  296,   94,   95,  131,   65,  300,  301,  313,  150,  315,
  316,  150,  160,  160,  160,  160,  160,  245,  318,  187,
  322,  248,  187,  328,  330,  150,  150,  331,  220,  332,
  172,  172,  172,  335,  172,  172,    3,  172,  172,  172,
   19,  172,  336,  172,  172,    7,  172,  160,  172,  230,
  172,  232,  172,  172,  161,  172,  161,  161,  161,    8,
  150,   94,   95,  131,   65,  181,  182,   51,   89,   85,
  323,  161,  161,  161,  161,  161,   13,   14,   15,  210,
  276,  277,   87,   16,   17,   18,  317,   94,   95,   96,
   65,   84,  134,  286,  285,  153,  299,   97,  298,   50,
  333,   98,  113,  162,  268,  149,  161,  149,  149,  290,
  149,  288,  149,  233,  149,  221,  149,  149,  258,  149,
  170,    0,  171,    0,  287,    0,  289,    0,    0,    0,
    0,    0,    0,    0,  158,  158,  158,  172,  169,  173,
    0,  158,  158,    0,    0,  158,    0,  158,  158,    0,
  158,    0,  158,    0,  158,    0,  158,  158,    0,  158,
    0,    0,  159,  159,  159,    0,  312,    0,    0,  159,
  159,    0,    0,  159,    0,  159,  159,    0,  159,    0,
  159,    0,  159,    0,  159,  159,    0,  159,  224,    0,
    0,    0,  187,    0,    0,    0,    0,  105,  112,    0,
  114,    0,    0,  131,    0,    0,    0,  131,  135,    0,
  135,    0,  135,    0,  131,  160,  160,  160,    0,  249,
    0,    0,  160,  160,    0,    0,  160,    0,  160,  160,
  155,  160,    0,  160,    0,  160,    0,  160,  160,  150,
  160,  150,  150,    0,  150,    0,  150,    0,  150,    0,
  150,  150,  189,  150,  197,  199,  193,    0,    0,  195,
    0,    0,    0,    0,    0,    0,  224,    0,    0,  224,
    0,    0,    0,    0,  161,  161,  161,    0,    0,    0,
    0,  161,  161,    0,    0,  161,    0,  161,  161,    0,
  161,    0,  161,    0,  161,    0,  161,  161,    0,  161,
    0,    0,  224,    0,  135,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  229,    0,  231,    0,    0,  224,
    0,    0,   23,  135,    0,   72,    0,    0,    0,    0,
  135,  135,    0,    0,    0,  135,    0,    0,  164,  165,
  166,   37,    0,    0,    0,  167,  168,   20,  257,    0,
   69,   20,   20,   20,   69,   69,   69,    0,   20,   20,
   20,   69,   69,   69,    0,  267,   34,    0,  189,  269,
   34,   34,   34,    0,    0,    0,    0,   34,   34,   34,
   44,    0,  135,   65,    0,  135,    0,    0,    0,    0,
    0,    0,  135,    0,    0,    0,   66,  291,    0,   67,
  135,   68,    0,   69,    0,   70,    0,    0,   48,    0,
   71,   72,    0,    0,    0,    0,  135,    0,  135,    0,
    0,    0,    0,  302,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  135,
};
short yycheck[] = {                                       3,
   58,   41,   48,   59,   59,   44,   44,   48,   41,   40,
   98,   44,   43,   41,   45,   59,   59,  100,  101,   59,
   41,   43,   68,   45,   70,   41,   59,   68,   32,   59,
   71,   35,   59,  260,  201,   44,   18,   41,   42,   43,
   86,  208,   88,   59,   90,   44,  300,   41,   59,   93,
   41,   44,   59,   59,   46,   41,  260,   41,  260,   42,
   93,   59,   40,   94,   47,   59,   41,   58,   59,  296,
  297,  283,  284,   59,  120,   59,   44,   44,  124,  120,
  126,   40,   64,  124,   93,   46,  132,  133,  292,   59,
   72,   59,  175,  181,   93,  299,   59,  257,   59,   91,
   93,  296,   94,  270,   41,   44,   46,  285,   41,   42,
   43,   44,   45,   46,   47,   46,   59,  163,  313,   58,
   44,   58,  163,   59,   59,   58,   59,   60,   61,   62,
   91,   59,   91,   94,   58,  322,  182,  324,  184,   41,
  186,   59,   44,  184,   40,  186,  187,   43,   61,   45,
   41,   91,   90,   44,   94,  201,  257,  258,   91,  260,
   93,   94,  208,  209,  260,   41,   58,  213,   44,  215,
   41,   42,   43,   44,   45,   61,   47,   58,    8,  292,
  293,  294,  295,  260,   40,   59,   59,   58,   59,   60,
   61,   62,   40,  289,  290,  291,  242,  277,  274,  281,
  296,  297,  298,  264,   91,  260,  276,   43,   38,   45,
  277,  277,  260,  259,  260,  261,   58,  263,  259,  277,
  261,  272,   93,  279,  270,   41,  257,  258,  259,  260,
   40,  286,  278,   43,   41,   45,  279,   44,  242,  272,
  272,   93,  281,  281,  260,   44,  286,  269,  294,  295,
  296,   58,   59,  286,  300,  301,  286,   58,  286,  286,
  301,  292,  293,  294,  295,  286,  260,  313,  299,  275,
  286,  209,  279,  279,   41,  286,   43,   44,   45,  286,
  286,   91,  265,  266,  330,   59,   93,  270,  286,  335,
  336,   58,   59,   60,   61,   62,  286,   58,  257,  258,
  259,  260,   41,  264,   43,   44,   45,  260,  267,  279,
  290,  275,  271,   41,  275,  296,  286,  321,  279,   58,
   59,   60,   61,   62,  264,  286,   93,  331,  261,  262,
  263,  297,  265,  266,   46,  268,  269,  270,   58,  272,
  278,  274,  275,  277,  277,  120,  279,   59,  281,  124,
  283,  284,   58,  286,   93,   41,  294,   43,   44,   45,
  277,  257,  258,  259,  260,   58,  281,   59,   41,   91,
  292,   44,   58,   59,   60,   61,   62,  207,   40,   91,
   91,  211,   94,   41,  277,   58,   59,  272,  163,   93,
  261,  262,  263,  277,  265,  266,   59,  268,  269,  270,
    9,  272,   58,  274,  275,  285,  277,   93,  279,  184,
  281,  186,  283,  284,   41,  286,   43,   44,   45,  285,
   93,  257,  258,  259,  260,   93,   93,   21,   59,   55,
  318,   58,   59,   60,   61,   62,  289,  290,  291,  141,
  244,  244,   57,  296,  297,  298,  313,  257,  258,  259,
  260,   53,   86,  255,  254,   92,  281,  267,  280,   20,
  330,  271,   68,  104,  237,  272,   93,  274,  275,  263,

⌨️ 快捷键说明

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