1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-21 14:50:08 +03:00

feature #2465: Compile new parsers

This commit is contained in:
Ruben S. Montero 2014-03-05 18:14:10 +01:00
parent 7ce928c82d
commit 9f316bed12
13 changed files with 296 additions and 174 deletions

View File

@ -200,6 +200,13 @@ extern FILE *template_in, *template_out;
if ( template_text[yyl] == '\n' )\
--template_lineno;\
}while(0)
#define YY_LINENO_REWIND_TO(dst) \
do {\
const char *p;\
for ( p = yy_cp-1; p >= (dst); --p)\
if ( *p == '\n' )\
--template_lineno;\
}while(0)
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
@ -407,7 +414,7 @@ static yyconst flex_int16_t yy_accept[44] =
0, 0, 0, 0, 12, 11, 2, 2, 11, 6,
3, 4, 7, 10, 11, 10, 8, 2, 2, 0,
6, 4, 7, 0, 1, 6, 3, 4, 5, 7,
10, 0, 8, 10, 0, 10, 8, 9, 9, 0,
10, 0, 8, 10, 0, 9, 10, 8, 9, 0,
9, 9, 0
} ;
@ -454,7 +461,7 @@ static yyconst flex_int16_t yy_base[50] =
0, 0, 11, 0, 46, 100, 21, 31, 38, 0,
33, 41, 0, 0, 43, 52, 0, 0, 0, 36,
0, 0, 0, 35, 100, 0, 29, 0, 100, 0,
0, 0, 0, 62, 69, 31, 0, 0, 100, 76,
0, 0, 0, 62, 69, 0, 31, 0, 100, 76,
0, 83, 100, 93, 29, 28, 27, 96, 23
} ;
@ -463,7 +470,7 @@ static yyconst flex_int16_t yy_def[50] =
43, 1, 43, 3, 43, 43, 43, 43, 44, 45,
43, 43, 46, 47, 43, 48, 49, 7, 8, 44,
45, 12, 46, 44, 43, 45, 43, 12, 43, 46,
47, 15, 49, 48, 48, 34, 49, 47, 43, 48,
47, 15, 49, 48, 48, 47, 34, 49, 43, 48,
34, 48, 0, 43, 43, 43, 43, 43, 43
} ;
@ -471,12 +478,12 @@ static yyconst flex_int16_t yy_nxt[112] =
{ 0,
6, 7, 8, 6, 9, 10, 11, 12, 6, 6,
13, 14, 15, 6, 16, 6, 6, 14, 6, 17,
14, 6, 18, 19, 37, 20, 21, 31, 22, 30,
14, 6, 18, 19, 38, 20, 21, 31, 22, 30,
26, 23, 19, 19, 41, 27, 21, 25, 25, 27,
25, 23, 28, 29, 32, 43, 43, 43, 43, 43,
43, 33, 34, 43, 43, 31, 43, 43, 34, 43,
43, 36, 34, 43, 43, 38, 43, 43, 34, 43,
43, 36, 39, 43, 43, 43, 43, 43, 40, 42,
43, 33, 34, 43, 43, 36, 43, 43, 34, 43,
43, 37, 34, 43, 43, 36, 43, 43, 34, 43,
43, 37, 39, 43, 43, 43, 43, 43, 40, 42,
43, 43, 43, 43, 43, 40, 39, 43, 43, 43,
43, 43, 40, 24, 24, 24, 35, 35, 35, 5,
@ -489,7 +496,7 @@ static yyconst flex_int16_t yy_chk[112] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 7, 7, 49, 7, 7, 47, 7, 46,
45, 7, 8, 8, 36, 27, 8, 24, 20, 11,
45, 7, 8, 8, 37, 27, 8, 24, 20, 11,
9, 8, 12, 12, 15, 5, 0, 0, 0, 0,
0, 15, 16, 0, 0, 16, 0, 0, 16, 0,
0, 16, 34, 0, 0, 34, 0, 0, 34, 0,
@ -554,7 +561,7 @@ char *template_text;
llocp->first_column = llocp->last_column; \
llocp->last_column += template_leng;
#line 558 "template_parser.c"
#line 565 "template_parser.c"
#define INITIAL 0
#define VALUE 1
@ -735,14 +742,6 @@ YY_DECL
register char *yy_cp, *yy_bp;
register int yy_act;
#line 44 "template_parser.l"
/* ------------------------------------------------------------------------- */
/* Comments (lines with an starting #), and empty lines */
/* ------------------------------------------------------------------------- */
#line 745 "template_parser.c"
if ( !(yy_init) )
{
(yy_init) = 1;
@ -769,6 +768,15 @@ YY_DECL
template__load_buffer_state( );
}
{
#line 44 "template_parser.l"
/* ------------------------------------------------------------------------- */
/* Comments (lines with an starting #), and empty lines */
/* ------------------------------------------------------------------------- */
#line 779 "template_parser.c"
while ( 1 ) /* loops until end-of-file is reached */
{
yy_cp = (yy_c_buf_p);
@ -785,7 +793,7 @@ YY_DECL
yy_match:
do
{
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
@ -815,7 +823,7 @@ yy_find_action:
if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
{
int yyl;
yy_size_t yyl;
for ( yyl = 0; yyl < template_leng; ++yyl )
if ( template_text[yyl] == '\n' )
@ -918,7 +926,7 @@ YY_RULE_SETUP
#line 89 "template_parser.l"
ECHO;
YY_BREAK
#line 922 "template_parser.c"
#line 930 "template_parser.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(VALUE):
yyterminate();
@ -1050,6 +1058,7 @@ case YY_STATE_EOF(VALUE):
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
} /* end of user's declarations */
} /* end of template_lex */
/* yy_get_next_buffer - try to read in a new buffer
@ -1651,7 +1660,7 @@ YY_BUFFER_STATE template__scan_bytes (yyconst char * yybytes, yy_size_t _yybyt
YY_BUFFER_STATE b;
char *buf;
yy_size_t n;
int i;
yy_size_t i;
/* Get memory for full buffer, including space for trailing EOB's. */
n = _yybytes_len + 2;

View File

@ -1,4 +1,4 @@
/* A Bison parser, made by GNU Bison 3.0. */
/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison implementation for Yacc-like parsers in C
@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
#define YYBISON_VERSION "3.0"
#define YYBISON_VERSION "3.0.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@ -121,11 +121,11 @@ extern "C"
#line 123 "template_syntax.cc" /* yacc.c:339 */
# ifndef YY_NULL
# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
# define YY_NULL nullptr
# define YY_NULLPTR nullptr
# else
# define YY_NULL 0
# define YY_NULLPTR 0
# endif
# endif
@ -259,11 +259,30 @@ typedef short int yytype_int16;
# endif
#endif
#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if (! defined __GNUC__ || __GNUC__ < 2 \
|| (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
# define __attribute__(Spec) /* empty */
#ifndef YY_ATTRIBUTE
# if (defined __GNUC__ \
&& (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
|| defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
# else
# define YY_ATTRIBUTE(Spec) /* empty */
# endif
#endif
#ifndef YY_ATTRIBUTE_PURE
# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
#endif
#ifndef YY_ATTRIBUTE_UNUSED
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
#endif
#if !defined _Noreturn \
&& (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
# if defined _MSC_VER && 1200 <= _MSC_VER
# define _Noreturn __declspec (noreturn)
# else
# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
# endif
#endif
@ -495,7 +514,7 @@ static const char *const yytname[] =
{
"$end", "error", "$undefined", "EQUAL", "COMMA", "OBRACKET", "CBRACKET",
"EQUAL_EMPTY", "STRING", "VARIABLE", "$accept", "template_file",
"template", "attribute", "array_val", YY_NULL
"template", "attribute", "array_val", YY_NULLPTR
};
#endif
@ -670,7 +689,7 @@ do { \
/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
__attribute__((__unused__))
YY_ATTRIBUTE_UNUSED
static unsigned
yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
{
@ -936,11 +955,11 @@ static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULL;
const char *yyformat = YY_NULLPTR;
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
@ -997,7 +1016,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
yyarg[yycount++] = yytname[yyx];
{
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
@ -1373,7 +1392,7 @@ yyreduce:
tmpl->set(pattr);
}
#line 1377 "template_syntax.cc" /* yacc.c:1646 */
#line 1396 "template_syntax.cc" /* yacc.c:1646 */
break;
case 7:
@ -1390,7 +1409,7 @@ yyreduce:
delete amap;
}
#line 1394 "template_syntax.cc" /* yacc.c:1646 */
#line 1413 "template_syntax.cc" /* yacc.c:1646 */
break;
case 8:
@ -1398,13 +1417,13 @@ yyreduce:
{
Attribute * pattr;
string name((yyvsp[-1].val_str));
string value("");
string value;
pattr = new SingleAttribute(name,value);
tmpl->set(pattr);
}
#line 1408 "template_syntax.cc" /* yacc.c:1646 */
#line 1427 "template_syntax.cc" /* yacc.c:1646 */
break;
case 9:
@ -1421,7 +1440,7 @@ yyreduce:
(yyval.val_attr) = static_cast<void *>(vattr);
}
#line 1425 "template_syntax.cc" /* yacc.c:1646 */
#line 1444 "template_syntax.cc" /* yacc.c:1646 */
break;
case 10:
@ -1438,11 +1457,11 @@ yyreduce:
attrmap->insert(make_pair(name,unescape(value)));
(yyval.val_attr) = (yyvsp[-4].val_attr);
}
#line 1442 "template_syntax.cc" /* yacc.c:1646 */
#line 1461 "template_syntax.cc" /* yacc.c:1646 */
break;
#line 1446 "template_syntax.cc" /* yacc.c:1646 */
#line 1465 "template_syntax.cc" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires

View File

@ -1,4 +1,4 @@
/* A Bison parser, made by GNU Bison 3.0. */
/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison interface for Yacc-like parsers in C

View File

@ -1,4 +1,4 @@
/* A Bison parser, made by GNU Bison 3.0. */
/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison implementation for Yacc-like parsers in C
@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
#define YYBISON_VERSION "3.0"
#define YYBISON_VERSION "3.0.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@ -252,11 +252,11 @@ int get_image_path(VirtualMachine * vm,
#line 254 "vm_file_var_syntax.cc" /* yacc.c:339 */
# ifndef YY_NULL
# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
# define YY_NULL nullptr
# define YY_NULLPTR nullptr
# else
# define YY_NULL 0
# define YY_NULLPTR 0
# endif
# endif
@ -393,11 +393,30 @@ typedef short int yytype_int16;
# endif
#endif
#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if (! defined __GNUC__ || __GNUC__ < 2 \
|| (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
# define __attribute__(Spec) /* empty */
#ifndef YY_ATTRIBUTE
# if (defined __GNUC__ \
&& (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
|| defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
# else
# define YY_ATTRIBUTE(Spec) /* empty */
# endif
#endif
#ifndef YY_ATTRIBUTE_PURE
# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
#endif
#ifndef YY_ATTRIBUTE_UNUSED
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
#endif
#if !defined _Noreturn \
&& (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
# if defined _MSC_VER && 1200 <= _MSC_VER
# define _Noreturn __declspec (noreturn)
# else
# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
# endif
#endif
@ -628,7 +647,7 @@ static const char *const yytname[] =
{
"$end", "error", "$undefined", "EQUAL", "COMMA", "OBRACKET", "CBRACKET",
"EOA", "STRING", "VARIABLE", "RSTRING", "INTEGER", "$accept",
"vm_string", "vm_variable", YY_NULL
"vm_string", "vm_variable", YY_NULLPTR
};
#endif
@ -802,7 +821,7 @@ do { \
/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
__attribute__((__unused__))
YY_ATTRIBUTE_UNUSED
static unsigned
yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
{
@ -1069,11 +1088,11 @@ static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULL;
const char *yyformat = YY_NULLPTR;
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
@ -1130,7 +1149,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
yyarg[yycount++] = yytname[yyx];
{
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
@ -1515,7 +1534,7 @@ yyreduce:
YYABORT;
}
}
#line 1519 "vm_file_var_syntax.cc" /* yacc.c:1646 */
#line 1538 "vm_file_var_syntax.cc" /* yacc.c:1646 */
break;
case 5:
@ -1540,11 +1559,11 @@ yyreduce:
YYABORT;
}
}
#line 1544 "vm_file_var_syntax.cc" /* yacc.c:1646 */
#line 1563 "vm_file_var_syntax.cc" /* yacc.c:1646 */
break;
#line 1548 "vm_file_var_syntax.cc" /* yacc.c:1646 */
#line 1567 "vm_file_var_syntax.cc" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires

View File

@ -1,4 +1,4 @@
/* A Bison parser, made by GNU Bison 3.0. */
/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison interface for Yacc-like parsers in C

View File

@ -200,6 +200,13 @@ extern FILE *vm_var_in, *vm_var_out;
if ( vm_var_text[yyl] == '\n' )\
--vm_var_lineno;\
}while(0)
#define YY_LINENO_REWIND_TO(dst) \
do {\
const char *p;\
for ( p = yy_cp-1; p >= (dst); --p)\
if ( *p == '\n' )\
--vm_var_lineno;\
}while(0)
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
@ -538,7 +545,7 @@ char *vm_var_text;
llocp->last_column += vm_var_leng;
#line 542 "vm_var_parser.c"
#line 549 "vm_var_parser.c"
#define INITIAL 0
#define VAR 1
@ -720,19 +727,6 @@ YY_DECL
register char *yy_cp, *yy_bp;
register int yy_act;
#line 43 "vm_var_parser.l"
/* ------------------------------------------------------------------------- */
/* Parse variables in the form: */
/* $VARIABLE */
/* $VARIABLE[ATTR] */
/* $VARIABLE[ATTR,ATTR=VALUE] */
/* $NUM.CONTEXT_VARIABLE */
/* ------------------------------------------------------------------------- */
#line 735 "vm_var_parser.c"
if ( !(yy_init) )
{
(yy_init) = 1;
@ -759,6 +753,20 @@ YY_DECL
vm_var__load_buffer_state( );
}
{
#line 43 "vm_var_parser.l"
/* ------------------------------------------------------------------------- */
/* Parse variables in the form: */
/* $VARIABLE */
/* $VARIABLE[ATTR] */
/* $VARIABLE[ATTR,ATTR=VALUE] */
/* $NUM.CONTEXT_VARIABLE */
/* ------------------------------------------------------------------------- */
#line 769 "vm_var_parser.c"
while ( 1 ) /* loops until end-of-file is reached */
{
yy_cp = (yy_c_buf_p);
@ -775,7 +783,7 @@ YY_DECL
yy_match:
do
{
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
@ -805,7 +813,7 @@ yy_find_action:
if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
{
int yyl;
yy_size_t yyl;
for ( yyl = 0; yyl < vm_var_leng; ++yyl )
if ( vm_var_text[yyl] == '\n' )
@ -907,7 +915,7 @@ YY_RULE_SETUP
#line 92 "vm_var_parser.l"
ECHO;
YY_BREAK
#line 911 "vm_var_parser.c"
#line 919 "vm_var_parser.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(VALUE):
yyterminate();
@ -1039,6 +1047,7 @@ case YY_STATE_EOF(VALUE):
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
} /* end of user's declarations */
} /* end of vm_var_lex */
/* yy_get_next_buffer - try to read in a new buffer
@ -1640,7 +1649,7 @@ YY_BUFFER_STATE vm_var__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes
YY_BUFFER_STATE b;
char *buf;
yy_size_t n;
int i;
yy_size_t i;
/* Get memory for full buffer, including space for trailing EOB's. */
n = _yybytes_len + 2;

View File

@ -1,4 +1,4 @@
/* A Bison parser, made by GNU Bison 3.0. */
/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison implementation for Yacc-like parsers in C
@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
#define YYBISON_VERSION "3.0"
#define YYBISON_VERSION "3.0.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@ -473,11 +473,11 @@ void insert_vector(VirtualMachine * vm,
#line 475 "vm_var_syntax.cc" /* yacc.c:339 */
# ifndef YY_NULL
# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
# define YY_NULL nullptr
# define YY_NULLPTR nullptr
# else
# define YY_NULL 0
# define YY_NULLPTR 0
# endif
# endif
@ -614,11 +614,30 @@ typedef short int yytype_int16;
# endif
#endif
#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if (! defined __GNUC__ || __GNUC__ < 2 \
|| (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
# define __attribute__(Spec) /* empty */
#ifndef YY_ATTRIBUTE
# if (defined __GNUC__ \
&& (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
|| defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
# else
# define YY_ATTRIBUTE(Spec) /* empty */
# endif
#endif
#ifndef YY_ATTRIBUTE_PURE
# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
#endif
#ifndef YY_ATTRIBUTE_UNUSED
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
#endif
#if !defined _Noreturn \
&& (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
# if defined _MSC_VER && 1200 <= _MSC_VER
# define _Noreturn __declspec (noreturn)
# else
# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
# endif
#endif
@ -849,7 +868,7 @@ static const char *const yytname[] =
{
"$end", "error", "$undefined", "EQUAL", "COMMA", "OBRACKET", "CBRACKET",
"EOA", "STRING", "VARIABLE", "RSTRING", "INTEGER", "$accept",
"vm_string", "vm_variable", YY_NULL
"vm_string", "vm_variable", YY_NULLPTR
};
#endif
@ -1023,7 +1042,7 @@ do { \
/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
__attribute__((__unused__))
YY_ATTRIBUTE_UNUSED
static unsigned
yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
{
@ -1290,11 +1309,11 @@ static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULL;
const char *yyformat = YY_NULLPTR;
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
@ -1351,7 +1370,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
yyarg[yycount++] = yytname[yyx];
{
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
@ -1722,7 +1741,7 @@ yyreduce:
{
(*parsed) << (yyvsp[0].val_str);
}
#line 1726 "vm_var_syntax.cc" /* yacc.c:1646 */
#line 1745 "vm_var_syntax.cc" /* yacc.c:1646 */
break;
case 5:
@ -1739,7 +1758,7 @@ yyreduce:
(*parsed) << (yyvsp[0].val_char);
}
}
#line 1743 "vm_var_syntax.cc" /* yacc.c:1646 */
#line 1762 "vm_var_syntax.cc" /* yacc.c:1646 */
break;
case 6:
@ -1758,7 +1777,7 @@ yyreduce:
(*parsed) << (yyvsp[0].val_char);
}
}
#line 1762 "vm_var_syntax.cc" /* yacc.c:1646 */
#line 1781 "vm_var_syntax.cc" /* yacc.c:1646 */
break;
case 7:
@ -1780,11 +1799,11 @@ yyreduce:
(*parsed) << (yyvsp[0].val_char);
}
}
#line 1784 "vm_var_syntax.cc" /* yacc.c:1646 */
#line 1803 "vm_var_syntax.cc" /* yacc.c:1646 */
break;
#line 1788 "vm_var_syntax.cc" /* yacc.c:1646 */
#line 1807 "vm_var_syntax.cc" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires

View File

@ -1,4 +1,4 @@
/* A Bison parser, made by GNU Bison 3.0. */
/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison interface for Yacc-like parsers in C

View File

@ -1,4 +1,4 @@
/* A Bison parser, made by GNU Bison 3.0. */
/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison implementation for Yacc-like parsers in C
@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
#define YYBISON_VERSION "3.0"
#define YYBISON_VERSION "3.0.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@ -124,11 +124,11 @@ extern "C"
#line 126 "expr_arith.cc" /* yacc.c:339 */
# ifndef YY_NULL
# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
# define YY_NULL nullptr
# define YY_NULLPTR nullptr
# else
# define YY_NULL 0
# define YY_NULLPTR 0
# endif
# endif
@ -259,11 +259,30 @@ typedef short int yytype_int16;
# endif
#endif
#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if (! defined __GNUC__ || __GNUC__ < 2 \
|| (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
# define __attribute__(Spec) /* empty */
#ifndef YY_ATTRIBUTE
# if (defined __GNUC__ \
&& (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
|| defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
# else
# define YY_ATTRIBUTE(Spec) /* empty */
# endif
#endif
#ifndef YY_ATTRIBUTE_PURE
# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
#endif
#ifndef YY_ATTRIBUTE_UNUSED
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
#endif
#if !defined _Noreturn \
&& (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
# if defined _MSC_VER && 1200 <= _MSC_VER
# define _Noreturn __declspec (noreturn)
# else
# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
# endif
#endif
@ -494,7 +513,7 @@ static const yytype_uint8 yyrline[] =
static const char *const yytname[] =
{
"$end", "error", "$undefined", "'+'", "'-'", "'*'", "'/'", "INTEGER",
"STRING", "FLOAT", "'('", "')'", "$accept", "stmt", "expr", YY_NULL
"STRING", "FLOAT", "'('", "')'", "$accept", "stmt", "expr", YY_NULLPTR
};
#endif
@ -672,7 +691,7 @@ do { \
/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
__attribute__((__unused__))
YY_ATTRIBUTE_UNUSED
static unsigned
yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
{
@ -939,11 +958,11 @@ static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULL;
const char *yyformat = YY_NULLPTR;
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
@ -1000,7 +1019,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
yyarg[yycount++] = yytname[yyx];
{
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
@ -1369,71 +1388,71 @@ yyreduce:
case 2:
#line 100 "expr_arith.y" /* yacc.c:1646 */
{ result = static_cast<int>((yyvsp[0].val_float));}
#line 1373 "expr_arith.cc" /* yacc.c:1646 */
#line 1392 "expr_arith.cc" /* yacc.c:1646 */
break;
case 3:
#line 101 "expr_arith.y" /* yacc.c:1646 */
{ result = 0; }
#line 1379 "expr_arith.cc" /* yacc.c:1646 */
#line 1398 "expr_arith.cc" /* yacc.c:1646 */
break;
case 4:
#line 104 "expr_arith.y" /* yacc.c:1646 */
{ float val; oxml->search((yyvsp[0].val_str), val); (yyval.val_float) = val; }
#line 1385 "expr_arith.cc" /* yacc.c:1646 */
#line 1404 "expr_arith.cc" /* yacc.c:1646 */
break;
case 5:
#line 105 "expr_arith.y" /* yacc.c:1646 */
{ (yyval.val_float) = (yyvsp[0].val_float); }
#line 1391 "expr_arith.cc" /* yacc.c:1646 */
#line 1410 "expr_arith.cc" /* yacc.c:1646 */
break;
case 6:
#line 106 "expr_arith.y" /* yacc.c:1646 */
{ (yyval.val_float) = static_cast<float>((yyvsp[0].val_int)); }
#line 1397 "expr_arith.cc" /* yacc.c:1646 */
#line 1416 "expr_arith.cc" /* yacc.c:1646 */
break;
case 7:
#line 107 "expr_arith.y" /* yacc.c:1646 */
{ (yyval.val_float) = (yyvsp[-2].val_float) + (yyvsp[0].val_float);}
#line 1403 "expr_arith.cc" /* yacc.c:1646 */
#line 1422 "expr_arith.cc" /* yacc.c:1646 */
break;
case 8:
#line 108 "expr_arith.y" /* yacc.c:1646 */
{ (yyval.val_float) = (yyvsp[-2].val_float) - (yyvsp[0].val_float);}
#line 1409 "expr_arith.cc" /* yacc.c:1646 */
#line 1428 "expr_arith.cc" /* yacc.c:1646 */
break;
case 9:
#line 109 "expr_arith.y" /* yacc.c:1646 */
{ (yyval.val_float) = (yyvsp[-2].val_float) * (yyvsp[0].val_float);}
#line 1415 "expr_arith.cc" /* yacc.c:1646 */
#line 1434 "expr_arith.cc" /* yacc.c:1646 */
break;
case 10:
#line 110 "expr_arith.y" /* yacc.c:1646 */
{ (yyval.val_float) = (yyvsp[-2].val_float) / (yyvsp[0].val_float);}
#line 1421 "expr_arith.cc" /* yacc.c:1646 */
#line 1440 "expr_arith.cc" /* yacc.c:1646 */
break;
case 11:
#line 111 "expr_arith.y" /* yacc.c:1646 */
{ (yyval.val_float) = - (yyvsp[0].val_float);}
#line 1427 "expr_arith.cc" /* yacc.c:1646 */
#line 1446 "expr_arith.cc" /* yacc.c:1646 */
break;
case 12:
#line 112 "expr_arith.y" /* yacc.c:1646 */
{ (yyval.val_float) = (yyvsp[-1].val_float);}
#line 1433 "expr_arith.cc" /* yacc.c:1646 */
#line 1452 "expr_arith.cc" /* yacc.c:1646 */
break;
#line 1437 "expr_arith.cc" /* yacc.c:1646 */
#line 1456 "expr_arith.cc" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires

View File

@ -1,4 +1,4 @@
/* A Bison parser, made by GNU Bison 3.0. */
/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison interface for Yacc-like parsers in C

View File

@ -1,4 +1,4 @@
/* A Bison parser, made by GNU Bison 3.0. */
/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison implementation for Yacc-like parsers in C
@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
#define YYBISON_VERSION "3.0"
#define YYBISON_VERSION "3.0.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@ -123,11 +123,11 @@ extern "C"
#line 125 "expr_bool.cc" /* yacc.c:339 */
# ifndef YY_NULL
# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
# define YY_NULL nullptr
# define YY_NULLPTR nullptr
# else
# define YY_NULL 0
# define YY_NULLPTR 0
# endif
# endif
@ -258,11 +258,30 @@ typedef short int yytype_int16;
# endif
#endif
#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if (! defined __GNUC__ || __GNUC__ < 2 \
|| (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
# define __attribute__(Spec) /* empty */
#ifndef YY_ATTRIBUTE
# if (defined __GNUC__ \
&& (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
|| defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
# else
# define YY_ATTRIBUTE(Spec) /* empty */
# endif
#endif
#ifndef YY_ATTRIBUTE_PURE
# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
#endif
#ifndef YY_ATTRIBUTE_UNUSED
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
#endif
#if !defined _Noreturn \
&& (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
# if defined _MSC_VER && 1200 <= _MSC_VER
# define _Noreturn __declspec (noreturn)
# else
# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
# endif
#endif
@ -493,7 +512,7 @@ static const yytype_uint8 yyrline[] =
static const char *const yytname[] =
{
"$end", "error", "$undefined", "'!'", "'&'", "'|'", "INTEGER", "STRING",
"FLOAT", "'='", "'>'", "'<'", "'('", "')'", "$accept", "stmt", "expr", YY_NULL
"FLOAT", "'='", "'>'", "'<'", "'('", "')'", "$accept", "stmt", "expr", YY_NULLPTR
};
#endif
@ -674,7 +693,7 @@ do { \
/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
__attribute__((__unused__))
YY_ATTRIBUTE_UNUSED
static unsigned
yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
{
@ -941,11 +960,11 @@ static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULL;
const char *yyformat = YY_NULLPTR;
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
@ -1002,7 +1021,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
yyarg[yycount++] = yytname[yyx];
{
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
@ -1371,13 +1390,13 @@ yyreduce:
case 2:
#line 97 "expr_bool.y" /* yacc.c:1646 */
{ result=(yyvsp[0].val_int); }
#line 1375 "expr_bool.cc" /* yacc.c:1646 */
#line 1394 "expr_bool.cc" /* yacc.c:1646 */
break;
case 3:
#line 98 "expr_bool.y" /* yacc.c:1646 */
{ result=true; }
#line 1381 "expr_bool.cc" /* yacc.c:1646 */
#line 1400 "expr_bool.cc" /* yacc.c:1646 */
break;
case 4:
@ -1390,7 +1409,7 @@ yyreduce:
(yyval.val_int) = (rc == 0 && val == (yyvsp[0].val_int));
}
#line 1394 "expr_bool.cc" /* yacc.c:1646 */
#line 1413 "expr_bool.cc" /* yacc.c:1646 */
break;
case 5:
@ -1403,7 +1422,7 @@ yyreduce:
(yyval.val_int) = (rc == 0 && val != (yyvsp[0].val_int));
}
#line 1407 "expr_bool.cc" /* yacc.c:1646 */
#line 1426 "expr_bool.cc" /* yacc.c:1646 */
break;
case 6:
@ -1414,7 +1433,7 @@ yyreduce:
rc = oxml->search((yyvsp[-2].val_str),val);
(yyval.val_int) = (rc == 0 && val > (yyvsp[0].val_int));
}
#line 1418 "expr_bool.cc" /* yacc.c:1646 */
#line 1437 "expr_bool.cc" /* yacc.c:1646 */
break;
case 7:
@ -1425,7 +1444,7 @@ yyreduce:
rc = oxml->search((yyvsp[-2].val_str),val);
(yyval.val_int) = (rc == 0 && val < (yyvsp[0].val_int));
}
#line 1429 "expr_bool.cc" /* yacc.c:1646 */
#line 1448 "expr_bool.cc" /* yacc.c:1646 */
break;
case 8:
@ -1436,7 +1455,7 @@ yyreduce:
rc = oxml->search((yyvsp[-2].val_str),val);
(yyval.val_int) = (rc == 0 && val == (yyvsp[0].val_float));
}
#line 1440 "expr_bool.cc" /* yacc.c:1646 */
#line 1459 "expr_bool.cc" /* yacc.c:1646 */
break;
case 9:
@ -1447,7 +1466,7 @@ yyreduce:
rc = oxml->search((yyvsp[-3].val_str),val);
(yyval.val_int) = (rc == 0 && val != (yyvsp[0].val_float));
}
#line 1451 "expr_bool.cc" /* yacc.c:1646 */
#line 1470 "expr_bool.cc" /* yacc.c:1646 */
break;
case 10:
@ -1458,7 +1477,7 @@ yyreduce:
rc = oxml->search((yyvsp[-2].val_str),val);
(yyval.val_int) = (rc == 0 && val > (yyvsp[0].val_float));
}
#line 1462 "expr_bool.cc" /* yacc.c:1646 */
#line 1481 "expr_bool.cc" /* yacc.c:1646 */
break;
case 11:
@ -1468,7 +1487,7 @@ yyreduce:
rc = oxml->search((yyvsp[-2].val_str),val);
(yyval.val_int) = (rc == 0 && val < (yyvsp[0].val_float));}
#line 1472 "expr_bool.cc" /* yacc.c:1646 */
#line 1491 "expr_bool.cc" /* yacc.c:1646 */
break;
case 12:
@ -1480,7 +1499,7 @@ yyreduce:
rc = oxml->search((yyvsp[-2].val_str),val);
(yyval.val_int) = (rc != 0 || (yyvsp[0].val_str)==0) ? false : fnmatch((yyvsp[0].val_str),val.c_str(),0)==0;
}
#line 1484 "expr_bool.cc" /* yacc.c:1646 */
#line 1503 "expr_bool.cc" /* yacc.c:1646 */
break;
case 13:
@ -1492,35 +1511,35 @@ yyreduce:
rc = oxml->search((yyvsp[-3].val_str),val);
(yyval.val_int) = (rc != 0 || (yyvsp[0].val_str)==0) ? false : fnmatch((yyvsp[0].val_str),val.c_str(),0)!=0;
}
#line 1496 "expr_bool.cc" /* yacc.c:1646 */
#line 1515 "expr_bool.cc" /* yacc.c:1646 */
break;
case 14:
#line 176 "expr_bool.y" /* yacc.c:1646 */
{ (yyval.val_int) = (yyvsp[-2].val_int) && (yyvsp[0].val_int); }
#line 1502 "expr_bool.cc" /* yacc.c:1646 */
#line 1521 "expr_bool.cc" /* yacc.c:1646 */
break;
case 15:
#line 177 "expr_bool.y" /* yacc.c:1646 */
{ (yyval.val_int) = (yyvsp[-2].val_int) || (yyvsp[0].val_int); }
#line 1508 "expr_bool.cc" /* yacc.c:1646 */
#line 1527 "expr_bool.cc" /* yacc.c:1646 */
break;
case 16:
#line 178 "expr_bool.y" /* yacc.c:1646 */
{ (yyval.val_int) = ! (yyvsp[0].val_int); }
#line 1514 "expr_bool.cc" /* yacc.c:1646 */
#line 1533 "expr_bool.cc" /* yacc.c:1646 */
break;
case 17:
#line 179 "expr_bool.y" /* yacc.c:1646 */
{ (yyval.val_int) = (yyvsp[-1].val_int); }
#line 1520 "expr_bool.cc" /* yacc.c:1646 */
#line 1539 "expr_bool.cc" /* yacc.c:1646 */
break;
#line 1524 "expr_bool.cc" /* yacc.c:1646 */
#line 1543 "expr_bool.cc" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires

View File

@ -1,4 +1,4 @@
/* A Bison parser, made by GNU Bison 3.0. */
/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison interface for Yacc-like parsers in C

View File

@ -200,6 +200,13 @@ extern FILE *expr_in, *expr_out;
if ( expr_text[yyl] == '\n' )\
--expr_lineno;\
}while(0)
#define YY_LINENO_REWIND_TO(dst) \
do {\
const char *p;\
for ( p = yy_cp-1; p >= (dst); --p)\
if ( *p == '\n' )\
--expr_lineno;\
}while(0)
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
@ -525,7 +532,7 @@ char *expr_text;
#define YY_USER_ACTION llocp->first_line = expr_lineno; \
llocp->first_column = llocp->last_column; \
llocp->last_column += expr_leng;
#line 529 "expr_parser.c"
#line 536 "expr_parser.c"
#define INITIAL 0
@ -705,12 +712,6 @@ YY_DECL
register char *yy_cp, *yy_bp;
register int yy_act;
#line 39 "expr_parser.l"
/* --- Tokens --- */
#line 713 "expr_parser.c"
if ( !(yy_init) )
{
(yy_init) = 1;
@ -737,6 +738,13 @@ YY_DECL
expr__load_buffer_state( );
}
{
#line 39 "expr_parser.l"
/* --- Tokens --- */
#line 747 "expr_parser.c"
while ( 1 ) /* loops until end-of-file is reached */
{
yy_cp = (yy_c_buf_p);
@ -753,7 +761,7 @@ YY_DECL
yy_match:
do
{
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
@ -783,7 +791,7 @@ yy_find_action:
if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
{
int yyl;
yy_size_t yyl;
for ( yyl = 0; yyl < expr_leng; ++yyl )
if ( expr_text[yyl] == '\n' )
@ -852,7 +860,7 @@ YY_RULE_SETUP
#line 68 "expr_parser.l"
ECHO;
YY_BREAK
#line 856 "expr_parser.c"
#line 864 "expr_parser.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
@ -983,6 +991,7 @@ case YY_STATE_EOF(INITIAL):
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
} /* end of user's declarations */
} /* end of expr_lex */
/* yy_get_next_buffer - try to read in a new buffer
@ -1584,7 +1593,7 @@ YY_BUFFER_STATE expr__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_l
YY_BUFFER_STATE b;
char *buf;
yy_size_t n;
int i;
yy_size_t i;
/* Get memory for full buffer, including space for trailing EOB's. */
n = _yybytes_len + 2;