*yy_cp = '\0'; \
yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 19
-#define YY_END_OF_BUFFER 20
-static yyconst short int yy_accept[56] =
+#define YY_NUM_RULES 29
+#define YY_END_OF_BUFFER 30
+static yyconst short int yy_accept[93] =
{ 0,
- 0, 0, 20, 19, 18, 17, 19, 19, 4, 13,
- 3, 15, 15, 15, 15, 15, 15, 1, 2, 18,
- 0, 0, 13, 15, 15, 15, 15, 15, 15, 14,
- 16, 15, 15, 15, 15, 15, 15, 7, 8, 9,
- 10, 15, 15, 15, 15, 15, 12, 15, 15, 15,
- 15, 11, 5, 6, 0
+ 0, 0, 30, 29, 28, 27, 29, 29, 4, 23,
+ 3, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 1, 2, 28, 0, 0, 23,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 24, 26, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 7,
+ 9, 11, 13, 25, 25, 20, 25, 25, 8, 10,
+ 12, 14, 25, 25, 19, 25, 22, 25, 18, 25,
+ 21, 25, 17, 25, 25, 25, 25, 15, 5, 16,
+ 6, 0
+
} ;
static yyconst int yy_ec[256] =
1, 2, 1, 4, 5, 1, 1, 1, 1, 1,
1, 1, 1, 1, 6, 1, 1, 7, 8, 9,
10, 11, 7, 7, 7, 7, 7, 1, 12, 1,
- 1, 1, 1, 1, 13, 13, 14, 13, 13, 13,
- 13, 13, 13, 13, 13, 13, 15, 13, 16, 13,
- 13, 13, 17, 13, 13, 13, 13, 13, 13, 13,
- 1, 1, 1, 1, 13, 1, 13, 13, 13, 18,
-
- 13, 19, 13, 20, 21, 13, 13, 22, 13, 23,
- 24, 25, 13, 26, 27, 28, 13, 13, 13, 13,
- 13, 13, 29, 1, 30, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 13, 13, 14, 13, 13, 15,
+ 13, 13, 13, 13, 13, 13, 16, 13, 17, 13,
+ 13, 13, 18, 19, 13, 13, 13, 13, 13, 13,
+ 1, 1, 1, 1, 13, 1, 20, 13, 21, 22,
+
+ 23, 24, 13, 25, 26, 13, 13, 27, 28, 29,
+ 30, 31, 13, 32, 33, 34, 35, 13, 13, 13,
+ 13, 13, 36, 1, 37, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1
} ;
-static yyconst int yy_meta[31] =
+static yyconst int yy_meta[38] =
{ 0,
1, 1, 2, 1, 1, 1, 3, 3, 3, 3,
3, 1, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 1, 1
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 1, 1
} ;
-static yyconst short int yy_base[59] =
+static yyconst short int yy_base[96] =
{ 0,
- 0, 0, 79, 80, 76, 80, 0, 0, 80, 24,
- 80, 0, 53, 52, 50, 54, 48, 80, 80, 70,
- 67, 67, 29, 0, 46, 50, 39, 45, 37, 60,
- 80, 35, 33, 41, 42, 39, 33, 0, 0, 0,
- 0, 34, 29, 32, 31, 31, 0, 30, 30, 24,
- 22, 0, 0, 0, 80, 44, 47, 43
+ 0, 0, 116, 117, 113, 117, 0, 0, 117, 31,
+ 117, 0, 84, 93, 82, 80, 85, 77, 78, 87,
+ 76, 74, 79, 71, 117, 117, 100, 97, 97, 36,
+ 0, 70, 71, 75, 62, 69, 59, 64, 65, 69,
+ 56, 63, 53, 83, 117, 52, 52, 40, 58, 59,
+ 59, 47, 47, 44, 53, 54, 54, 44, 52, 0,
+ 0, 0, 0, 44, 39, 0, 40, 48, 0, 0,
+ 0, 0, 40, 35, 0, 38, 0, 38, 0, 36,
+ 0, 36, 0, 37, 30, 35, 27, 0, 0, 0,
+ 0, 117, 55, 58, 54
+
} ;
-static yyconst short int yy_def[59] =
+static yyconst short int yy_def[96] =
{ 0,
- 55, 1, 55, 55, 55, 55, 56, 57, 55, 58,
- 55, 58, 58, 58, 58, 58, 58, 55, 55, 55,
- 56, 57, 58, 58, 58, 58, 58, 58, 58, 56,
- 55, 58, 58, 58, 58, 58, 58, 58, 58, 58,
- 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
- 58, 58, 58, 58, 0, 55, 55, 55
+ 92, 1, 92, 92, 92, 92, 93, 94, 92, 95,
+ 92, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 92, 92, 92, 93, 94, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 93, 92, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 0, 92, 92, 92
+
} ;
-static yyconst short int yy_nxt[111] =
+static yyconst short int yy_nxt[155] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 10, 10, 10,
- 10, 11, 12, 13, 14, 15, 16, 12, 12, 12,
- 12, 12, 12, 17, 12, 12, 12, 12, 18, 19,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 38, 39, 40, 41, 21, 24, 21, 22, 54, 22,
- 53, 52, 51, 50, 49, 48, 47, 46, 45, 44,
- 43, 42, 37, 30, 36, 35, 34, 33, 32, 31,
- 30, 20, 29, 28, 27, 26, 25, 20, 55, 3,
- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
-
- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 12,
+ 19, 12, 12, 20, 12, 12, 12, 21, 12, 22,
+ 12, 12, 23, 24, 12, 25, 26, 30, 30, 30,
+ 30, 30, 30, 30, 30, 30, 30, 60, 61, 62,
+ 63, 69, 70, 71, 72, 28, 31, 28, 29, 91,
+ 29, 90, 89, 88, 87, 86, 85, 84, 83, 82,
+ 81, 80, 79, 78, 77, 76, 75, 74, 73, 68,
+ 67, 66, 65, 64, 59, 58, 44, 57, 56, 55,
+ 54, 53, 52, 51, 50, 49, 48, 47, 46, 45,
+
+ 44, 27, 43, 42, 41, 40, 39, 38, 37, 36,
+ 35, 34, 33, 32, 27, 92, 3, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92
} ;
-static yyconst short int yy_chk[111] =
+static yyconst short int yy_chk[155] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 10, 10, 10, 10, 10, 23, 23, 23, 23, 23,
- 33, 33, 33, 33, 56, 58, 56, 57, 51, 57,
- 50, 49, 48, 46, 45, 44, 43, 42, 37, 36,
- 35, 34, 32, 30, 29, 28, 27, 26, 25, 22,
- 21, 20, 17, 16, 15, 14, 13, 5, 3, 55,
- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
-
- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55
+ 1, 1, 1, 1, 1, 1, 1, 10, 10, 10,
+ 10, 10, 30, 30, 30, 30, 30, 48, 48, 48,
+ 48, 54, 54, 54, 54, 93, 95, 93, 94, 87,
+ 94, 86, 85, 84, 82, 80, 78, 76, 74, 73,
+ 68, 67, 65, 64, 59, 58, 57, 56, 55, 53,
+ 52, 51, 50, 49, 47, 46, 44, 43, 42, 41,
+ 40, 39, 38, 37, 36, 35, 34, 33, 32, 29,
+
+ 28, 27, 24, 23, 22, 21, 20, 19, 18, 17,
+ 16, 15, 14, 13, 5, 3, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92
} ;
static yy_state_type yy_last_accepting_state;
extern YYSTYPE yylval;
-#line 409 "lex.yy.c"
+#line 435 "lex.yy.c"
/* Macros after this point can all be overridden by user definitions in
* section 1.
#line 10 "epist.l"
-#line 563 "lex.yy.c"
+#line 589 "lex.yy.c"
if ( yy_init )
{
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 56 )
+ if ( yy_current_state >= 93 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_base[yy_current_state] != 80 );
+ while ( yy_base[yy_current_state] != 117 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
case 11:
#line 23 "epist.l"
case 12:
+#line 24 "epist.l"
+case 13:
+#line 25 "epist.l"
+case 14:
+#line 26 "epist.l"
+case 15:
+#line 27 "epist.l"
+case 16:
+#line 28 "epist.l"
+case 17:
+#line 29 "epist.l"
+case 18:
YY_RULE_SETUP
-#line 23 "epist.l"
+#line 29 "epist.l"
yylval = (int) strdup(yytext); return BINDING;
YY_BREAK
-case 13:
+case 19:
+#line 31 "epist.l"
+case 20:
YY_RULE_SETUP
-#line 24 "epist.l"
+#line 31 "epist.l"
+yylval = (int) strdup(yytext); return TRUE;
+ YY_BREAK
+case 21:
+#line 33 "epist.l"
+case 22:
+YY_RULE_SETUP
+#line 33 "epist.l"
+yylval = (int) strdup(yytext); return FALSE;
+ YY_BREAK
+case 23:
+YY_RULE_SETUP
+#line 34 "epist.l"
yylval = (int) strdup(yytext); return NUMBER;
YY_BREAK
-case 14:
+case 24:
YY_RULE_SETUP
-#line 25 "epist.l"
+#line 35 "epist.l"
yylval = (int) strdup(yytext); return QUOTES;
YY_BREAK
-case 15:
+case 25:
YY_RULE_SETUP
-#line 26 "epist.l"
+#line 36 "epist.l"
yylval = (int) strdup(yytext); return WORD;
YY_BREAK
-case 16:
+case 26:
YY_RULE_SETUP
-#line 27 "epist.l"
+#line 37 "epist.l"
/* ignore */
YY_BREAK
-case 17:
+case 27:
YY_RULE_SETUP
-#line 28 "epist.l"
+#line 38 "epist.l"
/* ignore */
YY_BREAK
-case 18:
+case 28:
YY_RULE_SETUP
-#line 29 "epist.l"
+#line 39 "epist.l"
/* */
YY_BREAK
-case 19:
+case 29:
YY_RULE_SETUP
-#line 30 "epist.l"
+#line 40 "epist.l"
ECHO;
YY_BREAK
-#line 723 "lex.yy.c"
+#line 775 "lex.yy.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 56 )
+ if ( yy_current_state >= 93 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 56 )
+ if ( yy_current_state >= 93 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 55);
+ yy_is_jam = (yy_current_state == 92);
return yy_is_jam ? 0 : yy_current_state;
}
return 0;
}
#endif
-#line 30 "epist.l"
+#line 40 "epist.l"
-/* A Bison parser, made from epist.y
- by GNU bison 1.34. */
+
+/* A Bison parser, made from epist.y
+ by GNU Bison version 1.28 */
#define YYBISON 1 /* Identify Bison output. */
-# define OBRACE 257
-# define EBRACE 258
-# define SEMICOLON 259
-# define DASH 260
-# define NUMBER 261
-# define QUOTES 262
-# define WORD 263
-# define BINDING 264
-# define OPTIONS 265
+#define OBRACE 257
+#define EBRACE 258
+#define SEMICOLON 259
+#define DASH 260
+#define NUMBER 261
+#define QUOTES 262
+#define WORD 263
+#define BINDING 264
+#define OPTIONS 265
+#define TRUE 266
+#define FALSE 267
#line 1 "epist.y"
#ifndef YYSTYPE
#define YYSTYPE int
#endif
-#ifndef YYDEBUG
-# define YYDEBUG 0
+#include <stdio.h>
+
+#ifndef __cplusplus
+#ifndef __STDC__
+#define const
+#endif
#endif
-#define YYFINAL 40
+#define YYFINAL 42
#define YYFLAG -32768
-#define YYNTBASE 12
-
-/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
-#define YYTRANSLATE(x) ((unsigned)(x) <= 265 ? yytranslate[x] : 26)
-
-/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
-static const char yytranslate[] =
-{
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 3, 4, 5,
- 6, 7, 8, 9, 10, 11
+#define YYNTBASE 14
+
+#define YYTRANSLATE(x) ((unsigned)(x) <= 267 ? yytranslate[x] : 28)
+
+static const char yytranslate[] = { 0,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13
};
-#if YYDEBUG
-static const short yyprhs[] =
-{
- 0, 0, 1, 4, 7, 9, 11, 16, 21, 26,
- 29, 31, 33, 34, 38, 40, 42, 44, 46, 48,
- 50, 51, 53, 56, 58, 60, 61, 64
+#if YYDEBUG != 0
+static const short yyprhs[] = { 0,
+ 0, 1, 4, 7, 9, 11, 16, 21, 26, 29,
+ 31, 33, 34, 38, 40, 42, 44, 46, 48, 50,
+ 51, 53, 56, 58, 60, 62, 64, 65, 68
};
-static const short yyrhs[] =
-{
- -1, 12, 13, 0, 12, 16, 0, 14, 0, 15,
- 0, 17, 9, 22, 5, 0, 17, 18, 12, 19,
- 0, 23, 3, 24, 4, 0, 20, 21, 0, 3,
- 0, 4, 0, 0, 10, 6, 20, 0, 3, 0,
- 4, 0, 6, 0, 5, 0, 7, 0, 9, 0,
- 0, 7, 0, 6, 7, 0, 8, 0, 11, 0,
- 0, 24, 25, 0, 9, 22, 5, 0
+
+static const short yyrhs[] = { -1,
+ 14, 15, 0, 14, 18, 0, 16, 0, 17, 0,
+ 19, 9, 24, 5, 0, 19, 20, 14, 21, 0,
+ 25, 3, 26, 4, 0, 22, 23, 0, 3, 0,
+ 4, 0, 0, 10, 6, 22, 0, 3, 0, 4,
+ 0, 6, 0, 5, 0, 7, 0, 9, 0, 0,
+ 7, 0, 6, 7, 0, 8, 0, 12, 0, 13,
+ 0, 11, 0, 0, 26, 27, 0, 9, 24, 5,
+ 0
};
#endif
-#if YYDEBUG
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const short yyrline[] =
-{
- 0, 31, 32, 33, 36, 37, 40, 49, 56, 60,
- 64, 68, 72, 73, 76, 78, 79, 80, 81, 82,
- 85, 86, 87, 88, 91, 95, 96, 99
+#if YYDEBUG != 0
+static const short yyrline[] = { 0,
+ 31, 32, 33, 36, 37, 40, 49, 56, 60, 64,
+ 68, 72, 73, 76, 78, 79, 80, 81, 82, 85,
+ 86, 87, 88, 89, 90, 93, 97, 98, 101
};
#endif
-#if (YYDEBUG) || defined YYERROR_VERBOSE
+#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
-/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
-static const char *const yytname[] =
-{
- "$", "error", "$undefined.", "OBRACE", "EBRACE", "SEMICOLON", "DASH",
- "NUMBER", "QUOTES", "WORD", "BINDING", "OPTIONS", "commands", "command",
- "action_command", "chain_command", "options_block", "binding", "obrace",
- "ebrace", "binding_w_modifier", "bind_key", "parameter",
- "options_keyword", "options", "option", 0
+static const char * const yytname[] = { "$","error","$undefined.","OBRACE",
+"EBRACE","SEMICOLON","DASH","NUMBER","QUOTES","WORD","BINDING","OPTIONS","TRUE",
+"FALSE","commands","command","action_command","chain_command","options_block",
+"binding","obrace","ebrace","binding_w_modifier","bind_key","parameter","options_keyword",
+"options","option", NULL
};
#endif
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const short yyr1[] =
-{
- 0, 12, 12, 12, 13, 13, 14, 15, 16, 17,
- 18, 19, 20, 20, 21, 21, 21, 21, 21, 21,
- 22, 22, 22, 22, 23, 24, 24, 25
+static const short yyr1[] = { 0,
+ 14, 14, 14, 15, 15, 16, 17, 18, 19, 20,
+ 21, 22, 22, 23, 23, 23, 23, 23, 23, 24,
+ 24, 24, 24, 24, 24, 25, 26, 26, 27
};
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const short yyr2[] =
-{
- 0, 0, 2, 2, 1, 1, 4, 4, 4, 2,
- 1, 1, 0, 3, 1, 1, 1, 1, 1, 1,
- 0, 1, 2, 1, 1, 0, 2, 3
+static const short yyr2[] = { 0,
+ 0, 2, 2, 1, 1, 4, 4, 4, 2, 1,
+ 1, 0, 3, 1, 1, 1, 1, 1, 1, 0,
+ 1, 2, 1, 1, 1, 1, 0, 2, 3
};
-/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
- doesn't specify something else to do. Zero means the default is an
- error. */
-static const short yydefact[] =
-{
- 1, 12, 0, 24, 2, 4, 5, 3, 0, 0,
- 0, 12, 10, 20, 1, 14, 15, 17, 16, 18,
- 19, 9, 25, 13, 0, 21, 23, 0, 12, 0,
- 22, 6, 11, 7, 8, 20, 26, 0, 27, 0,
- 0
+static const short yydefact[] = { 1,
+ 12, 0, 26, 2, 4, 5, 3, 0, 0, 0,
+ 12, 10, 20, 1, 14, 15, 17, 16, 18, 19,
+ 9, 27, 13, 0, 21, 23, 24, 25, 0, 12,
+ 0, 22, 6, 11, 7, 8, 20, 28, 0, 29,
+ 0, 0
};
-static const short yydefgoto[] =
-{
- 1, 4, 5, 6, 7, 8, 14, 33, 9, 21,
- 27, 10, 29, 36
+static const short yydefgoto[] = { 1,
+ 4, 5, 6, 7, 8, 14, 35, 9, 21, 29,
+ 10, 31, 38
};
-static const short yypact[] =
-{
- -32768, 0, -1,-32768,-32768,-32768,-32768,-32768, 14, 9,
- 3, 10,-32768, -4,-32768,-32768,-32768,-32768,-32768,-32768,
- -32768,-32768,-32768,-32768, 2,-32768,-32768, 16, -3, 15,
- -32768,-32768,-32768,-32768,-32768, -4,-32768, 17,-32768, 25,
- -32768
+static const short yypact[] = {-32768,
+ 0, -2,-32768,-32768,-32768,-32768,-32768, 16, 11, 6,
+ 12,-32768, -5,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768, 20,-32768,-32768,-32768,-32768, 18, 2,
+ 17,-32768,-32768,-32768,-32768,-32768, -5,-32768, 19,-32768,
+ 5,-32768
};
-static const short yypgoto[] =
-{
- 12,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 18,-32768,
- -8,-32768,-32768,-32768
+static const short yypgoto[] = { 14,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768, 21,-32768, -8,
+-32768,-32768,-32768
};
-#define YYLAST 29
+#define YYLAST 32
-static const short yytable[] =
-{
- 39, 32, 24, 25, 26, 11, 22, 2, 3, 30,
- 2, 3, 15, 16, 17, 18, 19, 12, 20, 34,
- 2, 31, 38, 13, 35, 40, 28, 37, 0, 23
+static const short yytable[] = { 41,
+ 24, 25, 26, 11, 42, 34, 27, 28, 22, 2,
+ 3, 2, 3, 15, 16, 17, 18, 19, 12, 20,
+ 36, 2, 33, 40, 13, 37, 32, 30, 39, 0,
+ 0, 23
};
-static const short yycheck[] =
-{
- 0, 4, 6, 7, 8, 6, 3, 10, 11, 7,
- 10, 11, 3, 4, 5, 6, 7, 3, 9, 4,
- 10, 5, 5, 9, 9, 0, 14, 35, -1, 11
+static const short yycheck[] = { 0,
+ 6, 7, 8, 6, 0, 4, 12, 13, 3, 10,
+ 11, 10, 11, 3, 4, 5, 6, 7, 3, 9,
+ 4, 10, 5, 5, 9, 9, 7, 14, 37, -1,
+ -1, 11
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/share/bison/bison.simple"
+#line 3 "/usr/share/misc/bison.simple"
+/* This file comes from bison-1.28. */
/* Skeleton output parser for bison,
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
- Foundation, Inc.
+ Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This special exception was added by the Free Software Foundation
in version 1.24 of Bison. */
-/* This is the parser code that is written into each bison parser when
- the %semantic_parser declaration is not specified in the grammar.
- It was written by Richard Stallman by simplifying the hairy parser
- used when %semantic_parser is specified. */
-
-/* All symbols defined below should begin with yy or YY, to avoid
- infringing on user name space. This should be done even for local
- variables, as they might otherwise be expanded by user macros.
- There are some unavoidable exceptions within include files to
- define necessary library symbols; they are noted "INFRINGES ON
- USER NAME SPACE" below. */
-
-#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
-
-/* The parser invokes alloca or malloc; define the necessary symbols. */
-
-# if YYSTACK_USE_ALLOCA
-# define YYSTACK_ALLOC alloca
-# else
-# ifndef YYSTACK_USE_ALLOCA
-# if defined (alloca) || defined (_ALLOCA_H)
-# define YYSTACK_ALLOC alloca
-# else
-# ifdef __GNUC__
-# define YYSTACK_ALLOC __builtin_alloca
-# endif
-# endif
-# endif
-# endif
-
-# ifdef YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-# if defined (__STDC__) || defined (__cplusplus)
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-# endif
-# define YYSTACK_ALLOC malloc
-# define YYSTACK_FREE free
-# endif
-
-/* A type that is properly aligned for any stack member. */
-union yyalloc
-{
- short yyss;
- YYSTYPE yyvs;
-# if YYLSP_NEEDED
- YYLTYPE yyls;
-# endif
-};
+/* This is the parser code that is written into each bison parser
+ when the %semantic_parser declaration is not specified in the grammar.
+ It was written by Richard Stallman by simplifying the hairy parser
+ used when %semantic_parser is specified. */
-/* The size of the maximum gap between one aligned stack and the next. */
-# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
- N elements. */
-# if YYLSP_NEEDED
-# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
- + 2 * YYSTACK_GAP_MAX)
-# else
-# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
- + YYSTACK_GAP_MAX)
-# endif
-
-/* Relocate the TYPE STACK from its old location to the new one. The
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
- elements in the stack, and YYPTR gives the new location of the
- stack. Advance YYPTR to a properly aligned location for the next
- stack. */
-# define YYSTACK_RELOCATE(Type, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- yymemcpy ((char *) yyptr, (char *) (Stack), \
- yysize * (YYSIZE_T) sizeof (Type)); \
- Stack = &yyptr->Stack; \
- yynewbytes = yystacksize * sizeof (Type) + YYSTACK_GAP_MAX; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (0)
-
-#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
-
-
-#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
+#ifndef YYSTACK_USE_ALLOCA
+#ifdef alloca
+#define YYSTACK_USE_ALLOCA
+#else /* alloca not defined */
+#ifdef __GNUC__
+#define YYSTACK_USE_ALLOCA
+#define alloca __builtin_alloca
+#else /* not GNU C. */
+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
+#define YYSTACK_USE_ALLOCA
+#include <alloca.h>
+#else /* not sparc */
+/* We think this test detects Watcom and Microsoft C. */
+/* This used to test MSDOS, but that is a bad idea
+ since that symbol is in the user namespace. */
+#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
+#if 0 /* No need for malloc.h, which pollutes the namespace;
+ instead, just don't use alloca. */
+#include <malloc.h>
#endif
-#if ! defined (YYSIZE_T)
-# if defined (__STDC__) || defined (__cplusplus)
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-# endif
+#else /* not MSDOS, or __TURBOC__ */
+#if defined(_AIX)
+/* I don't know what this was needed for, but it pollutes the namespace.
+ So I turned it off. rms, 2 May 1997. */
+/* #include <malloc.h> */
+ #pragma alloca
+#define YYSTACK_USE_ALLOCA
+#else /* not MSDOS, or __TURBOC__, or _AIX */
+#if 0
+#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
+ and on HPUX 10. Eventually we can turn this on. */
+#define YYSTACK_USE_ALLOCA
+#define alloca __builtin_alloca
+#endif /* __hpux */
#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
+#endif /* not _AIX */
+#endif /* not MSDOS, or __TURBOC__ */
+#endif /* not sparc */
+#endif /* not GNU C */
+#endif /* alloca not defined */
+#endif /* YYSTACK_USE_ALLOCA not defined */
+
+#ifdef YYSTACK_USE_ALLOCA
+#define YYSTACK_ALLOC alloca
+#else
+#define YYSTACK_ALLOC malloc
#endif
+/* Note: there must be only one dollar sign in this file.
+ It is replaced by the list of actions, each action
+ as one case of the switch. */
+
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
#define YYEMPTY -2
#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.
+/* 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) \
+#define YYBACKUP(token, value) \
do \
if (yychar == YYEMPTY && yylen == 1) \
- { \
- yychar = (Token); \
- yylval = (Value); \
+ { yychar = (token), yylval = (value); \
yychar1 = YYTRANSLATE (yychar); \
YYPOPSTACK; \
goto yybackup; \
} \
else \
- { \
- yyerror ("syntax error: cannot back up"); \
- YYERROR; \
- } \
+ { yyerror ("syntax error: cannot back up"); YYERROR; } \
while (0)
#define YYTERROR 1
#define YYERRCODE 256
+#ifndef YYPURE
+#define YYLEX yylex()
+#endif
+
+#ifdef YYPURE
+#ifdef YYLSP_NEEDED
+#ifdef YYLEX_PARAM
+#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
+#else
+#define YYLEX yylex(&yylval, &yylloc)
+#endif
+#else /* not YYLSP_NEEDED */
+#ifdef YYLEX_PARAM
+#define YYLEX yylex(&yylval, YYLEX_PARAM)
+#else
+#define YYLEX yylex(&yylval)
+#endif
+#endif /* not YYLSP_NEEDED */
+#endif
+
+/* If nonreentrant, generate the variables here */
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
- are run).
+#ifndef YYPURE
- When YYLLOC_DEFAULT is run, CURRENT is set the location of the
- first token. By default, to implement support for ranges, extend
- its range to the last symbol. */
+int yychar; /* the lookahead symbol */
+YYSTYPE yylval; /* the semantic value of the */
+ /* lookahead symbol */
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N) \
- Current.last_line = Rhs[N].last_line; \
- Current.last_column = Rhs[N].last_column;
+#ifdef YYLSP_NEEDED
+YYLTYPE yylloc; /* location data for the lookahead */
+ /* symbol */
#endif
+int yynerrs; /* number of parse errors so far */
+#endif /* not YYPURE */
-/* YYLEX -- calling `yylex' with the right arguments. */
-
-#if YYPURE
-# if YYLSP_NEEDED
-# ifdef YYLEX_PARAM
-# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
-# else
-# define YYLEX yylex (&yylval, &yylloc)
-# endif
-# else /* !YYLSP_NEEDED */
-# ifdef YYLEX_PARAM
-# define YYLEX yylex (&yylval, YYLEX_PARAM)
-# else
-# define YYLEX yylex (&yylval)
-# endif
-# endif /* !YYLSP_NEEDED */
-#else /* !YYPURE */
-# define YYLEX yylex ()
-#endif /* !YYPURE */
-
-
-/* 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)
-/* Nonzero means print parse trace. It is left uninitialized so that
- multiple parsers can coexist. */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-#endif /* !YYDEBUG */
-
-/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
-# define YYINITDEPTH 200
+#if YYDEBUG != 0
+int yydebug; /* nonzero means print parse trace */
+/* Since this is uninitialized, it does not stop multiple parsers
+ from coexisting. */
#endif
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
- if the built-in stack extension method is used).
+/* YYINITDEPTH indicates the initial size of the parser's stacks */
- Do not make this value too large; the results are undefined if
- SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
- evaluated with infinite-precision integer arithmetic. */
+#ifndef YYINITDEPTH
+#define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH is the maximum size the stacks can grow to
+ (effective only if the built-in stack extension method is used). */
#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
+#undef YYMAXDEPTH
#endif
#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
+#define YYMAXDEPTH 10000
#endif
\f
-#if ! defined (yyoverflow) && ! defined (yymemcpy)
-# if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
-# define yymemcpy __builtin_memcpy
-# else /* not GNU C or C++ */
+/* Define __yy_memcpy. Note that the size argument
+ should be passed with type unsigned int, because that is what the non-GCC
+ definitions require. With GCC, __builtin_memcpy takes an arg
+ of type size_t, but it can handle unsigned int. */
+
+#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
+#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
+#else /* not GNU C or C++ */
+#ifndef __cplusplus
/* This is the most reliable way to avoid incompatibilities
in available built-in functions on various systems. */
static void
-# if defined (__STDC__) || defined (__cplusplus)
-yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T yycount)
-# else
-yymemcpy (yyto, yyfrom, yycount)
- char *yyto;
- const char *yyfrom;
- YYSIZE_T yycount;
-# endif
+__yy_memcpy (to, from, count)
+ char *to;
+ char *from;
+ unsigned int count;
{
- register const char *yyf = yyfrom;
- register char *yyt = yyto;
- register YYSIZE_T yyi = yycount;
+ register char *f = from;
+ register char *t = to;
+ register int i = count;
- while (yyi-- != 0)
- *yyt++ = *yyf++;
+ while (i-- > 0)
+ *t++ = *f++;
}
-# endif
-#endif
-#ifdef YYERROR_VERBOSE
+#else /* __cplusplus */
-# 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
+/* This is the most reliable way to avoid incompatibilities
+ in available built-in functions on various systems. */
+static void
+__yy_memcpy (char *to, char *from, unsigned int count)
{
- register const char *yys = yystr;
-
- while (*yys++ != '\0')
- continue;
+ register char *t = to;
+ register char *f = from;
+ register int i = count;
- return yys - yystr - 1;
+ while (i-- > 0)
+ *t++ = *f++;
}
-# 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
#endif
\f
-#line 319 "/usr/share/bison/bison.simple"
-
+#line 217 "/usr/share/misc/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
to the proper pointer type. */
#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-# define YYPARSE_PARAM_DECL
-# else
-# define YYPARSE_PARAM_ARG YYPARSE_PARAM
-# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-# endif
-#else /* !YYPARSE_PARAM */
-# define YYPARSE_PARAM_ARG
-# define YYPARSE_PARAM_DECL
-#endif /* !YYPARSE_PARAM */
+#ifdef __cplusplus
+#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
+#define YYPARSE_PARAM_DECL
+#else /* not __cplusplus */
+#define YYPARSE_PARAM_ARG YYPARSE_PARAM
+#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
+#endif /* not __cplusplus */
+#else /* not YYPARSE_PARAM */
+#define YYPARSE_PARAM_ARG
+#define YYPARSE_PARAM_DECL
+#endif /* not YYPARSE_PARAM */
/* Prevent warning if -Wstrict-prototypes. */
#ifdef __GNUC__
-# ifdef YYPARSE_PARAM
+#ifdef YYPARSE_PARAM
int yyparse (void *);
-# else
+#else
int yyparse (void);
-# endif
#endif
-
-/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
- variables are global, or local to YYPARSE. */
-
-#define YY_DECL_NON_LSP_VARIABLES \
-/* The lookahead symbol. */ \
-int yychar; \
- \
-/* The semantic value of the lookahead symbol. */ \
-YYSTYPE yylval; \
- \
-/* Number of parse errors so far. */ \
-int yynerrs;
-
-#if YYLSP_NEEDED
-# define YY_DECL_VARIABLES \
-YY_DECL_NON_LSP_VARIABLES \
- \
-/* Location data for the lookahead symbol. */ \
-YYLTYPE yylloc;
-#else
-# define YY_DECL_VARIABLES \
-YY_DECL_NON_LSP_VARIABLES
#endif
-
-/* If nonreentrant, generate the variables here. */
-
-#if !YYPURE
-YY_DECL_VARIABLES
-#endif /* !YYPURE */
-
int
-yyparse (YYPARSE_PARAM_ARG)
+yyparse(YYPARSE_PARAM_ARG)
YYPARSE_PARAM_DECL
{
- /* If reentrant, generate the variables here. */
-#if YYPURE
- YY_DECL_VARIABLES
-#endif /* !YYPURE */
-
register int yystate;
register int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Lookahead token as an internal (translated) token number. */
- int yychar1 = 0;
-
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
-
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
-
- /* The state stack. */
- short yyssa[YYINITDEPTH];
- short *yyss = yyssa;
register short *yyssp;
-
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
register YYSTYPE *yyvsp;
+ int yyerrstatus; /* number of tokens to shift before error messages enabled */
+ int yychar1 = 0; /* lookahead token as an internal (translated) token number */
-#if YYLSP_NEEDED
- /* The location stack. */
- YYLTYPE yylsa[YYINITDEPTH];
+ short yyssa[YYINITDEPTH]; /* the state stack */
+ YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
+
+ short *yyss = yyssa; /* refer to the stacks thru separate pointers */
+ YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
+
+#ifdef YYLSP_NEEDED
+ YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
YYLTYPE *yyls = yylsa;
YYLTYPE *yylsp;
-#endif
-#if YYLSP_NEEDED
-# define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
+#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
#else
-# define YYPOPSTACK (yyvsp--, yyssp--)
+#define YYPOPSTACK (yyvsp--, yyssp--)
#endif
- YYSIZE_T yystacksize = YYINITDEPTH;
-
+ int yystacksize = YYINITDEPTH;
+ int yyfree_stacks = 0;
- /* The variables used to return semantic value and location from the
- action routines. */
- YYSTYPE yyval;
-#if YYLSP_NEEDED
- YYLTYPE yyloc;
+#ifdef YYPURE
+ int yychar;
+ YYSTYPE yylval;
+ int yynerrs;
+#ifdef YYLSP_NEEDED
+ YYLTYPE yylloc;
#endif
+#endif
+
+ YYSTYPE yyval; /* the variable used to return */
+ /* semantic values from the action */
+ /* routines */
- /* When reducing, the number of symbols on the RHS of the reduced
- rule. */
int yylen;
- YYDPRINTF ((stderr, "Starting parse\n"));
+#if YYDEBUG != 0
+ if (yydebug)
+ fprintf(stderr, "Starting parse\n");
+#endif
yystate = 0;
yyerrstatus = 0;
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
- yyssp = yyss;
+ yyssp = yyss - 1;
yyvsp = yyvs;
-#if YYLSP_NEEDED
+#ifdef YYLSP_NEEDED
yylsp = yyls;
#endif
- goto yysetstate;
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate. |
-`------------------------------------------------------------*/
- yynewstate:
- /* In all cases, when you get here, the value and location stacks
- have just been pushed. so pushing a state here evens the stacks.
- */
- yyssp++;
+/* Push a new state, which is found in yystate . */
+/* In all cases, when you get here, the value and location stacks
+ have just been pushed. so pushing a state here evens the stacks. */
+yynewstate:
- yysetstate:
- *yyssp = yystate;
+ *++yyssp = yystate;
if (yyssp >= yyss + yystacksize - 1)
{
+ /* Give user a chance to reallocate the stack */
+ /* Use copies of these so that the &'s don't force the real ones into memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ short *yyss1 = yyss;
+#ifdef YYLSP_NEEDED
+ YYLTYPE *yyls1 = yyls;
+#endif
+
/* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = yyssp - yyss + 1;
+ int size = yyssp - yyss + 1;
#ifdef yyoverflow
- {
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
- memory. */
- YYSTYPE *yyvs1 = yyvs;
- short *yyss1 = yyss;
-
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. */
-# if YYLSP_NEEDED
- YYLTYPE *yyls1 = yyls;
- /* This used to be a conditional around just the two extra args,
- but that might be undefined if yyoverflow is a macro. */
- yyoverflow ("parser stack overflow",
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
- &yyls1, yysize * sizeof (*yylsp),
- &yystacksize);
- yyls = yyls1;
-# else
- yyoverflow ("parser stack overflow",
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
- &yystacksize);
-# endif
- yyss = yyss1;
- yyvs = yyvs1;
- }
+ /* Each stack pointer address is followed by the size of
+ the data in use in that stack, in bytes. */
+#ifdef YYLSP_NEEDED
+ /* This used to be a conditional around just the two extra args,
+ but that might be undefined if yyoverflow is a macro. */
+ yyoverflow("parser stack overflow",
+ &yyss1, size * sizeof (*yyssp),
+ &yyvs1, size * sizeof (*yyvsp),
+ &yyls1, size * sizeof (*yylsp),
+ &yystacksize);
+#else
+ yyoverflow("parser stack overflow",
+ &yyss1, size * sizeof (*yyssp),
+ &yyvs1, size * sizeof (*yyvsp),
+ &yystacksize);
+#endif
+
+ yyss = yyss1; yyvs = yyvs1;
+#ifdef YYLSP_NEEDED
+ yyls = yyls1;
+#endif
#else /* no yyoverflow */
/* Extend the stack our own way. */
if (yystacksize >= YYMAXDEPTH)
- goto yyoverflowlab;
+ {
+ yyerror("parser stack overflow");
+ if (yyfree_stacks)
+ {
+ free (yyss);
+ free (yyvs);
+#ifdef YYLSP_NEEDED
+ free (yyls);
+#endif
+ }
+ return 2;
+ }
yystacksize *= 2;
if (yystacksize > YYMAXDEPTH)
yystacksize = YYMAXDEPTH;
-
- {
- short *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyoverflowlab;
- YYSTACK_RELOCATE (short, yyss);
- YYSTACK_RELOCATE (YYSTYPE, yyvs);
-# if YYLSP_NEEDED
- YYSTACK_RELOCATE (YYLTYPE, yyls);
-# endif
-# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
- }
+#ifndef YYSTACK_USE_ALLOCA
+ yyfree_stacks = 1;
+#endif
+ yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
+ __yy_memcpy ((char *)yyss, (char *)yyss1,
+ size * (unsigned int) sizeof (*yyssp));
+ yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
+ __yy_memcpy ((char *)yyvs, (char *)yyvs1,
+ size * (unsigned int) sizeof (*yyvsp));
+#ifdef YYLSP_NEEDED
+ yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
+ __yy_memcpy ((char *)yyls, (char *)yyls1,
+ size * (unsigned int) sizeof (*yylsp));
+#endif
#endif /* no yyoverflow */
- yyssp = yyss + yysize - 1;
- yyvsp = yyvs + yysize - 1;
-#if YYLSP_NEEDED
- yylsp = yyls + yysize - 1;
+ yyssp = yyss + size - 1;
+ yyvsp = yyvs + size - 1;
+#ifdef YYLSP_NEEDED
+ yylsp = yyls + size - 1;
#endif
- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
+#if YYDEBUG != 0
+ if (yydebug)
+ fprintf(stderr, "Stack size increased to %d\n", yystacksize);
+#endif
if (yyssp >= yyss + yystacksize - 1)
YYABORT;
}
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+#if YYDEBUG != 0
+ if (yydebug)
+ fprintf(stderr, "Entering state %d\n", yystate);
+#endif
goto yybackup;
-
-
-/*-----------.
-| yybackup. |
-`-----------*/
-yybackup:
+ yybackup:
/* Do appropriate processing given the current state. */
/* Read a lookahead token if we need one and don't already have one. */
if (yychar == YYEMPTY)
{
- YYDPRINTF ((stderr, "Reading a token: "));
+#if YYDEBUG != 0
+ if (yydebug)
+ fprintf(stderr, "Reading a token: ");
+#endif
yychar = YYLEX;
}
yychar1 = 0;
yychar = YYEOF; /* Don't call YYLEX any more */
- YYDPRINTF ((stderr, "Now at end of input.\n"));
+#if YYDEBUG != 0
+ if (yydebug)
+ fprintf(stderr, "Now at end of input.\n");
+#endif
}
else
{
- yychar1 = YYTRANSLATE (yychar);
+ yychar1 = YYTRANSLATE(yychar);
-#if YYDEBUG
- /* We have to keep this `#if YYDEBUG', since we use variables
- which are defined only if `YYDEBUG' is set. */
+#if YYDEBUG != 0
if (yydebug)
{
- YYFPRINTF (stderr, "Next token is %d (%s",
- yychar, yytname[yychar1]);
- /* Give the individual parser a way to print the precise
- meaning of a token, for further debugging info. */
-# ifdef YYPRINT
+ fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
+ /* Give the individual parser a way to print the precise meaning
+ of a token, for further debugging info. */
+#ifdef YYPRINT
YYPRINT (stderr, yychar, yylval);
-# endif
- YYFPRINTF (stderr, ")\n");
+#endif
+ fprintf (stderr, ")\n");
}
#endif
}
YYACCEPT;
/* Shift the lookahead token. */
- YYDPRINTF ((stderr, "Shifting token %d (%s), ",
- yychar, yytname[yychar1]));
+
+#if YYDEBUG != 0
+ if (yydebug)
+ fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
+#endif
/* Discard the token being shifted unless it is eof. */
if (yychar != YYEOF)
yychar = YYEMPTY;
*++yyvsp = yylval;
-#if YYLSP_NEEDED
+#ifdef YYLSP_NEEDED
*++yylsp = yylloc;
#endif
- /* Count tokens shifted since error; after three, turn off error
- status. */
- if (yyerrstatus)
- yyerrstatus--;
+ /* count tokens shifted since error; after three, turn off error status. */
+ if (yyerrstatus) yyerrstatus--;
yystate = yyn;
goto yynewstate;
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state. |
-`-----------------------------------------------------------*/
+/* Do the default action for the current state. */
yydefault:
+
yyn = yydefact[yystate];
if (yyn == 0)
goto yyerrlab;
- goto yyreduce;
-
-/*-----------------------------.
-| yyreduce -- Do a reduction. |
-`-----------------------------*/
+/* Do a reduction. yyn is the number of a rule to reduce with. */
yyreduce:
- /* yyn is the number of a rule to reduce with. */
yylen = yyr2[yyn];
+ if (yylen > 0)
+ yyval = yyvsp[1-yylen]; /* implement default value of the action */
- /* If YYLEN is nonzero, implement the default value of the action:
- `$$ = $1'.
-
- Otherwise, the following line sets YYVAL to the semantic value of
- the lookahead token. This behavior is undocumented and Bison
- users should not rely upon it. Assigning to YYVAL
- unconditionally makes the parser a bit smaller, and it avoids a
- GCC warning that YYVAL may be used uninitialized. */
- yyval = yyvsp[1-yylen];
-
-#if YYLSP_NEEDED
- /* Similarly for the default location. Let the user run additional
- commands if for instance locations are ranges. */
- yyloc = yylsp[1-yylen];
- YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
-#endif
-
-#if YYDEBUG
- /* We have to keep this `#if YYDEBUG', since we use variables which
- are defined only if `YYDEBUG' is set. */
+#if YYDEBUG != 0
if (yydebug)
{
- int yyi;
+ int i;
- YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
- yyn, yyrline[yyn]);
+ fprintf (stderr, "Reducing via rule %d (line %d), ",
+ yyn, yyrline[yyn]);
/* Print the symbols being reduced, and their result. */
- for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
- YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
- YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
+ for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
+ fprintf (stderr, "%s ", yytname[yyrhs[i]]);
+ fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
}
#endif
+
switch (yyn) {
case 6:
#line 88 "epist.y"
{ ((parser*)parser_obj)->setArgumentStr(yyvsp[0]); ;
break;}
-case 27:
-#line 101 "epist.y"
+case 24:
+#line 89 "epist.y"
+{ ((parser*)parser_obj)->setArgumentTrue(yyvsp[0]); ;
+ break;}
+case 25:
+#line 90 "epist.y"
+{ ((parser*)parser_obj)->setArgumentFalse(yyvsp[0]); ;
+ break;}
+case 29:
+#line 103 "epist.y"
{ ((parser*)parser_obj)->setOption(yyvsp[-2]); ;
break;}
}
-
-#line 705 "/usr/share/bison/bison.simple"
-
+ /* the action file gets copied in in place of this dollarsign */
+#line 543 "/usr/share/misc/bison.simple"
\f
yyvsp -= yylen;
yyssp -= yylen;
-#if YYLSP_NEEDED
+#ifdef YYLSP_NEEDED
yylsp -= yylen;
#endif
-#if YYDEBUG
+#if YYDEBUG != 0
if (yydebug)
{
- short *yyssp1 = yyss - 1;
- YYFPRINTF (stderr, "state stack now");
- while (yyssp1 != yyssp)
- YYFPRINTF (stderr, " %d", *++yyssp1);
- YYFPRINTF (stderr, "\n");
+ short *ssp1 = yyss - 1;
+ fprintf (stderr, "state stack now");
+ while (ssp1 != yyssp)
+ fprintf (stderr, " %d", *++ssp1);
+ fprintf (stderr, "\n");
}
#endif
*++yyvsp = yyval;
-#if YYLSP_NEEDED
- *++yylsp = yyloc;
+
+#ifdef YYLSP_NEEDED
+ yylsp++;
+ if (yylen == 0)
+ {
+ yylsp->first_line = yylloc.first_line;
+ yylsp->first_column = yylloc.first_column;
+ yylsp->last_line = (yylsp-1)->last_line;
+ yylsp->last_column = (yylsp-1)->last_column;
+ yylsp->text = 0;
+ }
+ else
+ {
+ yylsp->last_line = (yylsp+yylen-1)->last_line;
+ yylsp->last_column = (yylsp+yylen-1)->last_column;
+ }
#endif
- /* Now `shift' the result of the reduction. Determine what state
- that goes to, based on the state we popped back to and the rule
- number reduced by. */
+ /* Now "shift" the result of the reduction.
+ Determine what state that goes to,
+ based on the state we popped back to
+ and the rule number reduced by. */
yyn = yyr1[yyn];
goto yynewstate;
+yyerrlab: /* here on detecting error */
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
- /* If not already recovering from an error, report this error. */
- if (!yyerrstatus)
+ if (! yyerrstatus)
+ /* If not already recovering from an error, report this error. */
{
++yynerrs;
if (yyn > YYFLAG && yyn < YYLAST)
{
- YYSIZE_T yysize = 0;
- char *yymsg;
- int yyx, yycount;
-
- yycount = 0;
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. */
- for (yyx = yyn < 0 ? -yyn : 0;
- yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
- if (yycheck[yyx + yyn] == yyx)
- yysize += yystrlen (yytname[yyx]) + 15, yycount++;
- yysize += yystrlen ("parse error, unexpected ") + 1;
- yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
- yymsg = (char *) YYSTACK_ALLOC (yysize);
- if (yymsg != 0)
+ int size = 0;
+ char *msg;
+ int x, count;
+
+ count = 0;
+ /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
+ for (x = (yyn < 0 ? -yyn : 0);
+ x < (sizeof(yytname) / sizeof(char *)); x++)
+ if (yycheck[x + yyn] == x)
+ size += strlen(yytname[x]) + 15, count++;
+ msg = (char *) malloc(size + 15);
+ if (msg != 0)
{
- char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
- yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
+ strcpy(msg, "parse error");
- if (yycount < 5)
+ if (count < 5)
{
- yycount = 0;
- for (yyx = yyn < 0 ? -yyn : 0;
- yyx < (int) (sizeof (yytname) / sizeof (char *));
- yyx++)
- if (yycheck[yyx + yyn] == yyx)
+ count = 0;
+ for (x = (yyn < 0 ? -yyn : 0);
+ x < (sizeof(yytname) / sizeof(char *)); x++)
+ if (yycheck[x + yyn] == x)
{
- const char *yyq = ! yycount ? ", expecting " : " or ";
- yyp = yystpcpy (yyp, yyq);
- yyp = yystpcpy (yyp, yytname[yyx]);
- yycount++;
+ strcat(msg, count == 0 ? ", expecting `" : " or `");
+ strcat(msg, yytname[x]);
+ strcat(msg, "'");
+ count++;
}
}
- yyerror (yymsg);
- YYSTACK_FREE (yymsg);
+ yyerror(msg);
+ free(msg);
}
else
- yyerror ("parse error; also virtual memory exhausted");
+ yyerror ("parse error; also virtual memory exceeded");
}
else
-#endif /* defined (YYERROR_VERBOSE) */
- yyerror ("parse error");
+#endif /* YYERROR_VERBOSE */
+ yyerror("parse error");
}
- goto yyerrlab1;
+ goto yyerrlab1;
+yyerrlab1: /* here on error raised explicitly by an action */
-/*--------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action |
-`--------------------------------------------------*/
-yyerrlab1:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse lookahead token after an
- error, discard it. */
+ /* if just tried and failed to reuse lookahead token after an error, discard it. */
/* return failure if at end of input */
if (yychar == YYEOF)
YYABORT;
- YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
- yychar, yytname[yychar1]));
+
+#if YYDEBUG != 0
+ if (yydebug)
+ fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
+#endif
+
yychar = YYEMPTY;
}
- /* Else will try to reuse lookahead token after shifting the error
- token. */
+ /* Else will try to reuse lookahead token
+ after shifting the error token. */
yyerrstatus = 3; /* Each real token shifted decrements this */
goto yyerrhandle;
+yyerrdefault: /* current state does not do anything special for the error token. */
-/*-------------------------------------------------------------------.
-| yyerrdefault -- current state does not do anything special for the |
-| error token. |
-`-------------------------------------------------------------------*/
-yyerrdefault:
#if 0
/* This is wrong; only states that explicitly want error tokens
should shift them. */
-
- /* If its default is to accept any token, ok. Otherwise pop it. */
- yyn = yydefact[yystate];
- if (yyn)
- goto yydefault;
+ yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
+ if (yyn) goto yydefault;
#endif
+yyerrpop: /* pop the current state because it cannot handle the error token */
-/*---------------------------------------------------------------.
-| yyerrpop -- pop the current state because it cannot handle the |
-| error token |
-`---------------------------------------------------------------*/
-yyerrpop:
- if (yyssp == yyss)
- YYABORT;
+ if (yyssp == yyss) YYABORT;
yyvsp--;
yystate = *--yyssp;
-#if YYLSP_NEEDED
+#ifdef YYLSP_NEEDED
yylsp--;
#endif
-#if YYDEBUG
+#if YYDEBUG != 0
if (yydebug)
{
- short *yyssp1 = yyss - 1;
- YYFPRINTF (stderr, "Error: state stack now");
- while (yyssp1 != yyssp)
- YYFPRINTF (stderr, " %d", *++yyssp1);
- YYFPRINTF (stderr, "\n");
+ short *ssp1 = yyss - 1;
+ fprintf (stderr, "Error: state stack now");
+ while (ssp1 != yyssp)
+ fprintf (stderr, " %d", *++ssp1);
+ fprintf (stderr, "\n");
}
#endif
-/*--------------.
-| yyerrhandle. |
-`--------------*/
yyerrhandle:
+
yyn = yypact[yystate];
if (yyn == YYFLAG)
goto yyerrdefault;
if (yyn == YYFINAL)
YYACCEPT;
- YYDPRINTF ((stderr, "Shifting error token, "));
+#if YYDEBUG != 0
+ if (yydebug)
+ fprintf(stderr, "Shifting error token, ");
+#endif
*++yyvsp = yylval;
-#if YYLSP_NEEDED
+#ifdef YYLSP_NEEDED
*++yylsp = yylloc;
#endif
yystate = yyn;
goto yynewstate;
+ yyacceptlab:
+ /* YYACCEPT comes here. */
+ if (yyfree_stacks)
+ {
+ free (yyss);
+ free (yyvs);
+#ifdef YYLSP_NEEDED
+ free (yyls);
+#endif
+ }
+ return 0;
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here. |
-`-------------------------------------*/
-yyacceptlab:
- yyresult = 0;
- goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here. |
-`-----------------------------------*/
-yyabortlab:
- yyresult = 1;
- goto yyreturn;
-
-/*---------------------------------------------.
-| yyoverflowab -- parser overflow comes here. |
-`---------------------------------------------*/
-yyoverflowlab:
- yyerror ("parser stack overflow");
- yyresult = 2;
- /* Fall through. */
-
-yyreturn:
-#ifndef yyoverflow
- if (yyss != yyssa)
- YYSTACK_FREE (yyss);
+ yyabortlab:
+ /* YYABORT comes here. */
+ if (yyfree_stacks)
+ {
+ free (yyss);
+ free (yyvs);
+#ifdef YYLSP_NEEDED
+ free (yyls);
#endif
- return yyresult;
+ }
+ return 1;
}
-#line 104 "epist.y"
+#line 106 "epist.y"