📄 jamgram.c
字号:
static const unsigned short yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const unsigned char yyr1[] =
{
0, 49, 50, 50, 51, 51, 52, 52, 52, 53,
54, 54, 55, 55, 56, 56, 57, 57, 57, 57,
57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
57, 58, 59, 57, 60, 60, 60, 60, 61, 61,
61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
61, 61, 62, 62, 63, 64, 64, 65, 66, 66,
67, 68, 67, 69, 69, 69, 70, 70, 71, 71,
71, 71, 71, 71, 72, 72
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const unsigned char yyr2[] =
{
0, 2, 0, 1, 1, 1, 1, 2, 5, 0,
2, 1, 3, 0, 1, 0, 3, 3, 3, 4,
6, 3, 8, 5, 5, 5, 5, 5, 7, 5,
3, 0, 0, 9, 1, 1, 1, 2, 1, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2, 3, 0, 2, 4, 1, 3, 1, 0, 2,
1, 0, 4, 2, 4, 4, 0, 2, 1, 1,
1, 1, 1, 1, 0, 2
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
STATE-NUM when YYTABLE doesn't specify something else to do. Zero
means the default is an error. */
static const unsigned char yydefact[] =
{
2, 61, 66, 58, 15, 0, 58, 58, 58, 0,
58, 58, 0, 9, 60, 0, 3, 0, 6, 0,
0, 0, 0, 55, 57, 14, 0, 0, 0, 60,
0, 38, 0, 9, 0, 15, 0, 0, 0, 0,
5, 4, 0, 1, 0, 7, 35, 34, 36, 0,
58, 58, 0, 58, 0, 73, 70, 72, 71, 69,
68, 74, 67, 9, 58, 59, 0, 50, 0, 0,
0, 0, 0, 0, 0, 0, 0, 9, 0, 0,
58, 17, 58, 11, 0, 9, 30, 21, 52, 9,
16, 18, 13, 37, 0, 0, 0, 63, 62, 58,
0, 0, 56, 58, 51, 40, 45, 46, 41, 42,
39, 43, 44, 0, 47, 48, 49, 10, 9, 0,
0, 0, 52, 0, 58, 15, 58, 19, 58, 58,
75, 31, 26, 0, 24, 8, 25, 0, 23, 53,
27, 0, 29, 0, 65, 64, 0, 9, 15, 9,
12, 20, 32, 0, 28, 54, 0, 22, 33
};
/* YYDEFGOTO[NTERM-NUM]. */
static const short yydefgoto[] =
{
-1, 15, 39, 40, 41, 84, 125, 17, 18, 146,
156, 51, 30, 121, 122, 22, 23, 24, 31, 20,
54, 21, 62, 100
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
#define YYPACT_NINF -48
static const short yypact[] =
{
179, -48, -48, -48, -15, 7, -48, -16, -48, 3,
-48, -48, 7, 179, 1, 27, -48, -9, 179, 19,
-3, 33, -11, 24, 3, -48, -10, 7, 7, -48,
138, 9, 30, 35, 13, 205, 53, 22, 151, 20,
-48, -48, 56, -48, 23, -48, -48, -48, -48, 61,
-48, -48, 3, -48, 62, -48, -48, -48, -48, -48,
-48, 58, -48, 179, -48, -48, 52, -48, 164, 7,
7, 7, 7, 7, 7, 7, 7, 179, 7, 7,
-48, -48, -48, -48, 72, 179, -48, -48, 68, 179,
-48, -48, 85, -48, 77, 73, 8, -48, -48, -48,
50, 57, -48, -48, -48, 45, 93, 93, -48, -48,
45, -48, -48, 64, 245, 245, -48, -48, 179, 66,
67, 69, 68, 71, -48, 205, -48, -48, -48, -48,
-48, -48, -48, 70, 79, -48, -48, 109, -48, -48,
-48, 112, -48, 115, -48, -48, 75, 179, 205, 179,
-48, -48, -48, 81, -48, -48, 82, -48, -48
};
/* YYPGOTO[NTERM-NUM]. */
static const short yypgoto[] =
{
-48, -48, -47, 5, 104, -48, -48, 136, -27, -48,
-48, 47, 60, 36, -48, -13, -4, -48, 0, -48,
-48, -48, -48, -48
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -59
static const short yytable[] =
{
19, 42, 32, 33, 34, 16, 36, 37, 86, 35,
27, -58, -58, 19, 28, 1, 101, 25, 19, -58,
53, 1, -14, 45, 65, 1, 1, 43, 46, 44,
113, 52, 63, 47, 64, 19, 48, 66, 119, 80,
97, 81, 123, 49, 29, 128, 94, 95, -58, 82,
29, 102, 96, 50, 29, 29, 85, 72, 73, 55,
75, 76, 56, 19, 87, 88, 90, 91, 57, 58,
92, 135, 38, 59, 60, 93, 116, 19, 117, 99,
61, 98, 103, 118, 127, 19, 46, 67, 68, 19,
120, 47, 124, 131, 48, 130, 129, 69, 142, 133,
153, 49, 155, 132, 148, 72, 73, 74, 75, 76,
134, 141, 136, 147, 137, 138, 145, 140, 19, 149,
150, 154, 143, 152, 144, 19, 151, 157, 158, 105,
106, 107, 108, 109, 110, 111, 112, 83, 114, 115,
26, 126, 69, 70, 71, 0, 0, 19, 19, 19,
72, 73, 74, 75, 76, 69, 70, 71, 139, 0,
0, 0, 0, 72, 73, 74, 75, 76, 69, 70,
71, 0, 104, 0, 0, 0, 72, 73, 74, 75,
76, 77, 78, 79, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 89, 78, 79, 1, 0, 2,
0, 0, 3, 0, 0, 0, 4, 5, 78, 79,
6, 7, 8, 9, 0, 0, 10, -15, 11, 0,
0, 12, 13, 1, 0, 2, 14, 0, 3, 0,
0, 0, 4, 5, 0, 0, 6, 25, 8, 9,
0, 0, 10, 0, 11, 0, 0, 12, 13, 69,
70, 71, 14, 0, 0, 0, 0, 72, 73, 74,
75, 76
};
static const short yycheck[] =
{
0, 14, 6, 7, 8, 0, 10, 11, 35, 9,
3, 10, 11, 13, 7, 18, 63, 32, 18, 18,
20, 18, 38, 18, 24, 18, 18, 0, 9, 38,
77, 34, 43, 14, 10, 35, 17, 47, 85, 30,
53, 11, 89, 24, 47, 37, 50, 51, 47, 14,
47, 64, 52, 34, 47, 47, 43, 12, 13, 26,
15, 16, 29, 63, 11, 43, 46, 11, 35, 36,
47, 118, 12, 40, 41, 14, 80, 77, 82, 21,
47, 19, 30, 11, 11, 85, 9, 27, 28, 89,
22, 14, 7, 43, 17, 99, 96, 4, 125, 103,
147, 24, 149, 46, 25, 12, 13, 14, 15, 16,
46, 124, 46, 43, 47, 46, 129, 46, 118, 10,
8, 148, 126, 48, 128, 125, 11, 46, 46, 69,
70, 71, 72, 73, 74, 75, 76, 33, 78, 79,
4, 94, 4, 5, 6, -1, -1, 147, 148, 149,
12, 13, 14, 15, 16, 4, 5, 6, 122, -1,
-1, -1, -1, 12, 13, 14, 15, 16, 4, 5,
6, -1, 8, -1, -1, -1, 12, 13, 14, 15,
16, 43, 44, 45, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 43, 44, 45, 18, -1, 20,
-1, -1, 23, -1, -1, -1, 27, 28, 44, 45,
31, 32, 33, 34, -1, -1, 37, 38, 39, -1,
-1, 42, 43, 18, -1, 20, 47, -1, 23, -1,
-1, -1, 27, 28, -1, -1, 31, 32, 33, 34,
-1, -1, 37, -1, 39, -1, -1, 42, 43, 4,
5, 6, 47, -1, -1, -1, -1, 12, 13, 14,
15, 16
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const unsigned char yystos[] =
{
0, 18, 20, 23, 27, 28, 31, 32, 33, 34,
37, 39, 42, 43, 47, 50, 52, 56, 57, 67,
68, 70, 64, 65, 66, 32, 56, 3, 7, 47,
61, 67, 65, 65, 65, 67, 65, 65, 61, 51,
52, 53, 64, 0, 38, 52, 9, 14, 17, 24,
34, 60, 34, 67, 69, 26, 29, 35, 36, 40,
41, 47, 71, 43, 10, 67, 47, 61, 61, 4,
5, 6, 12, 13, 14, 15, 16, 43, 44, 45,
30, 11, 14, 53, 54, 43, 57, 11, 43, 43,
46, 11, 47, 14, 65, 65, 67, 64, 19, 21,
72, 51, 64, 30, 8, 61, 61, 61, 61, 61,
61, 61, 61, 51, 61, 61, 65, 65, 11, 51,
22, 62, 63, 51, 7, 55, 60, 11, 37, 67,
65, 43, 46, 65, 46, 51, 46, 47, 46, 62,
46, 64, 57, 65, 65, 64, 58, 43, 25, 10,
8, 11, 48, 51, 57, 51, 59, 46, 46
};
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# define YYSIZE_T __SIZE_TYPE__
#endif
#if ! defined (YYSIZE_T) && defined (size_t)
# define YYSIZE_T size_t
#endif
#if ! defined (YYSIZE_T)
# if defined (__STDC__) || defined (__cplusplus)
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# endif
#endif
#if ! defined (YYSIZE_T)
# define YYSIZE_T unsigned int
#endif
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
#define YYEMPTY (-2)
#define YYEOF 0
#define YYACCEPT goto yyacceptlab
#define YYABORT goto yyabortlab
#define YYERROR goto yyerrlab1
/* Like YYERROR except do call yyerror. This remains here temporarily
to ease the transition to the new meaning of YYERROR, for GCC.
Once GCC version 2 has supplanted version 1, this can go. */
#define YYFAIL goto yyerrlab
#define YYRECOVERING() (!!yyerrstatus)
#define YYBACKUP(Token, Value) \
do \
if (yychar == YYEMPTY && yylen == 1) \
{ \
yychar = (Token); \
yylval = (Value); \
yytoken = YYTRANSLATE (yychar); \
YYPOPSTACK; \
goto yybackup; \
} \
else \
{ \
yyerror ("syntax error: cannot back up");\
YYERROR; \
} \
while (0)
#define YYTERROR 1
#define YYERRCODE 256
/* YYLLOC_DEFAULT -- Compute the default location (before the actions
are run). */
#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \
Current.first_line = Rhs[1].first_line; \
Current.first_column = Rhs[1].first_column; \
Current.last_line = Rhs[N].last_line; \
Current.last_column = Rhs[N].last_column;
#endif
/* YYLEX -- calling `yylex' with the right arguments. */
#ifdef YYLEX_PARAM
# define YYLEX yylex (YYLEX_PARAM)
#else
# define YYLEX yylex ()
#endif
/* Enable debugging if requested. */
#if YYDEBUG
# ifndef YYFPRINTF
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
# define YYFPRINTF fprintf
# endif
# define YYDPRINTF(Args) \
do { \
if (yydebug) \
YYFPRINTF Args; \
} while (0)
# define YYDSYMPRINT(Args) \
do { \
if (yydebug) \
yysymprint Args; \
} while (0)
# define YYDSYMPRINTF(Title, Token, Value, Location) \
do { \
if (yydebug) \
{ \
YYFPRINTF (stderr, "%s ", Title); \
yysymprint (stderr, \
Token, Value); \
YYFPRINTF (stderr, "\n"); \
} \
} while (0)
/*------------------------------------------------------------------.
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
| TOP (cinluded). |
`------------------------------------------------------------------*/
#if defined (__STDC__) || defined (__cplusplus)
static void
yy_stack_print (short *bottom, short *top)
#else
static void
yy_stack_print (bottom, top)
short *bottom;
short *top;
#endif
{
YYFPRINTF (stderr, "Stack now");
for (/* Nothing. */; bottom <= top; ++bottom)
YYFPRINTF (stderr, " %d", *bottom);
YYFPRINTF (stderr, "\n");
}
# define YY_STACK_PRINT(Bottom, Top) \
do { \
if (yydebug) \
yy_stack_print ((Bottom), (Top)); \
} while (0)
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
#if defined (__STDC__) || defined (__cplusplus)
static void
yy_reduce_print (int yyrule)
#else
static void
yy_reduce_print (yyrule)
int yyrule;
#endif
{
int yyi;
unsigned int yylineno = yyrline[yyrule];
YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
yyrule - 1, yylineno);
/* Print the symbols being reduced, and their result. */
for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
}
# define YY_REDUCE_PRINT(Rule) \
do { \
if (yydebug) \
yy_reduce_print (Rule); \
} while (0)
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
int yydebug;
#else /* !YYDEBUG */
# define YYDPRINTF(Args)
# define YYDSYMPRINT(Args)
# define YYDSYMPRINTF(Title, Token, Value, Location)
# define YY_STACK_PRINT(Bottom, Top)
# define YY_REDUCE_PRINT(Rule)
#endif /* !YYDEBUG */
/* YYINITDEPTH -- initial size of the parser's stacks. */
#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
if the built-in stack extension method is used).
Do not make this value too large; the results are undefined if
SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
evaluated with infinite-precision integer arithmetic. */
#if YYMAXDEPTH == 0
# undef YYMAXDEPTH
#endif
#ifndef YYMAXDEPTH
# define YYMAXDEPTH 10000
#endif
#if YYERROR_VERBOSE
# ifndef yystrlen
# if defined (__GLIBC__) && defined (_STRING_H)
# define yystrlen strlen
# else
/* Return the length of YYSTR. */
static YYSIZE_T
# if defined (__STDC__) || defined (__cplusplus)
yystrlen (const char *yystr)
# else
yystrlen (yystr)
const char *yystr;
# endif
{
register const char *yys = yystr;
while (*yys++ != '\0')
continue;
return yys - yystr - 1;
}
# endif
# endif
# ifndef yystpcpy
# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
# define yystpcpy stpcpy
# else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
YYDEST. */
static char *
# if defined (__STDC__) || defined (__cplusplus)
yystpcpy (char *yydest, const char *yysrc)
# else
yystpcpy (yydest, yysrc)
char *yydest;
const char *yysrc;
# endif
{
register char *yyd = yydest;
register const char *yys = yysrc;
while ((*yyd++ = *yys++) != '\0')
continue;
return yyd - 1;
}
# endif
# endif
#endif /* !YYERROR_VERBOSE */
#if YYDEBUG
/*--------------------------------.
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
#if defined (__STDC__) || defined (__cplusplus)
static void
yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
#else
static void
yysymprint (yyoutput, yytype, yyvaluep)
FILE *yyoutput;
int yytype;
YYSTYPE *yyvaluep;
#endif
{
/* Pacify ``unused variable'' warnings. */
(void) yyvaluep;
if (yytype < YYNTOKENS)
{
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -