// This one is for VoIP devices only.
{
"pool": "192.0.4.1 - 192.0.4.200",
- "client-classes": [ "VoIP" ]
+ "client-class": "VoIP"
},
// This one doesn't have any client-class specified,
"pools": [
{
"pool": "2001:db8:3::/80",
- "client-classes": [ "cable-modems" ]
+ "client-class": "cable-modems"
} ],
"subnet": "2001:db8:4::/64",
"interface": "ethY"
<title>Configuring Pools With Class Information</title>
<para>
Similar to the subnets, it is possible to restrict access to the certain address
- or prefix pools to the clients belonging to a specific class or
- classes, using the "client-classes" parameter when defining the
- pool. As opposed to subnets, the pools scope allows to define
- more than one class that is allowed. The incoming packet has to
- belong to only one of the classes listed to be able to get an
- address from that pool.
+ or prefix pools to the clients belonging to a specific class, using
+ the "client-class" parameter when defining the pool.
</para>
<para>
"pools": [
{
"pool": "192.0.2.10 - 192.0.2.20",
- "client-classes": [ "Client_foo" ]
+ "client-class": "Client_foo"
}
]</userinput>
},
"pools": [
{
"pool": "2001:db8:1::-2001:db8:1::ffff",
- "client-classes": [ "Client_foo" ]
+ "client-class": "Client_foo"
}
]</userinput>
},
<para>
Client classification can also be used to restrict access to specific
pools within a subnet. This is useful when to segregate clients belonging
- to the same subnet into different address or prefix ranges.
+ to the same subnet into different address ranges.
</para>
<para>
-#line 2 "dhcp4_lexer.cc"
+#line 1 "dhcp4_lexer.cc"
-#line 4 "dhcp4_lexer.cc"
+#line 3 "dhcp4_lexer.cc"
#define YY_INT_ALIGNED short int
/* A lexical scanner generated by flex */
/* %not-for-header */
-
/* %if-c-only */
/* %if-not-reentrant */
#define yy_create_buffer parser4__create_buffer
#define yy_delete_buffer parser4__delete_buffer
-#define yy_flex_debug parser4__flex_debug
+#define yy_scan_buffer parser4__scan_buffer
+#define yy_scan_string parser4__scan_string
+#define yy_scan_bytes parser4__scan_bytes
#define yy_init_buffer parser4__init_buffer
#define yy_flush_buffer parser4__flush_buffer
#define yy_load_buffer_state parser4__load_buffer_state
#define yy_switch_to_buffer parser4__switch_to_buffer
+#define yypush_buffer_state parser4_push_buffer_state
+#define yypop_buffer_state parser4_pop_buffer_state
+#define yyensure_buffer_stack parser4_ensure_buffer_stack
+#define yy_flex_debug parser4__flex_debug
#define yyin parser4_in
#define yyleng parser4_leng
#define yylex parser4_lex
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 6
-#define YY_FLEX_SUBMINOR_VERSION 1
+#define YY_FLEX_SUBMINOR_VERSION 4
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
/* %endif */
/* %if-c-only */
-
+#ifdef yy_create_buffer
+#define parser4__create_buffer_ALREADY_DEFINED
+#else
+#define yy_create_buffer parser4__create_buffer
+#endif
+
+#ifdef yy_delete_buffer
+#define parser4__delete_buffer_ALREADY_DEFINED
+#else
+#define yy_delete_buffer parser4__delete_buffer
+#endif
+
+#ifdef yy_scan_buffer
+#define parser4__scan_buffer_ALREADY_DEFINED
+#else
+#define yy_scan_buffer parser4__scan_buffer
+#endif
+
+#ifdef yy_scan_string
+#define parser4__scan_string_ALREADY_DEFINED
+#else
+#define yy_scan_string parser4__scan_string
+#endif
+
+#ifdef yy_scan_bytes
+#define parser4__scan_bytes_ALREADY_DEFINED
+#else
+#define yy_scan_bytes parser4__scan_bytes
+#endif
+
+#ifdef yy_init_buffer
+#define parser4__init_buffer_ALREADY_DEFINED
+#else
+#define yy_init_buffer parser4__init_buffer
+#endif
+
+#ifdef yy_flush_buffer
+#define parser4__flush_buffer_ALREADY_DEFINED
+#else
+#define yy_flush_buffer parser4__flush_buffer
+#endif
+
+#ifdef yy_load_buffer_state
+#define parser4__load_buffer_state_ALREADY_DEFINED
+#else
+#define yy_load_buffer_state parser4__load_buffer_state
+#endif
+
+#ifdef yy_switch_to_buffer
+#define parser4__switch_to_buffer_ALREADY_DEFINED
+#else
+#define yy_switch_to_buffer parser4__switch_to_buffer
+#endif
+
+#ifdef yypush_buffer_state
+#define parser4_push_buffer_state_ALREADY_DEFINED
+#else
+#define yypush_buffer_state parser4_push_buffer_state
+#endif
+
+#ifdef yypop_buffer_state
+#define parser4_pop_buffer_state_ALREADY_DEFINED
+#else
+#define yypop_buffer_state parser4_pop_buffer_state
+#endif
+
+#ifdef yyensure_buffer_stack
+#define parser4_ensure_buffer_stack_ALREADY_DEFINED
+#else
+#define yyensure_buffer_stack parser4_ensure_buffer_stack
+#endif
+
+#ifdef yylex
+#define parser4_lex_ALREADY_DEFINED
+#else
+#define yylex parser4_lex
+#endif
+
+#ifdef yyrestart
+#define parser4_restart_ALREADY_DEFINED
+#else
+#define yyrestart parser4_restart
+#endif
+
+#ifdef yylex_init
+#define parser4_lex_init_ALREADY_DEFINED
+#else
+#define yylex_init parser4_lex_init
+#endif
+
+#ifdef yylex_init_extra
+#define parser4_lex_init_extra_ALREADY_DEFINED
+#else
+#define yylex_init_extra parser4_lex_init_extra
+#endif
+
+#ifdef yylex_destroy
+#define parser4_lex_destroy_ALREADY_DEFINED
+#else
+#define yylex_destroy parser4_lex_destroy
+#endif
+
+#ifdef yyget_debug
+#define parser4_get_debug_ALREADY_DEFINED
+#else
+#define yyget_debug parser4_get_debug
+#endif
+
+#ifdef yyset_debug
+#define parser4_set_debug_ALREADY_DEFINED
+#else
+#define yyset_debug parser4_set_debug
+#endif
+
+#ifdef yyget_extra
+#define parser4_get_extra_ALREADY_DEFINED
+#else
+#define yyget_extra parser4_get_extra
+#endif
+
+#ifdef yyset_extra
+#define parser4_set_extra_ALREADY_DEFINED
+#else
+#define yyset_extra parser4_set_extra
+#endif
+
+#ifdef yyget_in
+#define parser4_get_in_ALREADY_DEFINED
+#else
+#define yyget_in parser4_get_in
+#endif
+
+#ifdef yyset_in
+#define parser4_set_in_ALREADY_DEFINED
+#else
+#define yyset_in parser4_set_in
+#endif
+
+#ifdef yyget_out
+#define parser4_get_out_ALREADY_DEFINED
+#else
+#define yyget_out parser4_get_out
+#endif
+
+#ifdef yyset_out
+#define parser4_set_out_ALREADY_DEFINED
+#else
+#define yyset_out parser4_set_out
+#endif
+
+#ifdef yyget_leng
+#define parser4_get_leng_ALREADY_DEFINED
+#else
+#define yyget_leng parser4_get_leng
+#endif
+
+#ifdef yyget_text
+#define parser4_get_text_ALREADY_DEFINED
+#else
+#define yyget_text parser4_get_text
+#endif
+
+#ifdef yyget_lineno
+#define parser4_get_lineno_ALREADY_DEFINED
+#else
+#define yyget_lineno parser4_get_lineno
+#endif
+
+#ifdef yyset_lineno
+#define parser4_set_lineno_ALREADY_DEFINED
+#else
+#define yyset_lineno parser4_set_lineno
+#endif
+
+#ifdef yywrap
+#define parser4_wrap_ALREADY_DEFINED
+#else
+#define yywrap parser4_wrap
+#endif
+
/* %endif */
+#ifdef yyalloc
+#define parser4_alloc_ALREADY_DEFINED
+#else
+#define yyalloc parser4_alloc
+#endif
+
+#ifdef yyrealloc
+#define parser4_realloc_ALREADY_DEFINED
+#else
+#define yyrealloc parser4_realloc
+#endif
+
+#ifdef yyfree
+#define parser4_free_ALREADY_DEFINED
+#else
+#define yyfree parser4_free
+#endif
+
/* %if-c-only */
+#ifdef yytext
+#define parser4_text_ALREADY_DEFINED
+#else
+#define yytext parser4_text
+#endif
+
+#ifdef yyleng
+#define parser4_leng_ALREADY_DEFINED
+#else
+#define yyleng parser4_leng
+#endif
+
+#ifdef yyin
+#define parser4_in_ALREADY_DEFINED
+#else
+#define yyin parser4_in
+#endif
+
+#ifdef yyout
+#define parser4_out_ALREADY_DEFINED
+#else
+#define yyout parser4_out
+#endif
+
+#ifdef yy_flex_debug
+#define parser4__flex_debug_ALREADY_DEFINED
+#else
+#define yy_flex_debug parser4__flex_debug
+#endif
+
+#ifdef yylineno
+#define parser4_lineno_ALREADY_DEFINED
+#else
+#define yylineno parser4_lineno
+#endif
+
/* %endif */
/* First, we deal with platform-specific or compiler-specific issues. */
#define UINT32_MAX (4294967295U)
#endif
+#ifndef SIZE_MAX
+#define SIZE_MAX (~(size_t)0)
+#endif
+
#endif /* ! C99 */
#endif /* ! FLEXINT_H */
/* %endif */
+/* begin standard C++ headers. */
/* %if-c++-only */
/* %endif */
#endif
/* %not-for-header */
-
/* Returned upon end-of-file. */
#define YY_NULL 0
/* %ok-for-header */
/* %not-for-header */
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index. If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
+/* Promotes a possibly negative, possibly signed char to an
+ * integer in range [0..255] for use as an array index.
*/
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
/* %ok-for-header */
/* %if-reentrant */
* definition of BEGIN.
*/
#define BEGIN (yy_start) = 1 + 2 *
-
/* Translate the current start state into a value that can be later handed
* to BEGIN to return to the state. The YYSTATE alias is for lex
* compatibility.
*/
#define YY_START (((yy_start) - 1) / 2)
#define YYSTATE YY_START
-
/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE parser4_restart(parser4_in )
-
+#define YY_NEW_FILE yyrestart( yyin )
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
#endif
/* %if-not-reentrant */
-extern int parser4_leng;
+extern int yyleng;
/* %endif */
/* %if-c-only */
/* %if-not-reentrant */
-extern FILE *parser4_in, *parser4_out;
+extern FILE *yyin, *yyout;
/* %endif */
/* %endif */
#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
-
+
#define YY_LESS_LINENO(n)
#define YY_LINENO_REWIND_TO(ptr)
#define yyless(n) \
do \
{ \
- /* Undo effects of setting up parser4_text. */ \
+ /* Undo effects of setting up yytext. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
*yy_cp = (yy_hold_char); \
YY_RESTORE_YY_MORE_OFFSET \
(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
- YY_DO_BEFORE_ACTION; /* set up parser4_text again */ \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
-
#define unput(c) yyunput( c, (yytext_ptr) )
#ifndef YY_STRUCT_YY_BUFFER_STATE
* possible backing-up.
*
* When we actually see the EOF, we change the status to "new"
- * (via parser4_restart()), so that the user can continue scanning by
- * just pointing parser4_in at a new input file.
+ * (via yyrestart()), so that the user can continue scanning by
+ * just pointing yyin at a new input file.
*/
#define YY_BUFFER_EOF_PENDING 2
/* %if-c-only Standard (non-C++) definition */
/* %not-for-header */
-
/* %if-not-reentrant */
/* Stack of input buffers. */
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
? (yy_buffer_stack)[(yy_buffer_stack_top)] \
: NULL)
-
/* Same as previous macro, but useful when we know that the buffer stack is not
* NULL or when we need an lvalue. For internal use only.
*/
/* %if-not-reentrant */
/* %not-for-header */
-
-/* yy_hold_char holds the character lost when parser4_text is formed. */
+/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;
static int yy_n_chars; /* number of characters read into yy_ch_buf */
-int parser4_leng;
+int yyleng;
/* Points to current character in buffer. */
static char *yy_c_buf_p = NULL;
static int yy_init = 0; /* whether we need to initialize */
static int yy_start = 0; /* start state number */
-/* Flag which is used to allow parser4_wrap()'s to do buffer switches
- * instead of setting up a fresh parser4_in. A bit of a hack ...
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
*/
static int yy_did_buffer_switch_on_eof;
/* %ok-for-header */
/* %endif */
-void parser4_restart (FILE *input_file );
-void parser4__switch_to_buffer (YY_BUFFER_STATE new_buffer );
-YY_BUFFER_STATE parser4__create_buffer (FILE *file,int size );
-void parser4__delete_buffer (YY_BUFFER_STATE b );
-void parser4__flush_buffer (YY_BUFFER_STATE b );
-void parser4_push_buffer_state (YY_BUFFER_STATE new_buffer );
-void parser4_pop_buffer_state (void );
-
-static void parser4_ensure_buffer_stack (void );
-static void parser4__load_buffer_state (void );
-static void parser4__init_buffer (YY_BUFFER_STATE b,FILE *file );
+void yyrestart ( FILE *input_file );
+void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
+YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
+void yy_delete_buffer ( YY_BUFFER_STATE b );
+void yy_flush_buffer ( YY_BUFFER_STATE b );
+void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
+void yypop_buffer_state ( void );
-#define YY_FLUSH_BUFFER parser4__flush_buffer(YY_CURRENT_BUFFER )
+static void yyensure_buffer_stack ( void );
+static void yy_load_buffer_state ( void );
+static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
+#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
-YY_BUFFER_STATE parser4__scan_buffer (char *base,yy_size_t size );
-YY_BUFFER_STATE parser4__scan_string (yyconst char *yy_str );
-YY_BUFFER_STATE parser4__scan_bytes (yyconst char *bytes,int len );
+YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
+YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
+YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
/* %endif */
-void *parser4_alloc (yy_size_t );
-void *parser4_realloc (void *,yy_size_t );
-void parser4_free (void * );
-
-#define yy_new_buffer parser4__create_buffer
+void *yyalloc ( yy_size_t );
+void *yyrealloc ( void *, yy_size_t );
+void yyfree ( void * );
+#define yy_new_buffer yy_create_buffer
#define yy_set_interactive(is_interactive) \
{ \
if ( ! YY_CURRENT_BUFFER ){ \
- parser4_ensure_buffer_stack (); \
+ yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- parser4__create_buffer(parser4_in,YY_BUF_SIZE ); \
+ yy_create_buffer( yyin, YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
-
#define yy_set_bol(at_bol) \
{ \
if ( ! YY_CURRENT_BUFFER ){\
- parser4_ensure_buffer_stack (); \
+ yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- parser4__create_buffer(parser4_in,YY_BUF_SIZE ); \
+ yy_create_buffer( yyin, YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
-
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-/* %% [1.0] parser4_text/parser4_in/parser4_out/yy_state_type/parser4_lineno etc. def's & init go here */
+/* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */
/* Begin user sect3 */
#define parser4_wrap() (/*CONSTCOND*/1)
#define YY_SKIP_YYWRAP
#define FLEX_DEBUG
+typedef flex_uint8_t YY_CHAR;
-typedef unsigned char YY_CHAR;
-
-FILE *parser4_in = NULL, *parser4_out = NULL;
+FILE *yyin = NULL, *yyout = NULL;
typedef int yy_state_type;
-extern int parser4_lineno;
-
-int parser4_lineno = 1;
+extern int yylineno;
+int yylineno = 1;
-extern char *parser4_text;
+extern char *yytext;
#ifdef yytext_ptr
#undef yytext_ptr
#endif
-#define yytext_ptr parser4_text
+#define yytext_ptr yytext
/* %% [1.5] DFA */
/* %if-c-only Standard (non-C++) definition */
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
-static int yy_get_next_buffer (void );
-static void yynoreturn yy_fatal_error (yyconst char* msg );
+static yy_state_type yy_get_previous_state ( void );
+static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
+static int yy_get_next_buffer ( void );
+static void yynoreturn yy_fatal_error ( const char* msg );
/* %endif */
/* Done after the current pattern has been matched and before the
- * corresponding action - sets up parser4_text.
+ * corresponding action - sets up yytext.
*/
#define YY_DO_BEFORE_ACTION \
(yytext_ptr) = yy_bp; \
-/* %% [2.0] code to fiddle parser4_text and parser4_leng for yymore() goes here \ */\
- parser4_leng = (int) (yy_cp - yy_bp); \
+/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\
+ yyleng = (int) (yy_cp - yy_bp); \
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
-/* %% [3.0] code to copy yytext_ptr to parser4_text[] goes here, if %array \ */\
+/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
(yy_c_buf_p) = yy_cp;
-
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
#define YY_NUM_RULES 159
#define YY_END_OF_BUFFER 160
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[1292] =
+static const flex_int16_t yy_accept[1292] =
{ 0,
152, 152, 0, 0, 0, 0, 0, 0, 0, 0,
160, 158, 10, 11, 158, 1, 152, 149, 152, 152,
} ;
-static yyconst YY_CHAR yy_ec[256] =
+static const YY_CHAR yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
5, 5, 5, 5, 5
} ;
-static yyconst YY_CHAR yy_meta[72] =
+static const YY_CHAR yy_meta[72] =
{ 0,
1, 1, 2, 3, 3, 4, 3, 3, 3, 3,
3, 3, 3, 5, 5, 5, 3, 3, 3, 3,
3
} ;
-static yyconst flex_uint16_t yy_base[1304] =
+static const flex_int16_t yy_base[1304] =
{ 0,
0, 70, 19, 29, 41, 49, 52, 58, 87, 95,
1653, 1654, 32, 1649, 141, 0, 201, 1654, 206, 88,
1128, 1130, 1143
} ;
-static yyconst flex_int16_t yy_def[1304] =
+static const flex_int16_t yy_def[1304] =
{ 0,
1292, 1292, 1293, 1293, 1292, 1292, 1292, 1292, 1292, 1292,
1291, 1291, 1291, 1291, 1291, 1294, 1291, 1291, 1291, 1291,
1291, 1291, 1291
} ;
-static yyconst flex_uint16_t yy_nxt[1726] =
+static const flex_int16_t yy_nxt[1726] =
{ 0,
1291, 13, 14, 13, 1291, 15, 16, 1291, 17, 18,
19, 20, 21, 22, 22, 22, 23, 24, 86, 662,
1291, 1291, 1291, 1291, 1291
} ;
-static yyconst flex_int16_t yy_chk[1726] =
+static const flex_int16_t yy_chk[1726] =
{ 0,
0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 21, 578,
static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;
-extern int parser4__flex_debug;
-int parser4__flex_debug = 1;
+extern int yy_flex_debug;
+int yy_flex_debug = 1;
-static yyconst flex_int16_t yy_rule_linenum[159] =
+static const flex_int16_t yy_rule_linenum[159] =
{ 0,
- 144, 146, 148, 153, 154, 159, 160, 161, 173, 176,
- 181, 188, 197, 206, 215, 224, 234, 243, 252, 261,
- 270, 279, 288, 297, 306, 317, 326, 335, 344, 353,
- 363, 373, 383, 393, 403, 413, 423, 433, 443, 454,
- 465, 476, 485, 495, 504, 514, 529, 545, 554, 563,
- 572, 581, 601, 621, 630, 640, 649, 658, 667, 677,
- 686, 695, 704, 713, 723, 732, 741, 750, 759, 768,
- 777, 786, 795, 804, 813, 824, 835, 845, 854, 864,
- 874, 884, 894, 904, 913, 923, 932, 941, 950, 959,
- 969, 979, 989, 998, 1007, 1016, 1025, 1034, 1043, 1052,
-
- 1061, 1070, 1079, 1088, 1097, 1106, 1115, 1124, 1133, 1142,
- 1151, 1160, 1169, 1178, 1187, 1196, 1205, 1214, 1223, 1232,
- 1241, 1251, 1261, 1271, 1281, 1291, 1301, 1311, 1321, 1331,
- 1340, 1349, 1358, 1367, 1376, 1385, 1394, 1405, 1418, 1431,
- 1446, 1545, 1550, 1555, 1560, 1561, 1562, 1563, 1564, 1565,
- 1567, 1585, 1598, 1603, 1607, 1609, 1611, 1613
+ 145, 147, 149, 154, 155, 160, 161, 162, 174, 177,
+ 182, 189, 198, 207, 216, 225, 235, 244, 253, 262,
+ 271, 280, 289, 298, 307, 318, 327, 336, 345, 354,
+ 364, 374, 384, 394, 404, 414, 424, 434, 444, 455,
+ 466, 477, 486, 496, 505, 515, 530, 546, 555, 564,
+ 573, 582, 602, 622, 631, 641, 650, 659, 668, 678,
+ 687, 696, 705, 714, 724, 733, 742, 751, 760, 769,
+ 778, 787, 796, 805, 814, 824, 836, 846, 855, 865,
+ 875, 885, 895, 905, 914, 924, 933, 942, 951, 960,
+ 970, 980, 990, 999, 1008, 1017, 1026, 1035, 1044, 1053,
+
+ 1062, 1071, 1080, 1089, 1098, 1107, 1116, 1125, 1134, 1143,
+ 1152, 1161, 1170, 1179, 1188, 1197, 1206, 1215, 1224, 1233,
+ 1242, 1252, 1262, 1272, 1282, 1292, 1302, 1312, 1322, 1332,
+ 1341, 1350, 1359, 1368, 1377, 1386, 1395, 1406, 1419, 1432,
+ 1447, 1546, 1551, 1556, 1561, 1562, 1563, 1564, 1565, 1566,
+ 1568, 1586, 1599, 1604, 1608, 1610, 1612, 1614
} ;
/* The intent behind this definition is that it'll catch
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
-char *parser4_text;
+char *yytext;
#line 1 "dhcp4_lexer.ll"
/* Copyright (C) 2016-2017 Internet Systems Consortium, Inc. ("ISC")
2.5.31 through 2.5.33): it generates code that does
not conform to C89. See Debian bug 333231
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=333231>. */
-# undef parser4_wrap
-# define parser4_wrap() 1
+# undef yywrap
+# define yywrap() 1
namespace {
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
+#line 1655 "dhcp4_lexer.cc"
/* noyywrap disables automatic rewinding for the next file to parse. Since we
always parse only a single string, there's no need to do any wraps. And
- using parser4_wrap requires linking with -lfl, which provides the default parser4_wrap
+ using yywrap requires linking with -lfl, which provides the default yywrap
implementation that always returns 1 anyway. */
/* nounput simplifies the lexer, by removing support for putting a character
back into the input stream. We never use such capability anyway. */
/* avoid to get static global variables to remain with C++. */
/* in last resort %option reentrant */
/* Enables debug mode. To see the debug messages, one needs to also set
- parser4__flex_debug to 1, then the debug messages will be printed on stderr. */
+ yy_flex_debug to 1, then the debug messages will be printed on stderr. */
/* I have no idea what this option does, except it was specified in the bison
examples and Postgres folks added it to remove gcc 4.3 warnings. Let's
be on the safe side and keep it. */
#define YY_NO_INPUT 1
-
/* These are not token expressions yet, just convenience expressions that
can be used during actual token definitions. Note some can match
incorrect inputs (e.g., IP addresses) which must be checked. */
/* for errors */
#line 94 "dhcp4_lexer.ll"
/* This code run each time a pattern is matched. It updates the location
- by moving it ahead by parser4_leng bytes. parser4_leng specifies the length of the
+ by moving it ahead by yyleng bytes. yyleng specifies the length of the
currently matched token. */
-#define YY_USER_ACTION driver.loc_.columns(parser4_leng);
-#line 1458 "dhcp4_lexer.cc"
+#define YY_USER_ACTION driver.loc_.columns(yyleng);
+#line 1681 "dhcp4_lexer.cc"
+#line 1682 "dhcp4_lexer.cc"
#define INITIAL 0
#define COMMENT 1
/* %if-reentrant */
/* %if-c-only */
-static int yy_init_globals (void );
+static int yy_init_globals ( void );
/* %endif */
/* %if-reentrant */
/* Accessor methods to globals.
These are made visible to non-reentrant scanners for convenience. */
-int parser4_lex_destroy (void );
+int yylex_destroy ( void );
-int parser4_get_debug (void );
+int yyget_debug ( void );
-void parser4_set_debug (int debug_flag );
+void yyset_debug ( int debug_flag );
-YY_EXTRA_TYPE parser4_get_extra (void );
+YY_EXTRA_TYPE yyget_extra ( void );
-void parser4_set_extra (YY_EXTRA_TYPE user_defined );
+void yyset_extra ( YY_EXTRA_TYPE user_defined );
-FILE *parser4_get_in (void );
+FILE *yyget_in ( void );
-void parser4_set_in (FILE * _in_str );
+void yyset_in ( FILE * _in_str );
-FILE *parser4_get_out (void );
+FILE *yyget_out ( void );
-void parser4_set_out (FILE * _out_str );
+void yyset_out ( FILE * _out_str );
- int parser4_get_leng (void );
+ int yyget_leng ( void );
-char *parser4_get_text (void );
+char *yyget_text ( void );
-int parser4_get_lineno (void );
+int yyget_lineno ( void );
-void parser4_set_lineno (int _line_number );
+void yyset_lineno ( int _line_number );
/* %if-bison-bridge */
/* %endif */
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
-extern "C" int parser4_wrap (void );
+extern "C" int yywrap ( void );
#else
-extern int parser4_wrap (void );
+extern int yywrap ( void );
#endif
#endif
/* %not-for-header */
-
#ifndef YY_NO_UNPUT
#endif
/* %endif */
#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
+static void yy_flex_strncpy ( char *, const char *, int );
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
+static int yy_flex_strlen ( const char * );
#endif
#ifndef YY_NO_INPUT
/* %if-c-only Standard (non-C++) definition */
/* %not-for-header */
-
#ifdef __cplusplus
-static int yyinput (void );
+static int yyinput ( void );
#else
-static int input (void );
+static int input ( void );
#endif
/* %ok-for-header */
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO do { if (fwrite( parser4_text, (size_t) parser4_leng, 1, parser4_out )) {} } while (0)
+#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
/* %endif */
/* %if-c++-only C++ definition */
/* %endif */
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
- size_t n; \
+ int n; \
for ( n = 0; n < max_size && \
- (c = getc( parser4_in )) != EOF && c != '\n'; ++n ) \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
if ( c == '\n' ) \
buf[n++] = (char) c; \
- if ( c == EOF && ferror( parser4_in ) ) \
+ if ( c == EOF && ferror( yyin ) ) \
YY_FATAL_ERROR( "input in flex scanner failed" ); \
result = n; \
} \
else \
{ \
errno=0; \
- while ( (result = (int) fread(buf, 1, max_size, parser4_in))==0 && ferror(parser4_in)) \
+ while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
break; \
} \
errno=0; \
- clearerr(parser4_in); \
+ clearerr(yyin); \
} \
}\
\
/* %if-tables-serialization structures and prototypes */
/* %not-for-header */
-
/* %ok-for-header */
/* %not-for-header */
-
/* %tables-yydmap generated elements */
/* %endif */
/* end tables serialization structures and prototypes */
#define YY_DECL_IS_OURS 1
/* %if-c-only Standard (non-C++) definition */
-extern int parser4_lex (void);
+extern int yylex (void);
-#define YY_DECL int parser4_lex (void)
+#define YY_DECL int yylex (void)
/* %endif */
/* %if-c++-only C++ definition */
/* %endif */
#endif /* !YY_DECL */
-/* Code executed at the beginning of each rule, after parser4_text and parser4_leng
+/* Code executed at the beginning of each rule, after yytext and yyleng
* have been set up.
*/
#ifndef YY_USER_ACTION
YY_USER_ACTION
/* %not-for-header */
-
/** The main scanner function which does all the work.
*/
YY_DECL
if ( ! (yy_start) )
(yy_start) = 1; /* first start state */
- if ( ! parser4_in )
+ if ( ! yyin )
/* %if-c-only */
- parser4_in = stdin;
+ yyin = stdin;
/* %endif */
/* %if-c++-only */
/* %endif */
- if ( ! parser4_out )
+ if ( ! yyout )
/* %if-c-only */
- parser4_out = stdout;
+ yyout = stdout;
/* %endif */
/* %if-c++-only */
/* %endif */
if ( ! YY_CURRENT_BUFFER ) {
- parser4_ensure_buffer_stack ();
+ yyensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- parser4__create_buffer(parser4_in,YY_BUF_SIZE );
+ yy_create_buffer( yyin, YY_BUF_SIZE );
}
- parser4__load_buffer_state( );
+ yy_load_buffer_state( );
}
{
+#line 104 "dhcp4_lexer.ll"
/* This part of the code is copied over to the verbatim to the top
- of the generated parser4_lex function. Explanation:
+ of the generated yylex function. Explanation:
http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */
- /* Code run each time parser4_lex is called. */
+ /* Code run each time yylex is called. */
driver.loc_.step();
if (start_token_flag) {
}
-#line 1790 "dhcp4_lexer.cc"
+#line 2010 "dhcp4_lexer.cc"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
/* %% [8.0] yymore()-related code goes here */
yy_cp = (yy_c_buf_p);
- /* Support of parser4_text. */
+ /* Support of yytext. */
*yy_cp = (yy_hold_char);
/* yy_bp points to the position in yy_ch_buf of the start of
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 1292 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
while ( yy_current_state != 1291 );
YY_DO_BEFORE_ACTION;
-/* %% [11.0] code for parser4_lineno update goes here */
+/* %% [11.0] code for yylineno update goes here */
do_action: /* This label is used only to access EOF actions. */
/* %% [12.0] debug code goes here */
- if ( parser4__flex_debug )
+ if ( yy_flex_debug )
{
if ( yy_act == 0 )
fprintf( stderr, "--scanner backing up\n" );
else if ( yy_act < 159 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
- (long)yy_rule_linenum[yy_act], parser4_text );
+ (long)yy_rule_linenum[yy_act], yytext );
else if ( yy_act == 159 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
- parser4_text );
+ yytext );
else if ( yy_act == 160 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
case 1:
YY_RULE_SETUP
-#line 144 "dhcp4_lexer.ll"
+#line 145 "dhcp4_lexer.ll"
;
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 146 "dhcp4_lexer.ll"
+#line 147 "dhcp4_lexer.ll"
;
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 148 "dhcp4_lexer.ll"
+#line 149 "dhcp4_lexer.ll"
{
BEGIN(COMMENT);
comment_start_line = driver.loc_.end.line;;
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 153 "dhcp4_lexer.ll"
+#line 154 "dhcp4_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 154 "dhcp4_lexer.ll"
+#line 155 "dhcp4_lexer.ll"
;
YY_BREAK
case YY_STATE_EOF(COMMENT):
-#line 155 "dhcp4_lexer.ll"
+#line 156 "dhcp4_lexer.ll"
{
isc_throw(Dhcp4ParseError, "Comment not closed. (/* in line " << comment_start_line);
}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 159 "dhcp4_lexer.ll"
+#line 160 "dhcp4_lexer.ll"
BEGIN(DIR_ENTER);
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 160 "dhcp4_lexer.ll"
+#line 161 "dhcp4_lexer.ll"
BEGIN(DIR_INCLUDE);
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 161 "dhcp4_lexer.ll"
+#line 162 "dhcp4_lexer.ll"
{
/* Include directive. */
/* Extract the filename. */
- std::string tmp(parser4_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
driver.includeFile(tmp);
case YY_STATE_EOF(DIR_ENTER):
case YY_STATE_EOF(DIR_INCLUDE):
case YY_STATE_EOF(DIR_EXIT):
-#line 170 "dhcp4_lexer.ll"
+#line 171 "dhcp4_lexer.ll"
{
isc_throw(Dhcp4ParseError, "Directive not closed.");
}
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 173 "dhcp4_lexer.ll"
+#line 174 "dhcp4_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 176 "dhcp4_lexer.ll"
+#line 177 "dhcp4_lexer.ll"
{
/* Ok, we found a with space. Let's ignore it and update loc variable. */
driver.loc_.step();
case 11:
/* rule 11 can match eol */
YY_RULE_SETUP
-#line 181 "dhcp4_lexer.ll"
+#line 182 "dhcp4_lexer.ll"
{
/* Newline found. Let's update the location and continue. */
- driver.loc_.lines(parser4_leng);
+ driver.loc_.lines(yyleng);
driver.loc_.step();
}
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 188 "dhcp4_lexer.ll"
+#line 189 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 197 "dhcp4_lexer.ll"
+#line 198 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 206 "dhcp4_lexer.ll"
+#line 207 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 215 "dhcp4_lexer.ll"
+#line 216 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_SOCKET_TYPE:
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 224 "dhcp4_lexer.ll"
+#line 225 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_SOCKET_TYPE:
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 234 "dhcp4_lexer.ll"
+#line 235 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case Parser4Context::INTERFACES_CONFIG:
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 243 "dhcp4_lexer.ll"
+#line 244 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case Parser4Context::OUTBOUND_INTERFACE:
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 252 "dhcp4_lexer.ll"
+#line 253 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case Parser4Context::OUTBOUND_INTERFACE:
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 261 "dhcp4_lexer.ll"
+#line 262 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 270 "dhcp4_lexer.ll"
+#line 271 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 279 "dhcp4_lexer.ll"
+#line 280 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 288 "dhcp4_lexer.ll"
+#line 289 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 297 "dhcp4_lexer.ll"
+#line 298 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOSTS_DATABASE:
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 306 "dhcp4_lexer.ll"
+#line 307 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 317 "dhcp4_lexer.ll"
+#line 318 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DATABASE_TYPE:
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 326 "dhcp4_lexer.ll"
+#line 327 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DATABASE_TYPE:
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 335 "dhcp4_lexer.ll"
+#line 336 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DATABASE_TYPE:
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 344 "dhcp4_lexer.ll"
+#line 345 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DATABASE_TYPE:
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 353 "dhcp4_lexer.ll"
+#line 354 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 363 "dhcp4_lexer.ll"
+#line 364 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 373 "dhcp4_lexer.ll"
+#line 374 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 383 "dhcp4_lexer.ll"
+#line 384 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 393 "dhcp4_lexer.ll"
+#line 394 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 403 "dhcp4_lexer.ll"
+#line 404 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 413 "dhcp4_lexer.ll"
+#line 414 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 423 "dhcp4_lexer.ll"
+#line 424 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 433 "dhcp4_lexer.ll"
+#line 434 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 443 "dhcp4_lexer.ll"
+#line 444 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 454 "dhcp4_lexer.ll"
+#line 455 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 465 "dhcp4_lexer.ll"
+#line 466 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 476 "dhcp4_lexer.ll"
+#line 477 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 485 "dhcp4_lexer.ll"
+#line 486 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 495 "dhcp4_lexer.ll"
+#line 496 "dhcp4_lexer.ll"
{
switch (driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 504 "dhcp4_lexer.ll"
+#line 505 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 514 "dhcp4_lexer.ll"
+#line 515 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 529 "dhcp4_lexer.ll"
+#line 530 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 545 "dhcp4_lexer.ll"
+#line 546 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 554 "dhcp4_lexer.ll"
+#line 555 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 563 "dhcp4_lexer.ll"
+#line 564 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 572 "dhcp4_lexer.ll"
+#line 573 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::POOLS:
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 581 "dhcp4_lexer.ll"
+#line 582 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 601 "dhcp4_lexer.ll"
+#line 602 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 621 "dhcp4_lexer.ll"
+#line 622 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 630 "dhcp4_lexer.ll"
+#line 631 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 640 "dhcp4_lexer.ll"
+#line 641 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 649 "dhcp4_lexer.ll"
+#line 650 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 658 "dhcp4_lexer.ll"
+#line 659 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 667 "dhcp4_lexer.ll"
+#line 668 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 677 "dhcp4_lexer.ll"
+#line 678 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 686 "dhcp4_lexer.ll"
+#line 687 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 695 "dhcp4_lexer.ll"
+#line 696 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 704 "dhcp4_lexer.ll"
+#line 705 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 713 "dhcp4_lexer.ll"
+#line 714 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 723 "dhcp4_lexer.ll"
+#line 724 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 732 "dhcp4_lexer.ll"
+#line 733 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 741 "dhcp4_lexer.ll"
+#line 742 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGING:
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 750 "dhcp4_lexer.ll"
+#line 751 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 759 "dhcp4_lexer.ll"
+#line 760 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 768 "dhcp4_lexer.ll"
+#line 769 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 777 "dhcp4_lexer.ll"
+#line 778 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 786 "dhcp4_lexer.ll"
+#line 787 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 795 "dhcp4_lexer.ll"
+#line 796 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 804 "dhcp4_lexer.ll"
+#line 805 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 813 "dhcp4_lexer.ll"
+#line 814 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
- case isc::dhcp::Parser4Context::POOLS:
case isc::dhcp::Parser4Context::RESERVATIONS:
return isc::dhcp::Dhcp4Parser::make_CLIENT_CLASSES(driver.loc_);
default:
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
+ case isc::dhcp::Parser4Context::POOLS:
case isc::dhcp::Parser4Context::SHARED_NETWORK:
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
return isc::dhcp::Dhcp4Parser::make_CLIENT_CLASS(driver.loc_);
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 835 "dhcp4_lexer.ll"
+#line 836 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 845 "dhcp4_lexer.ll"
+#line 846 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 854 "dhcp4_lexer.ll"
+#line 855 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 864 "dhcp4_lexer.ll"
+#line 865 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 874 "dhcp4_lexer.ll"
+#line 875 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 884 "dhcp4_lexer.ll"
+#line 885 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 894 "dhcp4_lexer.ll"
+#line 895 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 904 "dhcp4_lexer.ll"
+#line 905 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATIONS:
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 913 "dhcp4_lexer.ll"
+#line 914 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 923 "dhcp4_lexer.ll"
+#line 924 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 932 "dhcp4_lexer.ll"
+#line 933 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 941 "dhcp4_lexer.ll"
+#line 942 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 950 "dhcp4_lexer.ll"
+#line 951 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 959 "dhcp4_lexer.ll"
+#line 960 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 969 "dhcp4_lexer.ll"
+#line 970 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RELAY:
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 979 "dhcp4_lexer.ll"
+#line 980 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 989 "dhcp4_lexer.ll"
+#line 990 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 998 "dhcp4_lexer.ll"
+#line 999 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 1007 "dhcp4_lexer.ll"
+#line 1008 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 1016 "dhcp4_lexer.ll"
+#line 1017 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 1025 "dhcp4_lexer.ll"
+#line 1026 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 1034 "dhcp4_lexer.ll"
+#line 1035 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 1043 "dhcp4_lexer.ll"
+#line 1044 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 1052 "dhcp4_lexer.ll"
+#line 1053 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 1061 "dhcp4_lexer.ll"
+#line 1062 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 1070 "dhcp4_lexer.ll"
+#line 1071 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 1079 "dhcp4_lexer.ll"
+#line 1080 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 1088 "dhcp4_lexer.ll"
+#line 1089 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 1097 "dhcp4_lexer.ll"
+#line 1098 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 1106 "dhcp4_lexer.ll"
+#line 1107 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 1115 "dhcp4_lexer.ll"
+#line 1116 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 1124 "dhcp4_lexer.ll"
+#line 1125 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 1133 "dhcp4_lexer.ll"
+#line 1134 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 1142 "dhcp4_lexer.ll"
+#line 1143 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 1151 "dhcp4_lexer.ll"
+#line 1152 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 1160 "dhcp4_lexer.ll"
+#line 1161 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 1169 "dhcp4_lexer.ll"
+#line 1170 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 1178 "dhcp4_lexer.ll"
+#line 1179 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 1187 "dhcp4_lexer.ll"
+#line 1188 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 1196 "dhcp4_lexer.ll"
+#line 1197 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 1205 "dhcp4_lexer.ll"
+#line 1206 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 1214 "dhcp4_lexer.ll"
+#line 1215 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 1223 "dhcp4_lexer.ll"
+#line 1224 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 1232 "dhcp4_lexer.ll"
+#line 1233 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 1241 "dhcp4_lexer.ll"
+#line 1242 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
return isc::dhcp::Dhcp4Parser::make_UDP(driver.loc_);
}
- std::string tmp(parser4_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 1251 "dhcp4_lexer.ll"
+#line 1252 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
return isc::dhcp::Dhcp4Parser::make_TCP(driver.loc_);
}
- std::string tmp(parser4_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 1261 "dhcp4_lexer.ll"
+#line 1262 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) {
return isc::dhcp::Dhcp4Parser::make_JSON(driver.loc_);
}
- std::string tmp(parser4_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 1271 "dhcp4_lexer.ll"
+#line 1272 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp4Parser::make_WHEN_PRESENT(driver.loc_);
}
- std::string tmp(parser4_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 1281 "dhcp4_lexer.ll"
+#line 1282 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp4Parser::make_WHEN_PRESENT(driver.loc_);
}
- std::string tmp(parser4_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 1291 "dhcp4_lexer.ll"
+#line 1292 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp4Parser::make_NEVER(driver.loc_);
}
- std::string tmp(parser4_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 1301 "dhcp4_lexer.ll"
+#line 1302 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp4Parser::make_NEVER(driver.loc_);
}
- std::string tmp(parser4_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 1311 "dhcp4_lexer.ll"
+#line 1312 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp4Parser::make_ALWAYS(driver.loc_);
}
- std::string tmp(parser4_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 1321 "dhcp4_lexer.ll"
+#line 1322 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp4Parser::make_WHEN_NOT_PRESENT(driver.loc_);
}
- std::string tmp(parser4_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 1331 "dhcp4_lexer.ll"
+#line 1332 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 1340 "dhcp4_lexer.ll"
+#line 1341 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
YY_BREAK
case 132:
YY_RULE_SETUP
-#line 1349 "dhcp4_lexer.ll"
+#line 1350 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 1358 "dhcp4_lexer.ll"
+#line 1359 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 1367 "dhcp4_lexer.ll"
+#line 1368 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 1376 "dhcp4_lexer.ll"
+#line 1377 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 136:
YY_RULE_SETUP
-#line 1385 "dhcp4_lexer.ll"
+#line 1386 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 137:
YY_RULE_SETUP
-#line 1394 "dhcp4_lexer.ll"
+#line 1395 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 138:
YY_RULE_SETUP
-#line 1405 "dhcp4_lexer.ll"
+#line 1406 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 139:
YY_RULE_SETUP
-#line 1418 "dhcp4_lexer.ll"
+#line 1419 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 140:
YY_RULE_SETUP
-#line 1431 "dhcp4_lexer.ll"
+#line 1432 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 141:
YY_RULE_SETUP
-#line 1446 "dhcp4_lexer.ll"
+#line 1447 "dhcp4_lexer.ll"
{
/* A string has been matched. It contains the actual string and single quotes.
We need to get those quotes out of the way and just use its content, e.g.
for 'foo' we should get foo */
- std::string raw(parser4_text+1);
+ std::string raw(yytext+1);
size_t len = raw.size() - 1;
raw.resize(len);
std::string decoded;
case 142:
/* rule 142 can match eol */
YY_RULE_SETUP
-#line 1545 "dhcp4_lexer.ll"
+#line 1546 "dhcp4_lexer.ll"
{
/* Bad string with a forbidden control character inside */
- driver.error(driver.loc_, "Invalid control in " + std::string(parser4_text));
+ driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
}
YY_BREAK
case 143:
/* rule 143 can match eol */
YY_RULE_SETUP
-#line 1550 "dhcp4_lexer.ll"
+#line 1551 "dhcp4_lexer.ll"
{
/* Bad string with a bad escape inside */
- driver.error(driver.loc_, "Bad escape in " + std::string(parser4_text));
+ driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
}
YY_BREAK
case 144:
YY_RULE_SETUP
-#line 1555 "dhcp4_lexer.ll"
+#line 1556 "dhcp4_lexer.ll"
{
/* Bad string with an open escape at the end */
- driver.error(driver.loc_, "Overflow escape in " + std::string(parser4_text));
+ driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
}
YY_BREAK
case 145:
YY_RULE_SETUP
-#line 1560 "dhcp4_lexer.ll"
+#line 1561 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 146:
YY_RULE_SETUP
-#line 1561 "dhcp4_lexer.ll"
+#line 1562 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 147:
YY_RULE_SETUP
-#line 1562 "dhcp4_lexer.ll"
+#line 1563 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 1563 "dhcp4_lexer.ll"
+#line 1564 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 149:
YY_RULE_SETUP
-#line 1564 "dhcp4_lexer.ll"
+#line 1565 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); }
YY_BREAK
case 150:
YY_RULE_SETUP
-#line 1565 "dhcp4_lexer.ll"
+#line 1566 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); }
YY_BREAK
case 151:
YY_RULE_SETUP
-#line 1567 "dhcp4_lexer.ll"
+#line 1568 "dhcp4_lexer.ll"
{
/* An integer was found. */
- std::string tmp(parser4_text);
+ std::string tmp(yytext);
int64_t integer = 0;
try {
/* In substring we want to use negative values (e.g. -1).
YY_BREAK
case 152:
YY_RULE_SETUP
-#line 1585 "dhcp4_lexer.ll"
+#line 1586 "dhcp4_lexer.ll"
{
/* A floating point was found. */
- std::string tmp(parser4_text);
+ std::string tmp(yytext);
double fp = 0.0;
try {
fp = boost::lexical_cast<double>(tmp);
YY_BREAK
case 153:
YY_RULE_SETUP
-#line 1598 "dhcp4_lexer.ll"
+#line 1599 "dhcp4_lexer.ll"
{
- string tmp(parser4_text);
+ string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_);
}
YY_BREAK
case 154:
YY_RULE_SETUP
-#line 1603 "dhcp4_lexer.ll"
+#line 1604 "dhcp4_lexer.ll"
{
return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
case 155:
YY_RULE_SETUP
-#line 1607 "dhcp4_lexer.ll"
+#line 1608 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
case 156:
YY_RULE_SETUP
-#line 1609 "dhcp4_lexer.ll"
+#line 1610 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 1611 "dhcp4_lexer.ll"
+#line 1612 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
case 158:
YY_RULE_SETUP
-#line 1613 "dhcp4_lexer.ll"
-driver.error (driver.loc_, "Invalid character: " + std::string(parser4_text));
+#line 1614 "dhcp4_lexer.ll"
+driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 1615 "dhcp4_lexer.ll"
+#line 1616 "dhcp4_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp4Parser::make_END(driver.loc_);
YY_BREAK
case 159:
YY_RULE_SETUP
-#line 1638 "dhcp4_lexer.ll"
+#line 1639 "dhcp4_lexer.ll"
ECHO;
YY_BREAK
-#line 3856 "dhcp4_lexer.cc"
+#line 4076 "dhcp4_lexer.cc"
case YY_END_OF_BUFFER:
{
{
/* We're scanning a new file or input source. It's
* possible that this happened because the user
- * just pointed parser4_in at a new source and called
- * parser4_lex(). If so, then we have to assure
+ * just pointed yyin at a new source and called
+ * yylex(). If so, then we have to assure
* consistency between YY_CURRENT_BUFFER and our
* globals. Here is the right place to do so, because
* this is the first action (other than possibly a
*/
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
/* %if-c-only */
- YY_CURRENT_BUFFER_LVALUE->yy_input_file = parser4_in;
+ YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
/* %endif */
/* %if-c++-only */
/* %endif */
{
(yy_did_buffer_switch_on_eof) = 0;
- if ( parser4_wrap( ) )
+ if ( yywrap( ) )
{
/* Note: because we've taken care in
* yy_get_next_buffer() to have set up
- * parser4_text, we can now set up
+ * yytext, we can now set up
* yy_c_buf_p so that if some total
* hoser (like flex itself) wants to
* call the scanner after we return the
} /* end of action switch */
} /* end of scanning one token */
} /* end of user's declarations */
-} /* end of parser4_lex */
+} /* end of yylex */
/* %ok-for-header */
/* %if-c++-only */
/* %not-for-header */
-
/* %ok-for-header */
/* %endif */
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
- parser4_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
+ yyrealloc( (void *) b->yy_ch_buf,
+ (yy_size_t) (b->yy_buf_size + 2) );
}
else
/* Can't grow it, we don't own it. */
if ( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
- parser4_restart(parser4_in );
+ yyrestart( yyin );
}
else
if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */
int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
- YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) parser4_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
+ (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+ /* "- 2" to take care of EOB's */
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
}
(yy_n_chars) += number_to_move;
/* %if-c-only */
/* %not-for-header */
-
static yy_state_type yy_get_previous_state (void)
/* %endif */
/* %if-c++-only */
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 1292 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
}
return yy_current_state;
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 1292 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
yy_is_jam = (yy_current_state == 1291);
return yy_is_jam ? 0 : yy_current_state;
else
{ /* need more input */
- int offset = (yy_c_buf_p) - (yytext_ptr);
+ int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
++(yy_c_buf_p);
switch ( yy_get_next_buffer( ) )
*/
/* Reset buffer status. */
- parser4_restart(parser4_in );
+ yyrestart( yyin );
/*FALLTHROUGH*/
case EOB_ACT_END_OF_FILE:
{
- if ( parser4_wrap( ) )
+ if ( yywrap( ) )
return 0;
if ( ! (yy_did_buffer_switch_on_eof) )
}
c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
- *(yy_c_buf_p) = '\0'; /* preserve parser4_text */
+ *(yy_c_buf_p) = '\0'; /* preserve yytext */
(yy_hold_char) = *++(yy_c_buf_p);
-/* %% [19.0] update BOL and parser4_lineno */
+/* %% [19.0] update BOL and yylineno */
return c;
}
* @note This function does not reset the start condition to @c INITIAL .
*/
/* %if-c-only */
- void parser4_restart (FILE * input_file )
+ void yyrestart (FILE * input_file )
/* %endif */
/* %if-c++-only */
/* %endif */
{
if ( ! YY_CURRENT_BUFFER ){
- parser4_ensure_buffer_stack ();
+ yyensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- parser4__create_buffer(parser4_in,YY_BUF_SIZE );
+ yy_create_buffer( yyin, YY_BUF_SIZE );
}
- parser4__init_buffer(YY_CURRENT_BUFFER,input_file );
- parser4__load_buffer_state( );
+ yy_init_buffer( YY_CURRENT_BUFFER, input_file );
+ yy_load_buffer_state( );
}
/* %if-c++-only */
*
*/
/* %if-c-only */
- void parser4__switch_to_buffer (YY_BUFFER_STATE new_buffer )
+ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
/* %endif */
/* %if-c++-only */
/* %endif */
/* TODO. We should be able to replace this entire function body
* with
- * parser4_pop_buffer_state();
- * parser4_push_buffer_state(new_buffer);
+ * yypop_buffer_state();
+ * yypush_buffer_state(new_buffer);
*/
- parser4_ensure_buffer_stack ();
+ yyensure_buffer_stack ();
if ( YY_CURRENT_BUFFER == new_buffer )
return;
}
YY_CURRENT_BUFFER_LVALUE = new_buffer;
- parser4__load_buffer_state( );
+ yy_load_buffer_state( );
/* We don't actually know whether we did this switch during
- * EOF (parser4_wrap()) processing, but the only time this flag
- * is looked at is after parser4_wrap() is called, so it's safe
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
* to go ahead and always set it.
*/
(yy_did_buffer_switch_on_eof) = 1;
}
/* %if-c-only */
-static void parser4__load_buffer_state (void)
+static void yy_load_buffer_state (void)
/* %endif */
/* %if-c++-only */
/* %endif */
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
/* %if-c-only */
- parser4_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+ yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
/* %endif */
/* %if-c++-only */
/* %endif */
* @return the allocated buffer state.
*/
/* %if-c-only */
- YY_BUFFER_STATE parser4__create_buffer (FILE * file, int size )
+ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
/* %endif */
/* %if-c++-only */
/* %endif */
{
YY_BUFFER_STATE b;
- b = (YY_BUFFER_STATE) parser4_alloc(sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in parser4__create_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
- b->yy_buf_size = (yy_size_t)size;
+ b->yy_buf_size = size;
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
*/
- b->yy_ch_buf = (char *) parser4_alloc(b->yy_buf_size + 2 );
+ b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
if ( ! b->yy_ch_buf )
- YY_FATAL_ERROR( "out of dynamic memory in parser4__create_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_is_our_buffer = 1;
- parser4__init_buffer(b,file );
+ yy_init_buffer( b, file );
return b;
}
/* %endif */
/** Destroy the buffer.
- * @param b a buffer created with parser4__create_buffer()
+ * @param b a buffer created with yy_create_buffer()
*
*/
/* %if-c-only */
- void parser4__delete_buffer (YY_BUFFER_STATE b )
+ void yy_delete_buffer (YY_BUFFER_STATE b )
/* %endif */
/* %if-c++-only */
/* %endif */
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
if ( b->yy_is_our_buffer )
- parser4_free((void *) b->yy_ch_buf );
+ yyfree( (void *) b->yy_ch_buf );
- parser4_free((void *) b );
+ yyfree( (void *) b );
}
/* Initializes or reinitializes a buffer.
* This function is sometimes called more than once on the same buffer,
- * such as during a parser4_restart() or at EOF.
+ * such as during a yyrestart() or at EOF.
*/
/* %if-c-only */
- static void parser4__init_buffer (YY_BUFFER_STATE b, FILE * file )
+ static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
/* %endif */
/* %if-c++-only */
/* %endif */
{
int oerrno = errno;
- parser4__flush_buffer(b );
+ yy_flush_buffer( b );
/* %if-c-only */
b->yy_input_file = file;
/* %endif */
b->yy_fill_buffer = 1;
- /* If b is the current buffer, then parser4__init_buffer was _probably_
- * called from parser4_restart() or through yy_get_next_buffer.
+ /* If b is the current buffer, then yy_init_buffer was _probably_
+ * called from yyrestart() or through yy_get_next_buffer.
* In that case, we don't want to reset the lineno or column.
*/
if (b != YY_CURRENT_BUFFER){
*
*/
/* %if-c-only */
- void parser4__flush_buffer (YY_BUFFER_STATE b )
+ void yy_flush_buffer (YY_BUFFER_STATE b )
/* %endif */
/* %if-c++-only */
/* %endif */
b->yy_buffer_status = YY_BUFFER_NEW;
if ( b == YY_CURRENT_BUFFER )
- parser4__load_buffer_state( );
+ yy_load_buffer_state( );
}
/* %if-c-or-c++ */
*
*/
/* %if-c-only */
-void parser4_push_buffer_state (YY_BUFFER_STATE new_buffer )
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
/* %endif */
/* %if-c++-only */
/* %endif */
if (new_buffer == NULL)
return;
- parser4_ensure_buffer_stack();
+ yyensure_buffer_stack();
- /* This block is copied from parser4__switch_to_buffer. */
+ /* This block is copied from yy_switch_to_buffer. */
if ( YY_CURRENT_BUFFER )
{
/* Flush out information for old buffer. */
(yy_buffer_stack_top)++;
YY_CURRENT_BUFFER_LVALUE = new_buffer;
- /* copied from parser4__switch_to_buffer. */
- parser4__load_buffer_state( );
+ /* copied from yy_switch_to_buffer. */
+ yy_load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
/* %endif */
*
*/
/* %if-c-only */
-void parser4_pop_buffer_state (void)
+void yypop_buffer_state (void)
/* %endif */
/* %if-c++-only */
/* %endif */
if (!YY_CURRENT_BUFFER)
return;
- parser4__delete_buffer(YY_CURRENT_BUFFER );
+ yy_delete_buffer(YY_CURRENT_BUFFER );
YY_CURRENT_BUFFER_LVALUE = NULL;
if ((yy_buffer_stack_top) > 0)
--(yy_buffer_stack_top);
if (YY_CURRENT_BUFFER) {
- parser4__load_buffer_state( );
+ yy_load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
}
* Guarantees space for at least one push.
*/
/* %if-c-only */
-static void parser4_ensure_buffer_stack (void)
+static void yyensure_buffer_stack (void)
/* %endif */
/* %if-c++-only */
/* %endif */
{
- int num_to_alloc;
+ yy_size_t num_to_alloc;
if (!(yy_buffer_stack)) {
* immediate realloc on the next call.
*/
num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
- (yy_buffer_stack) = (struct yy_buffer_state**)parser4_alloc
+ (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
);
if ( ! (yy_buffer_stack) )
- YY_FATAL_ERROR( "out of dynamic memory in parser4_ensure_buffer_stack()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
yy_size_t grow_size = 8 /* arbitrary grow size */;
num_to_alloc = (yy_buffer_stack_max) + grow_size;
- (yy_buffer_stack) = (struct yy_buffer_state**)parser4_realloc
+ (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
((yy_buffer_stack),
num_to_alloc * sizeof(struct yy_buffer_state*)
);
if ( ! (yy_buffer_stack) )
- YY_FATAL_ERROR( "out of dynamic memory in parser4_ensure_buffer_stack()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
/* zero only the new slots.*/
memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
*
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE parser4__scan_buffer (char * base, yy_size_t size )
+YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
{
YY_BUFFER_STATE b;
/* They forgot to leave room for the EOB's. */
return NULL;
- b = (YY_BUFFER_STATE) parser4_alloc(sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in parser4__scan_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
- b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
b->yy_buf_pos = b->yy_ch_buf = base;
b->yy_is_our_buffer = 0;
b->yy_input_file = NULL;
b->yy_fill_buffer = 0;
b->yy_buffer_status = YY_BUFFER_NEW;
- parser4__switch_to_buffer(b );
+ yy_switch_to_buffer( b );
return b;
}
/* %endif */
/* %if-c-only */
-/** Setup the input buffer state to scan a string. The next call to parser4_lex() will
+/** Setup the input buffer state to scan a string. The next call to yylex() will
* scan from a @e copy of @a str.
* @param yystr a NUL-terminated string to scan
*
* @return the newly allocated buffer state object.
* @note If you want to scan bytes that may contain NUL values, then use
- * parser4__scan_bytes() instead.
+ * yy_scan_bytes() instead.
*/
-YY_BUFFER_STATE parser4__scan_string (yyconst char * yystr )
+YY_BUFFER_STATE yy_scan_string (const char * yystr )
{
- return parser4__scan_bytes(yystr,(int) strlen(yystr) );
+ return yy_scan_bytes( yystr, (int) strlen(yystr) );
}
/* %endif */
/* %if-c-only */
-/** Setup the input buffer state to scan the given bytes. The next call to parser4_lex() will
+/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
* scan from a @e copy of @a bytes.
* @param yybytes the byte buffer to scan
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
*
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE parser4__scan_bytes (yyconst char * yybytes, int _yybytes_len )
+YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
{
YY_BUFFER_STATE b;
char *buf;
/* Get memory for full buffer, including space for trailing EOB's. */
n = (yy_size_t) (_yybytes_len + 2);
- buf = (char *) parser4_alloc(n );
+ buf = (char *) yyalloc( n );
if ( ! buf )
- YY_FATAL_ERROR( "out of dynamic memory in parser4__scan_bytes()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
for ( i = 0; i < _yybytes_len; ++i )
buf[i] = yybytes[i];
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
- b = parser4__scan_buffer(buf,n );
+ b = yy_scan_buffer( buf, n );
if ( ! b )
- YY_FATAL_ERROR( "bad buffer in parser4__scan_bytes()" );
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
/* It's okay to grow etc. this buffer, and we should throw it
* away when we're done.
#endif
/* %if-c-only */
-static void yynoreturn yy_fatal_error (yyconst char* msg )
+static void yynoreturn yy_fatal_error (const char* msg )
{
- (void) fprintf( stderr, "%s\n", msg );
+ fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE );
}
/* %endif */
#define yyless(n) \
do \
{ \
- /* Undo effects of setting up parser4_text. */ \
+ /* Undo effects of setting up yytext. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
- parser4_text[parser4_leng] = (yy_hold_char); \
- (yy_c_buf_p) = parser4_text + yyless_macro_arg; \
+ yytext[yyleng] = (yy_hold_char); \
+ (yy_c_buf_p) = yytext + yyless_macro_arg; \
(yy_hold_char) = *(yy_c_buf_p); \
*(yy_c_buf_p) = '\0'; \
- parser4_leng = yyless_macro_arg; \
+ yyleng = yyless_macro_arg; \
} \
while ( 0 )
/** Get the current line number.
*
*/
-int parser4_get_lineno (void)
+int yyget_lineno (void)
{
- return parser4_lineno;
+ return yylineno;
}
/** Get the input stream.
*
*/
-FILE *parser4_get_in (void)
+FILE *yyget_in (void)
{
- return parser4_in;
+ return yyin;
}
/** Get the output stream.
*
*/
-FILE *parser4_get_out (void)
+FILE *yyget_out (void)
{
- return parser4_out;
+ return yyout;
}
/** Get the length of the current token.
*
*/
-int parser4_get_leng (void)
+int yyget_leng (void)
{
- return parser4_leng;
+ return yyleng;
}
/** Get the current token.
*
*/
-char *parser4_get_text (void)
+char *yyget_text (void)
{
- return parser4_text;
+ return yytext;
}
/* %if-reentrant */
* @param _line_number line number
*
*/
-void parser4_set_lineno (int _line_number )
+void yyset_lineno (int _line_number )
{
- parser4_lineno = _line_number;
+ yylineno = _line_number;
}
/** Set the input stream. This does not discard the current
* input buffer.
* @param _in_str A readable stream.
*
- * @see parser4__switch_to_buffer
+ * @see yy_switch_to_buffer
*/
-void parser4_set_in (FILE * _in_str )
+void yyset_in (FILE * _in_str )
{
- parser4_in = _in_str ;
+ yyin = _in_str ;
}
-void parser4_set_out (FILE * _out_str )
+void yyset_out (FILE * _out_str )
{
- parser4_out = _out_str ;
+ yyout = _out_str ;
}
-int parser4_get_debug (void)
+int yyget_debug (void)
{
- return parser4__flex_debug;
+ return yy_flex_debug;
}
-void parser4_set_debug (int _bdebug )
+void yyset_debug (int _bdebug )
{
- parser4__flex_debug = _bdebug ;
+ yy_flex_debug = _bdebug ;
}
/* %endif */
static int yy_init_globals (void)
{
/* Initialization is the same as for the non-reentrant scanner.
- * This function is called from parser4_lex_destroy(), so don't allocate here.
+ * This function is called from yylex_destroy(), so don't allocate here.
*/
(yy_buffer_stack) = NULL;
/* Defined in main.c */
#ifdef YY_STDINIT
- parser4_in = stdin;
- parser4_out = stdout;
+ yyin = stdin;
+ yyout = stdout;
#else
- parser4_in = NULL;
- parser4_out = NULL;
+ yyin = NULL;
+ yyout = NULL;
#endif
/* For future reference: Set errno on error, since we are called by
- * parser4_lex_init()
+ * yylex_init()
*/
return 0;
}
/* %endif */
/* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */
-/* parser4_lex_destroy is for both reentrant and non-reentrant scanners. */
-int parser4_lex_destroy (void)
+/* yylex_destroy is for both reentrant and non-reentrant scanners. */
+int yylex_destroy (void)
{
/* Pop the buffer stack, destroying each element. */
while(YY_CURRENT_BUFFER){
- parser4__delete_buffer(YY_CURRENT_BUFFER );
+ yy_delete_buffer( YY_CURRENT_BUFFER );
YY_CURRENT_BUFFER_LVALUE = NULL;
- parser4_pop_buffer_state();
+ yypop_buffer_state();
}
/* Destroy the stack itself. */
- parser4_free((yy_buffer_stack) );
+ yyfree((yy_buffer_stack) );
(yy_buffer_stack) = NULL;
/* Reset the globals. This is important in a non-reentrant scanner so the next time
- * parser4_lex() is called, initialization will occur. */
+ * yylex() is called, initialization will occur. */
yy_init_globals( );
/* %if-reentrant */
*/
#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+static void yy_flex_strncpy (char* s1, const char * s2, int n )
{
int i;
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
+static int yy_flex_strlen (const char * s )
{
int n;
for ( n = 0; s[n]; ++n )
}
#endif
-void *parser4_alloc (yy_size_t size )
+void *yyalloc (yy_size_t size )
{
return malloc(size);
}
-void *parser4_realloc (void * ptr, yy_size_t size )
+void *yyrealloc (void * ptr, yy_size_t size )
{
/* The cast to (char *) in the following accommodates both
return realloc(ptr, size);
}
-void parser4_free (void * ptr )
+void yyfree (void * ptr )
{
- free( (char *) ptr ); /* see parser4_realloc() for (char *) cast */
+ free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
}
/* %if-tables-serialization definitions */
/* %ok-for-header */
-#line 1638 "dhcp4_lexer.ll"
-
+#line 1639 "dhcp4_lexer.ll"
using namespace isc::dhcp;
file_ = "<string>";
sfile_ = 0;
loc_.initialize(&file_);
- parser4__flex_debug = trace_scanning_;
+ yy_flex_debug = trace_scanning_;
YY_BUFFER_STATE buffer;
buffer = parser4__scan_bytes(str.c_str(), str.size());
if (!buffer) {
file_ = filename;
sfile_ = f;
loc_.initialize(&file_);
- parser4__flex_debug = trace_scanning_;
+ yy_flex_debug = trace_scanning_;
YY_BUFFER_STATE buffer;
/* See dhcp4_lexer.cc header for available definitions */
\"client-classes\" {
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
- case isc::dhcp::Parser4Context::POOLS:
case isc::dhcp::Parser4Context::RESERVATIONS:
return isc::dhcp::Dhcp4Parser::make_CLIENT_CLASSES(driver.loc_);
default:
\"client-class\" {
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
+ case isc::dhcp::Parser4Context::POOLS:
case isc::dhcp::Parser4Context::SHARED_NETWORK:
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
return isc::dhcp::Dhcp4Parser::make_CLIENT_CLASS(driver.loc_);
}
- const short int Dhcp4Parser::yypact_ninf_ = -719;
+ const short int Dhcp4Parser::yypact_ninf_ = -722;
const signed char Dhcp4Parser::yytable_ninf_ = -1;
const short int
Dhcp4Parser::yypact_[] =
{
- 296, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, 32, 22, 33, 81, 92, 101,
- 138, 142, 162, 177, 193, 209, 246, 258, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, 22, -110, 8, 59, 53, 155,
- -12, 11, 10, 349, 190, 17, 314, -57, -719, 84,
- 126, 156, 159, 263, -719, -719, -719, -719, -719, 272,
- -719, 46, -719, -719, -719, -719, -719, -719, -719, 274,
- 283, -719, -719, -719, -719, -719, 293, 294, 318, 326,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- 328, -719, -719, -719, 108, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, 330, -719, 118, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, 331, 332, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, 122, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, 129, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, 260, 313, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, 288, -719,
- -719, 341, -719, -719, -719, 344, -719, -719, 348, 346,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, 355, 356, -719, -719, -719, -719, 354,
- 360, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, 130, -719, -719, -719, 362, -719, -719,
- 363, -719, 364, 366, -719, -719, 368, 370, 376, -719,
- -719, -719, -719, -719, 210, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, 228, -719, -719, -719, 22, 22, -719, 204, 380,
- 383, 389, 390, 391, -719, 8, -719, 392, 213, 247,
- 393, 396, 398, 402, 406, 262, 266, 267, 295, 408,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 306,
- 450, 452, 59, -719, 453, 454, 455, 309, 53, -719,
- 457, 460, 461, 462, 463, 464, 465, 323, 324, 470,
- 472, 475, 476, 155, -719, 477, 479, -12, -719, 480,
- 482, 483, 484, 485, 488, 489, -719, 11, -719, 490,
- 491, 347, 494, 495, 496, 350, -719, 349, 500, 357,
- 358, -719, 190, 501, 502, -31, -719, 359, 503, 507,
- 365, 508, 367, 369, 511, 513, 371, 372, 373, 515,
- 516, 314, -719, 517, -57, -719, -719, -719, 521, 519,
- 520, 22, 22, 22, -719, 522, -719, -719, 384, 385,
- 386, 528, 529, -719, -719, -719, -719, 523, 532, 533,
- 534, 535, 395, 536, 539, 540, 541, -719, 542, 543,
- -719, 546, 195, 60, -719, -719, 399, 404, 405, 549,
- 407, 409, 410, -719, -719, 166, 411, 551, 553, -719,
- 413, 546, -719, 414, 415, 416, 417, 418, 419, 420,
- -719, 421, 422, -719, 423, 424, 425, -719, -719, 426,
- -719, -719, -719, 427, 22, -719, -719, 428, 429, -719,
- 430, -719, -719, 31, 466, -719, -719, -719, -7, 431,
- -719, 575, -719, 22, 59, -57, -719, -719, -719, 53,
- -719, -719, -719, 153, 153, 574, 576, 578, 579, -719,
- -719, -719, 200, 580, 581, 167, 63, 314, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, 582,
- -719, -719, -719, -719, -719, -719, -719, -719, 583, 459,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, 584, -719, 229, 248, 264, -719, -719, -719, -719,
- 588, 589, 590, 591, 592, -719, -719, -719, 285, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, 291, -719, 593, 537, -719, -719, 594, 595,
- -719, -719, 596, 598, -719, -719, 597, 601, -719, -719,
- -719, -719, -719, -719, 83, -719, -719, -719, -719, -719,
- -719, -719, 94, -719, -719, 599, 603, -719, 604, 605,
- 606, 607, 608, 609, 292, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, 301, -719, -719,
- -719, 302, 434, -719, 610, 611, -719, -719, 612, 614,
- -719, -719, 613, -719, 116, -719, -719, -719, -719, 615,
- 616, 618, 619, 458, 473, 478, 474, 481, 622, 624,
- 153, -719, -719, 155, -719, 574, 349, -719, 576, 190,
- -719, 578, 206, -719, 579, 200, -719, 131, 580, -719,
- 17, -719, 581, 486, 487, 492, 493, 497, 498, 167,
- -719, 625, 627, 63, -719, -719, -719, 626, 630, -12,
- -719, 582, 11, -719, 583, 633, -719, 87, 584, -719,
- 297, 467, 504, 505, -719, -719, -719, -719, -719, 506,
- 510, -719, 303, -719, 631, -719, 632, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, 304, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, 635,
- 641, -719, -719, -719, -719, 305, -719, -719, -719, -719,
- -719, -719, -719, -719, 512, 514, -719, -719, 524, 312,
- -719, 637, -719, 527, -719, 634, -719, -719, -719, -719,
- -719, 315, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- 206, -719, 644, -719, 131, -719, -719, -719, -719, -719,
- -719, -719, 645, 531, 646, 87, -719, -719, 530, -719,
- 629, -719, 544, -719, -719, 648, -719, -719, 140, -719,
- 160, 648, -719, -719, 647, 652, 655, 316, -719, -719,
- -719, -719, -719, -719, 657, 538, 545, 559, 160, -719,
- 547, -719, -719, -719, -719, -719
+ 284, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, 41, 19, 24, 50, 60, 92,
+ 102, 118, 129, 138, 148, 150, 159, 171, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, 19, -93, 8, 62, 31, 151,
+ -2, 228, 147, 236, 37, -24, 344, 27, -722, 184,
+ 204, 207, 200, 235, -722, -722, -722, -722, -722, 219,
+ -722, 48, -722, -722, -722, -722, -722, -722, -722, 227,
+ 241, -722, -722, -722, -722, -722, 244, 261, 276, 279,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ 283, -722, -722, -722, 56, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, 285, -722, 69, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, 301, 302, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, 95, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, 136, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, 231, 255, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, 299, -722,
+ -722, 314, -722, -722, -722, 315, -722, -722, 325, 332,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, 334, 336, -722, -722, -722, -722, 328,
+ 339, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, 140, -722, -722, -722, 341, -722, -722,
+ 343, -722, 350, 351, -722, -722, 352, 353, 355, -722,
+ -722, -722, -722, -722, 144, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, 146, -722, -722, -722, 19, 19, -722, 216, 363,
+ 367, 370, 371, 375, -722, 8, -722, 377, 197, 234,
+ 383, 384, 390, 391, 406, 221, 262, 263, 264, 410,
+ 411, 412, 413, 428, 429, 430, 431, 432, 433, 289,
+ 435, 436, 62, -722, 437, 438, 439, 293, 31, -722,
+ 441, 442, 457, 458, 460, 461, 462, 318, 317, 465,
+ 468, 470, 471, 151, -722, 472, -2, -722, 475, 476,
+ 477, 479, 480, 482, 483, 484, -722, 228, -722, 485,
+ 489, 345, 491, 492, 493, 347, -722, 236, 495, 349,
+ 356, -722, 37, 497, 500, -9, -722, 357, 502, 505,
+ 361, 507, 364, 368, 508, 511, 365, 369, 373, 514,
+ 515, 344, -722, 517, 27, -722, -722, -722, 521, 519,
+ 520, 19, 19, 19, -722, 522, -722, -722, 380, 382,
+ 385, 524, 525, -722, -722, -722, -722, 529, 530, 531,
+ 532, 533, 393, 534, 537, 538, 539, -722, 540, 541,
+ -722, 544, 96, 170, -722, -722, 396, 397, 402, 546,
+ 404, 405, 407, -722, -722, 254, 408, 549, 550, -722,
+ 414, -722, 544, 415, 416, 417, 418, 419, 420, 421,
+ -722, 422, 423, -722, 424, 425, 426, -722, -722, 427,
+ -722, -722, -722, 434, 19, -722, -722, 440, 443, -722,
+ 444, -722, -722, 15, 459, -722, -722, -722, 135, 445,
+ -722, 553, -722, 19, 62, 27, -722, -722, -722, 31,
+ -722, -722, -722, 366, 366, 552, 554, 569, 571, -722,
+ -722, -722, 101, 572, 573, 25, 14, 344, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, 574,
+ -722, -722, -722, -722, -722, -722, -722, -722, 576, 451,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, 577, -722, 155, 193, 206, -722, -722, -722, -722,
+ 556, 581, 582, 583, 585, -722, -722, -722, 224, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, 232, -722, 584, 591, -722, -722, 589, 593,
+ -722, -722, 592, 594, -722, -722, 595, 596, -722, -722,
+ -722, -722, -722, -722, 26, -722, -722, -722, -722, -722,
+ -722, -722, 68, -722, -722, 597, 599, -722, 600, 601,
+ 602, 603, 604, 605, 233, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, 256, -722, -722,
+ -722, 258, 452, -722, 606, 607, -722, -722, 608, 610,
+ -722, -722, 609, -722, 94, -722, -722, -722, -722, 611,
+ 612, 614, 615, 473, 469, 474, 478, 481, 617, 620,
+ 366, -722, -722, 151, -722, 552, 236, -722, 554, 37,
+ -722, 569, 182, -722, 571, 101, -722, 220, 572, -722,
+ -24, -722, 573, 486, 487, 488, 490, 494, 496, 25,
+ -722, 621, 622, 14, -722, -722, -722, 625, 624, -2,
+ -722, 574, 228, -722, 576, 628, -722, 64, 577, -722,
+ 294, 463, 498, 499, -722, -722, -722, -722, -722, 501,
+ 503, -722, 259, -722, 626, -722, 630, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, 270, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, 632,
+ 638, -722, -722, -722, -722, 273, -722, -722, -722, -722,
+ -722, -722, -722, -722, 504, 506, -722, -722, 510, 274,
+ -722, 634, -722, 512, -722, 629, -722, -722, -722, -722,
+ -722, 295, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ 182, -722, 640, -722, 220, -722, -722, -722, -722, -722,
+ -722, -722, 644, 513, 646, 64, -722, -722, 527, -722,
+ 623, -722, 535, -722, -722, 648, -722, -722, 174, -722,
+ 4, 648, -722, -722, 649, 652, 655, 313, -722, -722,
+ -722, -722, -722, -722, 657, 543, 516, 523, 4, -722,
+ 542, -722, -722, -722, -722, -722
};
const unsigned short int
265, 0, 0, 269, 267, 396, 447, 254, 231, 232,
233, 245, 0, 229, 236, 249, 250, 251, 237, 238,
241, 243, 239, 240, 234, 235, 252, 253, 242, 246,
- 247, 248, 244, 390, 445, 389, 385, 0, 382, 384,
- 387, 388, 386, 433, 435, 439, 437, 443, 441, 431,
+ 247, 248, 244, 390, 389, 386, 385, 0, 382, 384,
+ 387, 388, 445, 433, 435, 439, 437, 443, 441, 431,
424, 418, 422, 423, 0, 407, 408, 419, 420, 421,
415, 410, 416, 412, 413, 414, 417, 411, 0, 332,
160, 0, 336, 334, 339, 0, 328, 329, 0, 316,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 69, 0, 0, 0, 0, 0, 116,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 228, 0, 0, 0, 381, 0,
+ 0, 0, 0, 0, 228, 0, 0, 381, 0, 0,
0, 0, 0, 0, 0, 0, 405, 0, 306, 0,
0, 0, 0, 0, 0, 0, 314, 0, 0, 0,
0, 351, 0, 0, 0, 0, 193, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 474, 0, 0,
71, 0, 0, 0, 127, 107, 0, 0, 0, 0,
0, 0, 0, 274, 275, 0, 0, 0, 0, 230,
- 0, 0, 383, 0, 0, 0, 0, 0, 0, 0,
+ 0, 383, 0, 0, 0, 0, 0, 0, 0, 0,
409, 0, 0, 330, 0, 0, 0, 341, 318, 0,
370, 371, 355, 0, 0, 195, 511, 0, 0, 516,
0, 519, 520, 0, 0, 527, 528, 529, 0, 0,
const short int
Dhcp4Parser::yypgoto_[] =
{
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -51, -719, 136, -719, -719,
- -719, -719, -719, -719, -719, -719, 172, -719, -719, -719,
- -66, -719, -719, -719, 333, -719, -719, -719, -719, 149,
- 329, -43, -28, -1, -719, -719, 5, -719, -719, 161,
- 334, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, 121, -32, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -73, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -33, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -35, -719, -719, -719, -30, 321, -719, -719, -719,
- -719, -719, -719, -719, -29, -719, -719, -719, -719, -719,
- -719, -718, -719, -719, -719, -11, -719, -719, -719, -6,
- 374, -719, -719, -719, -719, -719, -719, -719, -719, -714,
- -719, -719, -719, -712, -719, -706, -719, -719, -719, -719,
- -719, -719, -719, -719, -15, -719, -719, -149, -61, -719,
- -719, -719, -719, -719, 4, -719, -719, -719, 9, -719,
- 343, -719, -68, -719, -719, -719, -719, -719, -62, -719,
- -719, -719, -719, -719, -14, -719, -719, -719, 7, -719,
- -719, -719, 1, -719, 340, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -18, -719, -719, -719,
- -13, 375, -719, -719, -54, -719, -26, -719, -719, -719,
- -719, -719, -20, -719, -719, -719, -9, -719, 378, -46,
- -719, -8, -719, 2, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -50,
- -719, -705, -719, -719, -719, -719, -719, -719, 12, -719,
- -719, -719, -125, -719, -719, -719, -719, -719, -719, -719,
- -2, -719, -719, -719, -719, -719, -719, -719, -719, 208,
- 335, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
- -719, -719, -719, -719, 232, 336, -719, -719, -719, -10,
- -719, -719, -126, -719, -719, -719, -719, -719, -719, -140,
- -719, -719, -156, -719, -719, -719, -719, -719
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -51, -722, 202, -722, -722,
+ -722, -722, -722, -722, -722, -722, 176, -722, -722, -722,
+ -66, -722, -722, -722, 354, -722, -722, -722, -722, 157,
+ 316, -23, -21, 0, -722, -722, 6, -722, -722, 141,
+ 324, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, 154, -35, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -73, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -45, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -38, -722, -722, -722, -43, 305, -722, -722, -722,
+ -722, -722, -722, -722, -32, -722, -722, -722, -722, -722,
+ -722, -721, -722, -722, -722, -7, -722, -722, -722, 1,
+ 362, -722, -722, -722, -722, -722, -722, -722, -722, -715,
+ -722, -722, -722, -25, -722, -709, -722, -722, -722, -722,
+ -722, -722, -722, -722, -20, -722, -722, -143, -61, -722,
+ -722, -722, -722, -722, 2, -722, -722, -722, 11, -722,
+ 342, -722, -68, -722, -722, -722, -722, -722, -62, -722,
+ -722, -722, -722, -722, -17, -722, -722, -722, 9, -722,
+ -722, -722, 12, -722, 346, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -18, -722, -722, -722,
+ -15, 374, -722, -722, -54, -722, -34, -722, -722, -722,
+ -722, -722, -12, -722, -722, -722, -16, -722, 360, -46,
+ -722, -11, -722, -1, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -704, -722, -722, -722, -722, -722, -722, 16, -722,
+ -722, -722, -125, -722, -722, -722, -722, -722, -722, -722,
+ 3, -722, -722, -722, -722, -722, -722, -722, -722, 208,
+ 337, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
+ -722, -722, -722, -722, 237, 329, -722, -722, -722, -8,
+ -722, -722, -128, -722, -722, -722, -722, -722, -722, -142,
+ -722, -722, -155, -722, -722, -722, -722, -722
};
const short int
207, 208, 209, 385, 142, 353, 143, 354, 198, 381,
708, 709, 710, 772, 51, 71, 224, 225, 226, 144,
340, 145, 341, 146, 342, 230, 395, 231, 389, 232,
- 390, 233, 392, 234, 391, 235, 394, 236, 393, 212,
- 386, 202, 382, 712, 775, 147, 356, 672, 673, 747,
+ 390, 233, 392, 234, 391, 235, 394, 236, 393, 237,
+ 388, 202, 382, 712, 775, 147, 356, 672, 673, 747,
829, 830, 831, 832, 833, 882, 148, 149, 360, 697,
698, 699, 761, 700, 762, 150, 361, 61, 76, 304,
305, 306, 307, 418, 308, 419, 309, 310, 421, 311,
const unsigned short int
Dhcp4Parser::yytable_[] =
{
- 90, 266, 155, 177, 205, 220, 267, 246, 265, 282,
+ 90, 266, 155, 177, 204, 220, 267, 246, 265, 282,
301, 238, 268, 78, 162, 196, 210, 222, 84, 260,
- 278, 237, 302, 199, 804, 227, 178, 29, 805, 30,
- 806, 31, 28, 101, 102, 103, 807, 816, 81, 112,
- 40, 179, 163, 197, 211, 223, 600, 261, 279, 335,
- 303, 203, 114, 115, 336, 194, 206, 221, 280, 281,
- 111, 200, 112, 228, 204, 151, 152, 320, 180, 153,
- 98, 201, 154, 229, 181, 114, 115, 563, 564, 99,
- 100, 101, 102, 103, 104, 105, 745, 204, 42, 746,
- 324, 213, 214, 215, 216, 217, 218, 748, 219, 44,
- 749, 106, 107, 108, 109, 110, 280, 281, 46, 111,
- 112, 362, 604, 605, 606, 607, 363, 114, 115, 778,
- 113, 368, 779, 114, 115, 383, 369, 114, 115, 325,
- 384, 85, 387, 415, 116, 117, 89, 388, 416, 240,
- 86, 87, 88, 911, 608, 48, 912, 118, 601, 50,
- 119, 114, 115, 101, 102, 103, 89, 120, 121, 89,
- 326, 122, 804, 692, 693, 89, 805, 327, 806, 52,
- 32, 33, 34, 35, 807, 816, 100, 101, 102, 103,
- 616, 111, 112, 240, 54, 617, 618, 619, 620, 621,
- 622, 623, 624, 625, 626, 114, 115, 106, 107, 108,
- 56, 89, 164, 165, 166, 240, 112, 89, 819, 560,
- 561, 89, 854, 431, 855, 856, 58, 167, 432, 114,
- 115, 168, 169, 170, 171, 172, 173, 100, 101, 102,
- 103, 434, 362, 174, 175, 89, 435, 716, 573, 574,
- 575, 176, 240, 262, 241, 242, 263, 264, 106, 107,
- 108, 434, 110, 60, 114, 115, 717, 112, 240, 678,
- 679, 680, 681, 682, 683, 62, 328, 368, 396, 90,
- 114, 115, 718, 169, 436, 437, 334, 173, 338, 89,
- 659, 660, 661, 662, 174, 663, 913, 339, 730, 914,
- 915, 916, 176, 731, 730, 759, 398, 345, 346, 732,
- 760, 89, 155, 89, 763, 431, 383, 880, 415, 764,
- 765, 877, 881, 885, 162, 387, 397, 177, 895, 928,
- 889, 205, 347, 896, 929, 867, 868, 869, 870, 196,
- 348, 220, 359, 210, 367, 377, 378, 199, 89, 266,
- 178, 246, 163, 222, 267, 401, 265, 237, 405, 407,
- 268, 227, 438, 260, 89, 179, 406, 197, 278, 409,
- 410, 211, 411, 412, 446, 301, 417, 420, 422, 194,
- 423, 223, 426, 206, 427, 200, 239, 302, 114, 115,
- 428, 261, 180, 221, 439, 201, 279, 440, 181, 228,
- 536, 537, 538, 441, 442, 443, 445, 448, 447, 229,
- 449, 240, 450, 241, 242, 303, 451, 243, 244, 245,
- 452, 453, 457, 114, 115, 454, 455, 287, 288, 289,
+ 278, 804, 302, 199, 29, 227, 30, 805, 31, 745,
+ 600, 40, 746, 807, 163, 197, 211, 223, 816, 261,
+ 279, 28, 303, 151, 152, 205, 178, 153, 179, 112,
+ 154, 335, 194, 206, 221, 81, 336, 42, 200, 362,
+ 228, 203, 114, 115, 363, 280, 281, 44, 201, 180,
+ 229, 748, 368, 98, 749, 181, 174, 369, 114, 115,
+ 280, 281, 99, 100, 101, 102, 103, 104, 105, 240,
+ 262, 241, 242, 263, 264, 114, 115, 778, 383, 46,
+ 779, 114, 115, 384, 106, 107, 108, 109, 110, 48,
+ 560, 561, 111, 112, 692, 693, 240, 678, 679, 680,
+ 681, 682, 683, 113, 89, 50, 114, 115, 114, 115,
+ 913, 85, 601, 914, 915, 916, 52, 116, 117, 386,
+ 86, 87, 88, 415, 387, 54, 89, 431, 416, 434,
+ 118, 320, 432, 119, 435, 56, 89, 58, 362, 804,
+ 120, 121, 89, 716, 122, 805, 60, 32, 33, 34,
+ 35, 807, 100, 101, 102, 103, 816, 911, 62, 89,
+ 912, 659, 660, 661, 662, 89, 663, 563, 564, 854,
+ 324, 855, 856, 106, 107, 108, 434, 111, 164, 165,
+ 166, 717, 112, 100, 101, 102, 103, 325, 327, 368,
+ 89, 326, 89, 167, 718, 114, 115, 168, 169, 170,
+ 171, 172, 173, 334, 106, 107, 108, 730, 110, 174,
+ 175, 338, 731, 112, 240, 730, 759, 176, 328, 396,
+ 732, 760, 101, 102, 103, 339, 114, 115, 345, 169,
+ 101, 102, 103, 173, 604, 605, 606, 607, 397, 763,
+ 174, 431, 383, 239, 764, 346, 765, 877, 176, 90,
+ 111, 112, 240, 880, 436, 437, 415, 386, 881, 112,
+ 347, 885, 889, 348, 114, 115, 608, 359, 240, 367,
+ 241, 242, 114, 115, 243, 244, 245, 819, 895, 89,
+ 114, 115, 155, 896, 212, 377, 378, 398, 213, 214,
+ 215, 216, 217, 218, 162, 219, 928, 177, 401, 405,
+ 204, 929, 867, 868, 869, 870, 573, 574, 575, 196,
+ 89, 220, 210, 406, 163, 407, 411, 199, 409, 266,
+ 410, 246, 412, 222, 267, 417, 265, 420, 446, 197,
+ 268, 227, 211, 260, 422, 423, 426, 427, 278, 428,
+ 178, 205, 179, 223, 438, 301, 194, 439, 89, 206,
+ 453, 440, 200, 261, 441, 442, 89, 302, 279, 443,
+ 221, 445, 201, 180, 89, 447, 228, 448, 449, 181,
+ 536, 537, 538, 616, 450, 451, 229, 303, 617, 618,
+ 619, 620, 621, 622, 623, 624, 625, 626, 114, 115,
+ 452, 454, 455, 456, 457, 458, 459, 460, 240, 1,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 461, 462, 463, 464, 465, 466, 467, 468,
+ 469, 471, 472, 473, 474, 476, 477, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- 300, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 456, 458, 459, 460, 461, 462,
- 463, 464, 465, 466, 468, 467, 469, 471, 472, 473,
- 474, 476, 89, 596, 477, 478, 479, 480, 481, 482,
- 635, 635, 483, 155, 485, 484, 486, 627, 627, 487,
- 488, 490, 612, 491, 493, 162, 494, 495, 496, 497,
- 694, 301, 498, 499, 501, 502, 503, 89, 504, 505,
- 506, 507, 695, 302, 509, 513, 514, 517, 510, 511,
- 516, 518, 520, 163, 519, 523, 521, 524, 522, 528,
- 529, 531, 525, 526, 527, 533, 534, 535, 545, 539,
- 696, 303, 540, 541, 542, 543, 544, 546, 547, 548,
- 735, 552, 30, 551, 553, 554, 711, 566, 555, 556,
- 557, 558, 567, 568, 569, 570, 578, 571, 572, 577,
- 579, 580, 582, 583, 584, 585, 586, 587, 588, 589,
- 590, 591, 592, 593, 594, 595, 597, 598, 599, 610,
- 611, 643, 766, 647, 603, 651, 655, 671, 674, 703,
- 707, 713, 723, 724, 725, 726, 727, 549, 738, 734,
- 737, 741, 740, 743, 744, 751, 752, 784, 753, 754,
- 755, 756, 757, 758, 771, 872, 770, 774, 773, 780,
- 781, 776, 782, 783, 785, 787, 789, 786, 790, 844,
- 788, 845, 847, 848, 905, 837, 838, 853, 893, 878,
- 879, 839, 840, 883, 884, 890, 841, 842, 898, 900,
- 902, 925, 873, 874, 875, 907, 926, 635, 876, 927,
- 886, 930, 887, 581, 627, 642, 266, 177, 444, 803,
- 246, 267, 888, 265, 821, 891, 798, 268, 904, 196,
- 901, 820, 260, 613, 282, 278, 822, 199, 811, 931,
- 178, 470, 906, 824, 932, 935, 813, 694, 791, 799,
- 615, 826, 475, 205, 858, 179, 220, 197, 933, 695,
- 261, 857, 818, 279, 800, 210, 812, 836, 222, 194,
- 835, 825, 237, 859, 793, 200, 227, 792, 810, 817,
- 843, 897, 180, 823, 814, 201, 515, 696, 181, 827,
- 796, 801, 795, 211, 815, 794, 223, 802, 797, 828,
- 508, 860, 512, 850, 852, 206, 849, 489, 221, 899,
- 834, 846, 492, 851, 228, 701, 530, 614, 866, 903,
- 532, 923, 934, 0, 229, 500, 0, 0, 0, 0,
+ 300, 478, 479, 596, 480, 481, 482, 483, 484, 485,
+ 635, 635, 486, 155, 487, 488, 490, 627, 627, 492,
+ 493, 494, 612, 495, 496, 162, 497, 498, 499, 501,
+ 694, 301, 89, 502, 503, 504, 505, 506, 507, 509,
+ 510, 513, 695, 302, 514, 163, 517, 511, 516, 518,
+ 519, 520, 523, 521, 89, 524, 525, 522, 528, 529,
+ 526, 531, 696, 303, 527, 533, 534, 535, 540, 539,
+ 541, 543, 544, 542, 545, 546, 547, 548, 711, 552,
+ 30, 551, 553, 554, 566, 567, 555, 556, 557, 558,
+ 568, 569, 570, 571, 578, 572, 577, 579, 611, 643,
+ 723, 647, 580, 582, 583, 584, 585, 586, 587, 588,
+ 589, 590, 591, 592, 593, 594, 651, 603, 655, 671,
+ 674, 703, 595, 707, 713, 724, 725, 726, 597, 727,
+ 734, 598, 599, 610, 735, 737, 738, 741, 740, 744,
+ 766, 743, 752, 751, 753, 754, 755, 756, 757, 758,
+ 771, 872, 770, 774, 773, 780, 781, 776, 782, 783,
+ 785, 789, 784, 786, 790, 844, 845, 848, 905, 787,
+ 788, 847, 853, 893, 878, 837, 838, 839, 879, 840,
+ 883, 884, 890, 841, 898, 842, 873, 874, 900, 875,
+ 902, 876, 886, 925, 887, 907, 926, 635, 888, 927,
+ 891, 930, 901, 549, 627, 932, 266, 177, 581, 803,
+ 246, 267, 933, 265, 821, 904, 798, 268, 470, 196,
+ 615, 820, 260, 906, 282, 278, 822, 199, 811, 444,
+ 935, 613, 475, 824, 931, 791, 813, 694, 642, 197,
+ 818, 826, 261, 204, 858, 279, 220, 835, 812, 695,
+ 178, 857, 179, 825, 836, 210, 194, 806, 222, 799,
+ 515, 800, 200, 859, 817, 810, 227, 843, 793, 696,
+ 823, 814, 201, 180, 792, 211, 827, 897, 223, 181,
+ 795, 815, 801, 860, 205, 489, 828, 794, 802, 508,
+ 797, 796, 206, 850, 849, 221, 851, 500, 512, 899,
+ 491, 228, 852, 532, 834, 701, 846, 903, 530, 923,
+ 866, 229, 614, 934, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 803, 0, 0,
0, 821, 0, 0, 798, 0, 0, 0, 820, 0,
0, 0, 858, 822, 0, 0, 811, 0, 0, 857,
- 824, 0, 0, 0, 813, 0, 0, 799, 826, 0,
- 0, 859, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 800, 0, 812, 0, 0, 0, 825, 0,
- 0, 0, 0, 0, 0, 0, 810, 0, 0, 860,
- 823, 0, 814, 0, 0, 0, 827, 0, 0, 801,
- 0, 0, 815, 0, 0, 802, 828
+ 824, 0, 0, 0, 813, 0, 0, 0, 826, 0,
+ 0, 859, 0, 0, 0, 0, 812, 0, 0, 0,
+ 825, 0, 0, 0, 0, 806, 0, 799, 0, 800,
+ 0, 860, 0, 810, 0, 0, 0, 823, 0, 814,
+ 0, 0, 0, 827, 0, 0, 0, 0, 0, 815,
+ 801, 0, 0, 828, 0, 0, 802
};
const short int
{
66, 74, 68, 69, 70, 71, 74, 73, 74, 75,
76, 72, 74, 64, 68, 69, 70, 71, 10, 73,
- 74, 71, 76, 69, 742, 71, 69, 5, 742, 7,
- 742, 9, 0, 22, 23, 24, 742, 742, 148, 51,
- 7, 69, 68, 69, 70, 71, 15, 73, 74, 3,
- 76, 63, 64, 65, 8, 69, 70, 71, 89, 90,
- 50, 69, 51, 71, 76, 12, 13, 124, 69, 16,
- 11, 69, 19, 71, 69, 64, 65, 17, 18, 20,
- 21, 22, 23, 24, 25, 26, 3, 76, 7, 6,
- 6, 80, 81, 82, 83, 84, 85, 3, 87, 7,
- 6, 42, 43, 44, 45, 46, 89, 90, 7, 50,
- 51, 3, 119, 120, 121, 122, 8, 64, 65, 3,
- 61, 3, 6, 64, 65, 3, 8, 64, 65, 3,
- 8, 123, 3, 3, 75, 76, 148, 8, 8, 52,
- 132, 133, 134, 3, 151, 7, 6, 88, 117, 7,
- 91, 64, 65, 22, 23, 24, 148, 98, 99, 148,
- 4, 102, 880, 100, 101, 148, 880, 8, 880, 7,
- 148, 149, 150, 151, 880, 880, 21, 22, 23, 24,
- 27, 50, 51, 52, 7, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 64, 65, 42, 43, 44,
- 7, 148, 47, 48, 49, 52, 51, 148, 77, 14,
- 15, 148, 125, 3, 127, 128, 7, 62, 8, 64,
- 65, 66, 67, 68, 69, 70, 71, 21, 22, 23,
- 24, 3, 3, 78, 79, 148, 8, 8, 72, 73,
- 74, 86, 52, 53, 54, 55, 56, 57, 42, 43,
- 44, 3, 46, 7, 64, 65, 8, 51, 52, 92,
- 93, 94, 95, 96, 97, 7, 3, 3, 8, 335,
- 64, 65, 8, 67, 325, 326, 4, 71, 4, 148,
- 80, 81, 82, 83, 78, 85, 126, 4, 3, 129,
- 130, 131, 86, 8, 3, 3, 8, 4, 4, 8,
- 8, 148, 368, 148, 3, 3, 3, 3, 3, 8,
- 8, 8, 8, 8, 368, 3, 3, 383, 3, 3,
- 8, 387, 4, 8, 8, 28, 29, 30, 31, 383,
- 4, 397, 4, 387, 4, 4, 4, 383, 148, 412,
- 383, 407, 368, 397, 412, 4, 412, 397, 4, 3,
- 412, 397, 148, 407, 148, 383, 8, 383, 412, 4,
- 4, 387, 8, 3, 151, 431, 4, 4, 4, 383,
- 4, 397, 4, 387, 4, 383, 27, 431, 64, 65,
- 4, 407, 383, 397, 4, 383, 412, 4, 383, 397,
- 441, 442, 443, 4, 4, 4, 4, 4, 151, 397,
- 4, 52, 4, 54, 55, 431, 4, 58, 59, 60,
- 4, 149, 4, 64, 65, 149, 149, 103, 104, 105,
+ 74, 742, 76, 69, 5, 71, 7, 742, 9, 3,
+ 15, 7, 6, 742, 68, 69, 70, 71, 742, 73,
+ 74, 0, 76, 12, 13, 70, 69, 16, 69, 51,
+ 19, 3, 69, 70, 71, 148, 8, 7, 69, 3,
+ 71, 63, 64, 65, 8, 89, 90, 7, 69, 69,
+ 71, 3, 3, 11, 6, 69, 78, 8, 64, 65,
+ 89, 90, 20, 21, 22, 23, 24, 25, 26, 52,
+ 53, 54, 55, 56, 57, 64, 65, 3, 3, 7,
+ 6, 64, 65, 8, 42, 43, 44, 45, 46, 7,
+ 14, 15, 50, 51, 100, 101, 52, 92, 93, 94,
+ 95, 96, 97, 61, 148, 7, 64, 65, 64, 65,
+ 126, 123, 117, 129, 130, 131, 7, 75, 76, 3,
+ 132, 133, 134, 3, 8, 7, 148, 3, 8, 3,
+ 88, 124, 8, 91, 8, 7, 148, 7, 3, 880,
+ 98, 99, 148, 8, 102, 880, 7, 148, 149, 150,
+ 151, 880, 21, 22, 23, 24, 880, 3, 7, 148,
+ 6, 80, 81, 82, 83, 148, 85, 17, 18, 125,
+ 6, 127, 128, 42, 43, 44, 3, 50, 47, 48,
+ 49, 8, 51, 21, 22, 23, 24, 3, 8, 3,
+ 148, 4, 148, 62, 8, 64, 65, 66, 67, 68,
+ 69, 70, 71, 4, 42, 43, 44, 3, 46, 78,
+ 79, 4, 8, 51, 52, 3, 3, 86, 3, 8,
+ 8, 8, 22, 23, 24, 4, 64, 65, 4, 67,
+ 22, 23, 24, 71, 119, 120, 121, 122, 3, 3,
+ 78, 3, 3, 27, 8, 4, 8, 8, 86, 335,
+ 50, 51, 52, 3, 325, 326, 3, 3, 8, 51,
+ 4, 8, 8, 4, 64, 65, 151, 4, 52, 4,
+ 54, 55, 64, 65, 58, 59, 60, 77, 3, 148,
+ 64, 65, 368, 8, 76, 4, 4, 8, 80, 81,
+ 82, 83, 84, 85, 368, 87, 3, 383, 4, 4,
+ 386, 8, 28, 29, 30, 31, 72, 73, 74, 383,
+ 148, 397, 386, 8, 368, 3, 8, 383, 4, 412,
+ 4, 407, 3, 397, 412, 4, 412, 4, 151, 383,
+ 412, 397, 386, 407, 4, 4, 4, 4, 412, 4,
+ 383, 386, 383, 397, 148, 431, 383, 4, 148, 386,
+ 149, 4, 383, 407, 4, 4, 148, 431, 412, 4,
+ 397, 4, 383, 383, 148, 151, 397, 4, 4, 383,
+ 441, 442, 443, 27, 4, 4, 397, 431, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 64, 65,
+ 4, 149, 149, 149, 4, 4, 4, 4, 52, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 4, 4, 4, 4, 4, 4, 149, 4,
+ 4, 4, 4, 4, 151, 4, 4, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
- 116, 135, 136, 137, 138, 139, 140, 141, 142, 143,
- 144, 145, 146, 147, 149, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 149, 4, 4, 4, 4,
- 151, 4, 148, 514, 4, 4, 4, 4, 4, 4,
- 543, 544, 149, 539, 4, 151, 4, 543, 544, 4,
+ 116, 4, 4, 514, 4, 4, 4, 149, 151, 4,
+ 543, 544, 4, 539, 4, 4, 4, 543, 544, 4,
4, 4, 533, 4, 4, 539, 4, 4, 4, 4,
- 556, 557, 4, 4, 4, 4, 149, 148, 4, 4,
- 4, 151, 556, 557, 4, 4, 4, 4, 151, 151,
- 151, 4, 4, 539, 149, 4, 149, 4, 149, 4,
- 4, 4, 151, 151, 151, 4, 7, 7, 5, 7,
- 556, 557, 148, 148, 148, 7, 7, 5, 5, 5,
- 3, 5, 7, 148, 5, 5, 87, 148, 7, 7,
- 7, 5, 148, 148, 5, 148, 5, 148, 148, 148,
- 7, 148, 148, 148, 148, 148, 148, 148, 148, 148,
- 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
- 5, 7, 148, 7, 118, 7, 7, 7, 7, 7,
- 7, 7, 4, 4, 4, 4, 4, 461, 3, 6,
- 6, 3, 6, 6, 3, 6, 3, 149, 4, 4,
- 4, 4, 4, 4, 3, 148, 6, 3, 6, 4,
- 4, 8, 4, 4, 151, 151, 4, 149, 4, 4,
- 149, 4, 6, 3, 5, 149, 149, 4, 4, 8,
- 8, 149, 149, 8, 3, 8, 149, 149, 4, 4,
- 4, 4, 148, 148, 148, 7, 4, 730, 148, 4,
- 148, 4, 148, 491, 730, 544, 739, 733, 335, 742,
- 736, 739, 148, 739, 747, 148, 742, 739, 148, 733,
- 149, 747, 736, 534, 750, 739, 747, 733, 742, 151,
- 733, 362, 148, 747, 149, 148, 742, 763, 730, 742,
- 539, 747, 368, 769, 777, 733, 772, 733, 149, 763,
- 736, 777, 745, 739, 742, 769, 742, 752, 772, 733,
- 750, 747, 772, 777, 735, 733, 772, 733, 742, 744,
- 759, 880, 733, 747, 742, 733, 415, 763, 733, 747,
- 739, 742, 738, 769, 742, 736, 772, 742, 741, 747,
- 407, 777, 412, 771, 774, 769, 769, 383, 772, 884,
- 748, 763, 387, 772, 772, 557, 431, 535, 778, 895,
- 434, 911, 928, -1, 772, 397, -1, -1, -1, -1,
+ 556, 557, 148, 4, 149, 4, 4, 4, 151, 4,
+ 151, 4, 556, 557, 4, 539, 4, 151, 151, 4,
+ 149, 4, 4, 149, 148, 4, 151, 149, 4, 4,
+ 151, 4, 556, 557, 151, 4, 7, 7, 148, 7,
+ 148, 7, 7, 148, 5, 5, 5, 5, 87, 5,
+ 7, 148, 5, 5, 148, 148, 7, 7, 7, 5,
+ 148, 5, 148, 148, 5, 148, 148, 7, 5, 7,
+ 4, 7, 148, 148, 148, 148, 148, 148, 148, 148,
+ 148, 148, 148, 148, 148, 148, 7, 118, 7, 7,
+ 7, 7, 148, 7, 7, 4, 4, 4, 148, 4,
+ 6, 148, 148, 148, 3, 6, 3, 3, 6, 3,
+ 148, 6, 3, 6, 4, 4, 4, 4, 4, 4,
+ 3, 148, 6, 3, 6, 4, 4, 8, 4, 4,
+ 151, 4, 149, 149, 4, 4, 4, 3, 5, 151,
+ 149, 6, 4, 4, 8, 149, 149, 149, 8, 149,
+ 8, 3, 8, 149, 4, 149, 148, 148, 4, 148,
+ 4, 148, 148, 4, 148, 7, 4, 730, 148, 4,
+ 148, 4, 149, 461, 730, 149, 739, 733, 492, 742,
+ 736, 739, 149, 739, 747, 148, 742, 739, 362, 733,
+ 539, 747, 736, 148, 750, 739, 747, 733, 742, 335,
+ 148, 534, 368, 747, 151, 730, 742, 763, 544, 733,
+ 745, 747, 736, 769, 777, 739, 772, 750, 742, 763,
+ 733, 777, 733, 747, 752, 769, 733, 742, 772, 742,
+ 415, 742, 733, 777, 744, 742, 772, 759, 735, 763,
+ 747, 742, 733, 733, 733, 769, 747, 880, 772, 733,
+ 738, 742, 742, 777, 769, 383, 747, 736, 742, 407,
+ 741, 739, 769, 771, 769, 772, 772, 397, 412, 884,
+ 386, 772, 774, 434, 748, 557, 763, 895, 431, 911,
+ 778, 772, 535, 928, -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, 880, -1, -1,
-1, 884, -1, -1, 880, -1, -1, -1, 884, -1,
-1, -1, 895, 884, -1, -1, 880, -1, -1, 895,
- 884, -1, -1, -1, 880, -1, -1, 880, 884, -1,
- -1, 895, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 880, -1, 880, -1, -1, -1, 884, -1,
- -1, -1, -1, -1, -1, -1, 880, -1, -1, 895,
- 884, -1, 880, -1, -1, -1, 884, -1, -1, 880,
- -1, -1, 880, -1, -1, 880, 884
+ 884, -1, -1, -1, 880, -1, -1, -1, 884, -1,
+ -1, 895, -1, -1, -1, -1, 880, -1, -1, -1,
+ 884, -1, -1, -1, -1, 880, -1, 880, -1, 880,
+ -1, 895, -1, 880, -1, -1, -1, 884, -1, 880,
+ -1, -1, -1, 884, -1, -1, -1, -1, -1, 880,
+ 880, -1, -1, 884, -1, -1, 880
};
const unsigned short int
68, 69, 70, 71, 78, 79, 86, 182, 193, 194,
195, 198, 281, 282, 283, 285, 287, 289, 291, 293,
295, 297, 300, 301, 336, 354, 366, 368, 370, 381,
- 383, 385, 403, 63, 76, 182, 336, 362, 363, 364,
- 366, 368, 401, 80, 81, 82, 83, 84, 85, 87,
+ 383, 385, 403, 63, 182, 295, 336, 362, 363, 364,
+ 366, 368, 76, 80, 81, 82, 83, 84, 85, 87,
182, 336, 366, 368, 378, 379, 380, 381, 383, 385,
387, 389, 391, 393, 395, 397, 399, 401, 310, 27,
52, 54, 55, 58, 59, 60, 182, 230, 320, 321,
311, 337, 303, 367, 369, 241, 408, 250, 264, 4,
420, 428, 3, 8, 206, 208, 211, 4, 3, 8,
286, 288, 290, 355, 284, 292, 294, 4, 4, 298,
- 296, 371, 404, 3, 8, 365, 402, 3, 8, 390,
+ 296, 371, 404, 3, 8, 365, 3, 8, 402, 390,
392, 396, 394, 400, 398, 388, 8, 3, 8, 327,
231, 4, 331, 329, 334, 4, 8, 3, 349, 4,
4, 8, 3, 260, 262, 3, 8, 4, 435, 437,
4, 4, 4, 4, 4, 4, 4, 149, 4, 4,
192, 4, 4, 4, 151, 202, 4, 4, 4, 4,
4, 4, 4, 149, 151, 4, 4, 4, 4, 282,
- 4, 4, 363, 4, 4, 4, 4, 4, 4, 4,
+ 4, 363, 4, 4, 4, 4, 4, 4, 4, 4,
380, 4, 4, 149, 4, 4, 4, 151, 322, 4,
151, 151, 346, 4, 4, 258, 151, 4, 4, 149,
4, 149, 149, 4, 4, 151, 151, 151, 4, 4,
"boot_file_name", "$@77", "ip_address", "$@78", "duid", "$@79",
"hw_address", "$@80", "client_id_value", "$@81", "circuit_id_value",
"$@82", "flex_id_value", "$@83", "hostname", "$@84",
- "client_class_names_list", "$@85", "relay", "$@86", "relay_map", "$@87",
- "client_classes", "$@88", "client_classes_list", "client_class_entry",
- "$@89", "client_class_params", "not_empty_client_class_params",
- "client_class_param", "client_class_name", "client_class_test", "$@90",
- "dhcp4o6_port", "control_socket", "$@91", "control_socket_params",
+ "reservation_client_classes", "$@85", "relay", "$@86", "relay_map",
+ "$@87", "client_classes", "$@88", "client_classes_list",
+ "client_class_entry", "$@89", "client_class_params",
+ "not_empty_client_class_params", "client_class_param",
+ "client_class_name", "client_class_test", "$@90", "dhcp4o6_port",
+ "control_socket", "$@91", "control_socket_params",
"control_socket_param", "control_socket_type", "$@92",
"control_socket_name", "$@93", "dhcp_ddns", "$@94", "sub_dhcp_ddns",
"$@95", "dhcp_ddns_params", "dhcp_ddns_param", "enable_updates",
#line 14 "dhcp4_parser.yy" // lalr1.cc:1167
} } // isc::dhcp
-#line 4493 "dhcp4_parser.cc" // lalr1.cc:1167
+#line 4494 "dhcp4_parser.cc" // lalr1.cc:1167
#line 2018 "dhcp4_parser.yy" // lalr1.cc:1168
pool_param: pool_entry
| option_data_list
- | client_class_names_list
+ | client_class
| user_context
| comment
| unknown_map_entry
/// @todo probably need to add mac-address as well here
reservation_param: duid
- | client_class_names_list
+ | reservation_client_classes
| client_id_value
| circuit_id_value
| flex_id_value
ctx.leave();
};
-client_class_names_list: CLIENT_CLASSES {
+reservation_client_classes: CLIENT_CLASSES {
ElementPtr c(new ListElement(ctx.loc2pos(@1)));
ctx.stack_.back()->set("client-classes", c);
ctx.stack_.push_back(c);
"\"subnet4\": [ { "
" \"pools\": [ { "
" \"pool\": \"192.0.2.1 - 192.0.2.100\", "
- " \"client-classes\": [ \"alpha\" ] "
+ " \"client-class\": \"alpha\" "
" },"
" {"
" \"pool\": \"192.0.3.101 - 192.0.3.150\", "
- " \"client-classes\": [ \"beta\" ] "
+ " \"client-class\": \"beta\" "
" },"
" {"
" \"pool\": \"192.0.4.101 - 192.0.4.150\", "
- " \"client-classes\": [ \"gamma\", \"alpha\" ] "
+ " \"client-class\": \"gamma\" "
" },"
" {"
" \"pool\": \"192.0.5.101 - 192.0.5.150\" "
ASSERT_EQ(4, pools.size()); // We expect 4 pools
// Let's check if client belonging to alpha class is supported in pool[0]
- // and pool[2] (which allows 2 classes) and not supported in any other
- // pool (except pool[3], which allows everyone).
+ // and not supported in any other pool (except pool[3], which allows
+ // everyone).
ClientClasses classes;
classes.insert("alpha");
EXPECT_TRUE(pools.at(0)->clientSupported(classes));
EXPECT_FALSE(pools.at(1)->clientSupported(classes));
- EXPECT_TRUE(pools.at(2)->clientSupported(classes));
+ EXPECT_FALSE(pools.at(2)->clientSupported(classes));
EXPECT_TRUE(pools.at(3)->clientSupported(classes));
// Let's check if client belonging to beta class is supported in pool[1]
"\"subnet4\": [ "
"{ \"pools\": [ { "
" \"pool\": \"192.0.2.1 - 192.0.2.100\", "
- " \"client-classes\": [ \"foo\" ] }, "
+ " \"client-class\": \"foo\" }, "
" { \"pool\": \"192.0.3.1 - 192.0.3.100\", "
- " \"client-classes\": [ \"xyzzy\" ] } ], "
+ " \"client-class\": \"xyzzy\" } ], "
" \"subnet\": \"192.0.0.0/16\" } "
"],"
"\"valid-lifetime\": 4000 }";
" {\n"
" \"pools\": [\n"
" {\n"
-" \"client-classes\": [ \"alpha\" ],\n"
+" \"client-class\": \"alpha\",\n"
" \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
" },\n"
" {\n"
-" \"client-classes\": [ \"beta\" ],\n"
+" \"client-class\": \"beta\",\n"
" \"pool\": \"192.0.3.101 - 192.0.3.150\"\n"
" },\n"
" {\n"
-" \"client-classes\": [ \"gamma\", \"alpha\" ],\n"
+" \"client-class\": \"gamma\",\n"
" \"pool\": \"192.0.4.101 - 192.0.4.150\"\n"
" },\n"
" {\n"
" \"option-data\": [ ],\n"
" \"pools\": [\n"
" {\n"
-" \"client-classes\": [ \"alpha\" ],\n"
+" \"client-class\": \"alpha\",\n"
" \"option-data\": [ ],\n"
" \"pool\": \"192.0.2.1-192.0.2.100\"\n"
" },\n"
" {\n"
-" \"client-classes\": [ \"beta\" ],\n"
+" \"client-class\": \"beta\",\n"
" \"option-data\": [ ],\n"
" \"pool\": \"192.0.3.101-192.0.3.150\"\n"
" },\n"
" {\n"
-" \"client-classes\": [ \"alpha\", \"gamma\" ],\n"
+" \"client-class\": \"gamma\",\n"
" \"option-data\": [ ],\n"
" \"pool\": \"192.0.4.101-192.0.4.150\"\n"
" },\n"
" \"pools\": ["
" {"
" \"pool\": \"192.0.2.1 - 192.0.2.63\","
- " \"client-classes\": [ \"a-devices\" ]"
+ " \"client-class\": \"a-devices\""
" },"
" {"
" \"pool\": \"192.0.2.100 - 192.0.2.100\""
" \"pools\": ["
" {"
" \"pool\": \"192.0.2.1 - 192.0.2.63\","
- " \"client-classes\": [ \"a-devices\" ]"
+ " \"client-class\": \"a-devices\""
" },"
" {"
" \"pool\": \"192.0.2.100 - 192.0.2.100\","
- " \"client-classes\": [ \"b-devices\" ]"
+ " \"client-class\": \"b-devices\""
" }"
" ]"
" }"
" \"pools\": ["
" {"
" \"pool\": \"192.0.2.1 - 192.0.2.63\","
- " \"client-classes\": [ \"a-devices\" ]"
+ " \"client-class\": \"a-devices\""
" },"
" {"
" \"pool\": \"192.0.2.100 - 192.0.2.100\""
" \"pools\": ["
" {"
" \"pool\": \"192.0.2.1 - 192.0.2.63\","
- " \"client-classes\": [ \"a-devices\" ]"
+ " \"client-class\": \"a-devices\""
" },"
" {"
" \"pool\": \"192.0.2.100 - 192.0.2.100\","
- " \"client-classes\": [ \"b-devices\" ]"
+ " \"client-class\": \"b-devices\""
" }"
" ]"
" }"
-#line 2 "dhcp6_lexer.cc"
+#line 1 "dhcp6_lexer.cc"
-#line 4 "dhcp6_lexer.cc"
+#line 3 "dhcp6_lexer.cc"
#define YY_INT_ALIGNED short int
/* A lexical scanner generated by flex */
/* %not-for-header */
-
/* %if-c-only */
/* %if-not-reentrant */
#define yy_create_buffer parser6__create_buffer
#define yy_delete_buffer parser6__delete_buffer
-#define yy_flex_debug parser6__flex_debug
+#define yy_scan_buffer parser6__scan_buffer
+#define yy_scan_string parser6__scan_string
+#define yy_scan_bytes parser6__scan_bytes
#define yy_init_buffer parser6__init_buffer
#define yy_flush_buffer parser6__flush_buffer
#define yy_load_buffer_state parser6__load_buffer_state
#define yy_switch_to_buffer parser6__switch_to_buffer
+#define yypush_buffer_state parser6_push_buffer_state
+#define yypop_buffer_state parser6_pop_buffer_state
+#define yyensure_buffer_stack parser6_ensure_buffer_stack
+#define yy_flex_debug parser6__flex_debug
#define yyin parser6_in
#define yyleng parser6_leng
#define yylex parser6_lex
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 6
-#define YY_FLEX_SUBMINOR_VERSION 1
+#define YY_FLEX_SUBMINOR_VERSION 4
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
/* %endif */
/* %if-c-only */
-
+#ifdef yy_create_buffer
+#define parser6__create_buffer_ALREADY_DEFINED
+#else
+#define yy_create_buffer parser6__create_buffer
+#endif
+
+#ifdef yy_delete_buffer
+#define parser6__delete_buffer_ALREADY_DEFINED
+#else
+#define yy_delete_buffer parser6__delete_buffer
+#endif
+
+#ifdef yy_scan_buffer
+#define parser6__scan_buffer_ALREADY_DEFINED
+#else
+#define yy_scan_buffer parser6__scan_buffer
+#endif
+
+#ifdef yy_scan_string
+#define parser6__scan_string_ALREADY_DEFINED
+#else
+#define yy_scan_string parser6__scan_string
+#endif
+
+#ifdef yy_scan_bytes
+#define parser6__scan_bytes_ALREADY_DEFINED
+#else
+#define yy_scan_bytes parser6__scan_bytes
+#endif
+
+#ifdef yy_init_buffer
+#define parser6__init_buffer_ALREADY_DEFINED
+#else
+#define yy_init_buffer parser6__init_buffer
+#endif
+
+#ifdef yy_flush_buffer
+#define parser6__flush_buffer_ALREADY_DEFINED
+#else
+#define yy_flush_buffer parser6__flush_buffer
+#endif
+
+#ifdef yy_load_buffer_state
+#define parser6__load_buffer_state_ALREADY_DEFINED
+#else
+#define yy_load_buffer_state parser6__load_buffer_state
+#endif
+
+#ifdef yy_switch_to_buffer
+#define parser6__switch_to_buffer_ALREADY_DEFINED
+#else
+#define yy_switch_to_buffer parser6__switch_to_buffer
+#endif
+
+#ifdef yypush_buffer_state
+#define parser6_push_buffer_state_ALREADY_DEFINED
+#else
+#define yypush_buffer_state parser6_push_buffer_state
+#endif
+
+#ifdef yypop_buffer_state
+#define parser6_pop_buffer_state_ALREADY_DEFINED
+#else
+#define yypop_buffer_state parser6_pop_buffer_state
+#endif
+
+#ifdef yyensure_buffer_stack
+#define parser6_ensure_buffer_stack_ALREADY_DEFINED
+#else
+#define yyensure_buffer_stack parser6_ensure_buffer_stack
+#endif
+
+#ifdef yylex
+#define parser6_lex_ALREADY_DEFINED
+#else
+#define yylex parser6_lex
+#endif
+
+#ifdef yyrestart
+#define parser6_restart_ALREADY_DEFINED
+#else
+#define yyrestart parser6_restart
+#endif
+
+#ifdef yylex_init
+#define parser6_lex_init_ALREADY_DEFINED
+#else
+#define yylex_init parser6_lex_init
+#endif
+
+#ifdef yylex_init_extra
+#define parser6_lex_init_extra_ALREADY_DEFINED
+#else
+#define yylex_init_extra parser6_lex_init_extra
+#endif
+
+#ifdef yylex_destroy
+#define parser6_lex_destroy_ALREADY_DEFINED
+#else
+#define yylex_destroy parser6_lex_destroy
+#endif
+
+#ifdef yyget_debug
+#define parser6_get_debug_ALREADY_DEFINED
+#else
+#define yyget_debug parser6_get_debug
+#endif
+
+#ifdef yyset_debug
+#define parser6_set_debug_ALREADY_DEFINED
+#else
+#define yyset_debug parser6_set_debug
+#endif
+
+#ifdef yyget_extra
+#define parser6_get_extra_ALREADY_DEFINED
+#else
+#define yyget_extra parser6_get_extra
+#endif
+
+#ifdef yyset_extra
+#define parser6_set_extra_ALREADY_DEFINED
+#else
+#define yyset_extra parser6_set_extra
+#endif
+
+#ifdef yyget_in
+#define parser6_get_in_ALREADY_DEFINED
+#else
+#define yyget_in parser6_get_in
+#endif
+
+#ifdef yyset_in
+#define parser6_set_in_ALREADY_DEFINED
+#else
+#define yyset_in parser6_set_in
+#endif
+
+#ifdef yyget_out
+#define parser6_get_out_ALREADY_DEFINED
+#else
+#define yyget_out parser6_get_out
+#endif
+
+#ifdef yyset_out
+#define parser6_set_out_ALREADY_DEFINED
+#else
+#define yyset_out parser6_set_out
+#endif
+
+#ifdef yyget_leng
+#define parser6_get_leng_ALREADY_DEFINED
+#else
+#define yyget_leng parser6_get_leng
+#endif
+
+#ifdef yyget_text
+#define parser6_get_text_ALREADY_DEFINED
+#else
+#define yyget_text parser6_get_text
+#endif
+
+#ifdef yyget_lineno
+#define parser6_get_lineno_ALREADY_DEFINED
+#else
+#define yyget_lineno parser6_get_lineno
+#endif
+
+#ifdef yyset_lineno
+#define parser6_set_lineno_ALREADY_DEFINED
+#else
+#define yyset_lineno parser6_set_lineno
+#endif
+
+#ifdef yywrap
+#define parser6_wrap_ALREADY_DEFINED
+#else
+#define yywrap parser6_wrap
+#endif
+
/* %endif */
+#ifdef yyalloc
+#define parser6_alloc_ALREADY_DEFINED
+#else
+#define yyalloc parser6_alloc
+#endif
+
+#ifdef yyrealloc
+#define parser6_realloc_ALREADY_DEFINED
+#else
+#define yyrealloc parser6_realloc
+#endif
+
+#ifdef yyfree
+#define parser6_free_ALREADY_DEFINED
+#else
+#define yyfree parser6_free
+#endif
+
/* %if-c-only */
+#ifdef yytext
+#define parser6_text_ALREADY_DEFINED
+#else
+#define yytext parser6_text
+#endif
+
+#ifdef yyleng
+#define parser6_leng_ALREADY_DEFINED
+#else
+#define yyleng parser6_leng
+#endif
+
+#ifdef yyin
+#define parser6_in_ALREADY_DEFINED
+#else
+#define yyin parser6_in
+#endif
+
+#ifdef yyout
+#define parser6_out_ALREADY_DEFINED
+#else
+#define yyout parser6_out
+#endif
+
+#ifdef yy_flex_debug
+#define parser6__flex_debug_ALREADY_DEFINED
+#else
+#define yy_flex_debug parser6__flex_debug
+#endif
+
+#ifdef yylineno
+#define parser6_lineno_ALREADY_DEFINED
+#else
+#define yylineno parser6_lineno
+#endif
+
/* %endif */
/* First, we deal with platform-specific or compiler-specific issues. */
#define UINT32_MAX (4294967295U)
#endif
+#ifndef SIZE_MAX
+#define SIZE_MAX (~(size_t)0)
+#endif
+
#endif /* ! C99 */
#endif /* ! FLEXINT_H */
/* %endif */
+/* begin standard C++ headers. */
/* %if-c++-only */
/* %endif */
#endif
/* %not-for-header */
-
/* Returned upon end-of-file. */
#define YY_NULL 0
/* %ok-for-header */
/* %not-for-header */
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index. If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
+/* Promotes a possibly negative, possibly signed char to an
+ * integer in range [0..255] for use as an array index.
*/
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
/* %ok-for-header */
/* %if-reentrant */
* definition of BEGIN.
*/
#define BEGIN (yy_start) = 1 + 2 *
-
/* Translate the current start state into a value that can be later handed
* to BEGIN to return to the state. The YYSTATE alias is for lex
* compatibility.
*/
#define YY_START (((yy_start) - 1) / 2)
#define YYSTATE YY_START
-
/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE parser6_restart(parser6_in )
-
+#define YY_NEW_FILE yyrestart( yyin )
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
#endif
/* %if-not-reentrant */
-extern int parser6_leng;
+extern int yyleng;
/* %endif */
/* %if-c-only */
/* %if-not-reentrant */
-extern FILE *parser6_in, *parser6_out;
+extern FILE *yyin, *yyout;
/* %endif */
/* %endif */
#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
-
+
#define YY_LESS_LINENO(n)
#define YY_LINENO_REWIND_TO(ptr)
#define yyless(n) \
do \
{ \
- /* Undo effects of setting up parser6_text. */ \
+ /* Undo effects of setting up yytext. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
*yy_cp = (yy_hold_char); \
YY_RESTORE_YY_MORE_OFFSET \
(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
- YY_DO_BEFORE_ACTION; /* set up parser6_text again */ \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
-
#define unput(c) yyunput( c, (yytext_ptr) )
#ifndef YY_STRUCT_YY_BUFFER_STATE
* possible backing-up.
*
* When we actually see the EOF, we change the status to "new"
- * (via parser6_restart()), so that the user can continue scanning by
- * just pointing parser6_in at a new input file.
+ * (via yyrestart()), so that the user can continue scanning by
+ * just pointing yyin at a new input file.
*/
#define YY_BUFFER_EOF_PENDING 2
/* %if-c-only Standard (non-C++) definition */
/* %not-for-header */
-
/* %if-not-reentrant */
/* Stack of input buffers. */
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
? (yy_buffer_stack)[(yy_buffer_stack_top)] \
: NULL)
-
/* Same as previous macro, but useful when we know that the buffer stack is not
* NULL or when we need an lvalue. For internal use only.
*/
/* %if-not-reentrant */
/* %not-for-header */
-
-/* yy_hold_char holds the character lost when parser6_text is formed. */
+/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;
static int yy_n_chars; /* number of characters read into yy_ch_buf */
-int parser6_leng;
+int yyleng;
/* Points to current character in buffer. */
static char *yy_c_buf_p = NULL;
static int yy_init = 0; /* whether we need to initialize */
static int yy_start = 0; /* start state number */
-/* Flag which is used to allow parser6_wrap()'s to do buffer switches
- * instead of setting up a fresh parser6_in. A bit of a hack ...
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
*/
static int yy_did_buffer_switch_on_eof;
/* %ok-for-header */
/* %endif */
-void parser6_restart (FILE *input_file );
-void parser6__switch_to_buffer (YY_BUFFER_STATE new_buffer );
-YY_BUFFER_STATE parser6__create_buffer (FILE *file,int size );
-void parser6__delete_buffer (YY_BUFFER_STATE b );
-void parser6__flush_buffer (YY_BUFFER_STATE b );
-void parser6_push_buffer_state (YY_BUFFER_STATE new_buffer );
-void parser6_pop_buffer_state (void );
+void yyrestart ( FILE *input_file );
+void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
+YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
+void yy_delete_buffer ( YY_BUFFER_STATE b );
+void yy_flush_buffer ( YY_BUFFER_STATE b );
+void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
+void yypop_buffer_state ( void );
-static void parser6_ensure_buffer_stack (void );
-static void parser6__load_buffer_state (void );
-static void parser6__init_buffer (YY_BUFFER_STATE b,FILE *file );
+static void yyensure_buffer_stack ( void );
+static void yy_load_buffer_state ( void );
+static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
+#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
-#define YY_FLUSH_BUFFER parser6__flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE parser6__scan_buffer (char *base,yy_size_t size );
-YY_BUFFER_STATE parser6__scan_string (yyconst char *yy_str );
-YY_BUFFER_STATE parser6__scan_bytes (yyconst char *bytes,int len );
+YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
+YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
+YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
/* %endif */
-void *parser6_alloc (yy_size_t );
-void *parser6_realloc (void *,yy_size_t );
-void parser6_free (void * );
-
-#define yy_new_buffer parser6__create_buffer
+void *yyalloc ( yy_size_t );
+void *yyrealloc ( void *, yy_size_t );
+void yyfree ( void * );
+#define yy_new_buffer yy_create_buffer
#define yy_set_interactive(is_interactive) \
{ \
if ( ! YY_CURRENT_BUFFER ){ \
- parser6_ensure_buffer_stack (); \
+ yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- parser6__create_buffer(parser6_in,YY_BUF_SIZE ); \
+ yy_create_buffer( yyin, YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
-
#define yy_set_bol(at_bol) \
{ \
if ( ! YY_CURRENT_BUFFER ){\
- parser6_ensure_buffer_stack (); \
+ yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- parser6__create_buffer(parser6_in,YY_BUF_SIZE ); \
+ yy_create_buffer( yyin, YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
-
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-/* %% [1.0] parser6_text/parser6_in/parser6_out/yy_state_type/parser6_lineno etc. def's & init go here */
+/* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */
/* Begin user sect3 */
#define parser6_wrap() (/*CONSTCOND*/1)
#define YY_SKIP_YYWRAP
#define FLEX_DEBUG
+typedef flex_uint8_t YY_CHAR;
-typedef unsigned char YY_CHAR;
-
-FILE *parser6_in = NULL, *parser6_out = NULL;
+FILE *yyin = NULL, *yyout = NULL;
typedef int yy_state_type;
-extern int parser6_lineno;
-
-int parser6_lineno = 1;
+extern int yylineno;
+int yylineno = 1;
-extern char *parser6_text;
+extern char *yytext;
#ifdef yytext_ptr
#undef yytext_ptr
#endif
-#define yytext_ptr parser6_text
+#define yytext_ptr yytext
/* %% [1.5] DFA */
/* %if-c-only Standard (non-C++) definition */
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
-static int yy_get_next_buffer (void );
-static void yynoreturn yy_fatal_error (yyconst char* msg );
+static yy_state_type yy_get_previous_state ( void );
+static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
+static int yy_get_next_buffer ( void );
+static void yynoreturn yy_fatal_error ( const char* msg );
/* %endif */
/* Done after the current pattern has been matched and before the
- * corresponding action - sets up parser6_text.
+ * corresponding action - sets up yytext.
*/
#define YY_DO_BEFORE_ACTION \
(yytext_ptr) = yy_bp; \
-/* %% [2.0] code to fiddle parser6_text and parser6_leng for yymore() goes here \ */\
- parser6_leng = (int) (yy_cp - yy_bp); \
+/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\
+ yyleng = (int) (yy_cp - yy_bp); \
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
-/* %% [3.0] code to copy yytext_ptr to parser6_text[] goes here, if %array \ */\
+/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
(yy_c_buf_p) = yy_cp;
-
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
#define YY_NUM_RULES 162
#define YY_END_OF_BUFFER 163
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[1272] =
+static const flex_int16_t yy_accept[1272] =
{ 0,
155, 155, 0, 0, 0, 0, 0, 0, 0, 0,
163, 161, 10, 11, 161, 1, 155, 152, 155, 155,
0
} ;
-static yyconst YY_CHAR yy_ec[256] =
+static const YY_CHAR yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
5, 5, 5, 5, 5
} ;
-static yyconst YY_CHAR yy_meta[72] =
+static const YY_CHAR yy_meta[72] =
{ 0,
1, 1, 2, 3, 3, 4, 3, 3, 3, 3,
3, 3, 3, 5, 5, 5, 3, 3, 3, 3,
3
} ;
-static yyconst flex_uint16_t yy_base[1284] =
+static const flex_int16_t yy_base[1284] =
{ 0,
0, 70, 19, 29, 41, 49, 52, 58, 87, 95,
1633, 1634, 32, 1629, 141, 0, 201, 1634, 206, 88,
1108, 1110, 1123
} ;
-static yyconst flex_int16_t yy_def[1284] =
+static const flex_int16_t yy_def[1284] =
{ 0,
1272, 1272, 1273, 1273, 1272, 1272, 1272, 1272, 1272, 1272,
1271, 1271, 1271, 1271, 1271, 1274, 1271, 1271, 1271, 1271,
1271, 1271, 1271
} ;
-static yyconst flex_uint16_t yy_nxt[1706] =
+static const flex_int16_t yy_nxt[1706] =
{ 0,
1271, 13, 14, 13, 1271, 15, 16, 1271, 17, 18,
19, 20, 21, 22, 22, 22, 23, 24, 85, 348,
1271, 1271, 1271, 1271, 1271
} ;
-static yyconst flex_int16_t yy_chk[1706] =
+static const flex_int16_t yy_chk[1706] =
{ 0,
0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 21, 246,
static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;
-extern int parser6__flex_debug;
-int parser6__flex_debug = 1;
+extern int yy_flex_debug;
+int yy_flex_debug = 1;
-static yyconst flex_int16_t yy_rule_linenum[162] =
+static const flex_int16_t yy_rule_linenum[162] =
{ 0,
- 146, 148, 150, 155, 156, 161, 162, 163, 175, 178,
- 183, 190, 199, 208, 217, 226, 235, 244, 253, 262,
- 271, 280, 289, 298, 307, 316, 326, 336, 346, 356,
- 366, 376, 386, 396, 406, 415, 424, 433, 442, 451,
- 460, 469, 481, 490, 499, 508, 517, 527, 537, 547,
- 557, 568, 578, 588, 598, 608, 619, 630, 641, 652,
- 661, 671, 680, 689, 705, 721, 730, 739, 748, 757,
- 766, 775, 784, 793, 802, 811, 833, 855, 864, 874,
- 884, 893, 903, 913, 922, 931, 940, 949, 959, 968,
- 977, 986, 995, 1004, 1013, 1022, 1031, 1040, 1050, 1059,
-
- 1068, 1080, 1091, 1101, 1110, 1119, 1128, 1139, 1149, 1158,
- 1168, 1178, 1187, 1196, 1205, 1214, 1224, 1233, 1243, 1252,
- 1261, 1270, 1279, 1288, 1297, 1306, 1315, 1324, 1333, 1342,
- 1351, 1360, 1369, 1378, 1387, 1396, 1405, 1414, 1423, 1432,
- 1441, 1450, 1459, 1469, 1568, 1573, 1578, 1583, 1584, 1585,
- 1586, 1587, 1588, 1590, 1608, 1621, 1626, 1630, 1632, 1634,
- 1636
+ 147, 149, 151, 156, 157, 162, 163, 164, 176, 179,
+ 184, 191, 200, 209, 218, 227, 236, 245, 254, 263,
+ 272, 281, 290, 299, 308, 317, 327, 337, 347, 357,
+ 367, 377, 387, 397, 407, 416, 425, 434, 443, 452,
+ 461, 470, 482, 491, 500, 509, 518, 528, 538, 548,
+ 558, 569, 579, 589, 599, 609, 620, 631, 642, 653,
+ 662, 672, 681, 690, 706, 722, 731, 740, 749, 758,
+ 767, 776, 785, 794, 803, 812, 834, 856, 865, 875,
+ 885, 894, 904, 914, 923, 932, 941, 950, 960, 969,
+ 978, 987, 996, 1005, 1014, 1023, 1032, 1041, 1051, 1060,
+
+ 1069, 1079, 1092, 1102, 1111, 1120, 1129, 1140, 1150, 1159,
+ 1169, 1179, 1188, 1197, 1206, 1215, 1225, 1234, 1244, 1253,
+ 1262, 1271, 1280, 1289, 1298, 1307, 1316, 1325, 1334, 1343,
+ 1352, 1361, 1370, 1379, 1388, 1397, 1406, 1415, 1424, 1433,
+ 1442, 1451, 1460, 1470, 1569, 1574, 1579, 1584, 1585, 1586,
+ 1587, 1588, 1589, 1591, 1609, 1622, 1627, 1631, 1633, 1635,
+ 1637
} ;
/* The intent behind this definition is that it'll catch
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
-char *parser6_text;
+char *yytext;
#line 1 "dhcp6_lexer.ll"
/* Copyright (C) 2016-2017 Internet Systems Consortium, Inc. ("ISC")
2.5.31 through 2.5.33): it generates code that does
not conform to C89. See Debian bug 333231
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=333231>. */
-# undef parser6_wrap
-# define parser6_wrap() 1
+# undef yywrap
+# define yywrap() 1
namespace {
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
+#line 1643 "dhcp6_lexer.cc"
/* noyywrap disables automatic rewinding for the next file to parse. Since we
always parse only a single string, there's no need to do any wraps. And
- using parser6_wrap requires linking with -lfl, which provides the default parser6_wrap
+ using yywrap requires linking with -lfl, which provides the default yywrap
implementation that always returns 1 anyway. */
/* nounput simplifies the lexer, by removing support for putting a character
back into the input stream. We never use such capability anyway. */
/* avoid to get static global variables to remain with C++. */
/* in last resort %option reentrant */
/* Enables debug mode. To see the debug messages, one needs to also set
- parser6__flex_debug to 1, then the debug messages will be printed on stderr. */
+ yy_flex_debug to 1, then the debug messages will be printed on stderr. */
/* I have no idea what this option does, except it was specified in the bison
examples and Postgres folks added it to remove gcc 4.3 warnings. Let's
be on the safe side and keep it. */
#define YY_NO_INPUT 1
-
/* These are not token expressions yet, just convenience expressions that
can be used during actual token definitions. Note some can match
incorrect inputs (e.g., IP addresses) which must be checked. */
/* for errors */
#line 94 "dhcp6_lexer.ll"
/* This code run each time a pattern is matched. It updates the location
- by moving it ahead by parser6_leng bytes. parser6_leng specifies the length of the
+ by moving it ahead by yyleng bytes. yyleng specifies the length of the
currently matched token. */
-#define YY_USER_ACTION driver.loc_.columns(parser6_leng);
-#line 1446 "dhcp6_lexer.cc"
+#define YY_USER_ACTION driver.loc_.columns(yyleng);
+#line 1669 "dhcp6_lexer.cc"
+#line 1670 "dhcp6_lexer.cc"
#define INITIAL 0
#define COMMENT 1
/* %if-reentrant */
/* %if-c-only */
-static int yy_init_globals (void );
+static int yy_init_globals ( void );
/* %endif */
/* %if-reentrant */
/* Accessor methods to globals.
These are made visible to non-reentrant scanners for convenience. */
-int parser6_lex_destroy (void );
+int yylex_destroy ( void );
-int parser6_get_debug (void );
+int yyget_debug ( void );
-void parser6_set_debug (int debug_flag );
+void yyset_debug ( int debug_flag );
-YY_EXTRA_TYPE parser6_get_extra (void );
+YY_EXTRA_TYPE yyget_extra ( void );
-void parser6_set_extra (YY_EXTRA_TYPE user_defined );
+void yyset_extra ( YY_EXTRA_TYPE user_defined );
-FILE *parser6_get_in (void );
+FILE *yyget_in ( void );
-void parser6_set_in (FILE * _in_str );
+void yyset_in ( FILE * _in_str );
-FILE *parser6_get_out (void );
+FILE *yyget_out ( void );
-void parser6_set_out (FILE * _out_str );
+void yyset_out ( FILE * _out_str );
- int parser6_get_leng (void );
+ int yyget_leng ( void );
-char *parser6_get_text (void );
+char *yyget_text ( void );
-int parser6_get_lineno (void );
+int yyget_lineno ( void );
-void parser6_set_lineno (int _line_number );
+void yyset_lineno ( int _line_number );
/* %if-bison-bridge */
/* %endif */
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
-extern "C" int parser6_wrap (void );
+extern "C" int yywrap ( void );
#else
-extern int parser6_wrap (void );
+extern int yywrap ( void );
#endif
#endif
/* %not-for-header */
-
#ifndef YY_NO_UNPUT
#endif
/* %endif */
#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
+static void yy_flex_strncpy ( char *, const char *, int );
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
+static int yy_flex_strlen ( const char * );
#endif
#ifndef YY_NO_INPUT
/* %if-c-only Standard (non-C++) definition */
/* %not-for-header */
-
#ifdef __cplusplus
-static int yyinput (void );
+static int yyinput ( void );
#else
-static int input (void );
+static int input ( void );
#endif
/* %ok-for-header */
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO do { if (fwrite( parser6_text, (size_t) parser6_leng, 1, parser6_out )) {} } while (0)
+#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
/* %endif */
/* %if-c++-only C++ definition */
/* %endif */
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
- size_t n; \
+ int n; \
for ( n = 0; n < max_size && \
- (c = getc( parser6_in )) != EOF && c != '\n'; ++n ) \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
if ( c == '\n' ) \
buf[n++] = (char) c; \
- if ( c == EOF && ferror( parser6_in ) ) \
+ if ( c == EOF && ferror( yyin ) ) \
YY_FATAL_ERROR( "input in flex scanner failed" ); \
result = n; \
} \
else \
{ \
errno=0; \
- while ( (result = (int) fread(buf, 1, max_size, parser6_in))==0 && ferror(parser6_in)) \
+ while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
break; \
} \
errno=0; \
- clearerr(parser6_in); \
+ clearerr(yyin); \
} \
}\
\
/* %if-tables-serialization structures and prototypes */
/* %not-for-header */
-
/* %ok-for-header */
/* %not-for-header */
-
/* %tables-yydmap generated elements */
/* %endif */
/* end tables serialization structures and prototypes */
#define YY_DECL_IS_OURS 1
/* %if-c-only Standard (non-C++) definition */
-extern int parser6_lex (void);
+extern int yylex (void);
-#define YY_DECL int parser6_lex (void)
+#define YY_DECL int yylex (void)
/* %endif */
/* %if-c++-only C++ definition */
/* %endif */
#endif /* !YY_DECL */
-/* Code executed at the beginning of each rule, after parser6_text and parser6_leng
+/* Code executed at the beginning of each rule, after yytext and yyleng
* have been set up.
*/
#ifndef YY_USER_ACTION
YY_USER_ACTION
/* %not-for-header */
-
/** The main scanner function which does all the work.
*/
YY_DECL
if ( ! (yy_start) )
(yy_start) = 1; /* first start state */
- if ( ! parser6_in )
+ if ( ! yyin )
/* %if-c-only */
- parser6_in = stdin;
+ yyin = stdin;
/* %endif */
/* %if-c++-only */
/* %endif */
- if ( ! parser6_out )
+ if ( ! yyout )
/* %if-c-only */
- parser6_out = stdout;
+ yyout = stdout;
/* %endif */
/* %if-c++-only */
/* %endif */
if ( ! YY_CURRENT_BUFFER ) {
- parser6_ensure_buffer_stack ();
+ yyensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- parser6__create_buffer(parser6_in,YY_BUF_SIZE );
+ yy_create_buffer( yyin, YY_BUF_SIZE );
}
- parser6__load_buffer_state( );
+ yy_load_buffer_state( );
}
{
+#line 104 "dhcp6_lexer.ll"
/* This part of the code is copied over to the verbatim to the top
- of the generated parser6_lex function. Explanation:
+ of the generated yylex function. Explanation:
http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */
- /* Code run each time parser6_lex is called. */
+ /* Code run each time yylex is called. */
driver.loc_.step();
if (start_token_flag) {
}
-#line 1780 "dhcp6_lexer.cc"
+#line 2000 "dhcp6_lexer.cc"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
/* %% [8.0] yymore()-related code goes here */
yy_cp = (yy_c_buf_p);
- /* Support of parser6_text. */
+ /* Support of yytext. */
*yy_cp = (yy_hold_char);
/* yy_bp points to the position in yy_ch_buf of the start of
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 1272 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
while ( yy_current_state != 1271 );
YY_DO_BEFORE_ACTION;
-/* %% [11.0] code for parser6_lineno update goes here */
+/* %% [11.0] code for yylineno update goes here */
do_action: /* This label is used only to access EOF actions. */
/* %% [12.0] debug code goes here */
- if ( parser6__flex_debug )
+ if ( yy_flex_debug )
{
if ( yy_act == 0 )
fprintf( stderr, "--scanner backing up\n" );
else if ( yy_act < 162 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
- (long)yy_rule_linenum[yy_act], parser6_text );
+ (long)yy_rule_linenum[yy_act], yytext );
else if ( yy_act == 162 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
- parser6_text );
+ yytext );
else if ( yy_act == 163 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
case 1:
YY_RULE_SETUP
-#line 146 "dhcp6_lexer.ll"
+#line 147 "dhcp6_lexer.ll"
;
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 148 "dhcp6_lexer.ll"
+#line 149 "dhcp6_lexer.ll"
;
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 150 "dhcp6_lexer.ll"
+#line 151 "dhcp6_lexer.ll"
{
BEGIN(COMMENT);
comment_start_line = driver.loc_.end.line;;
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 155 "dhcp6_lexer.ll"
+#line 156 "dhcp6_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 156 "dhcp6_lexer.ll"
+#line 157 "dhcp6_lexer.ll"
;
YY_BREAK
case YY_STATE_EOF(COMMENT):
-#line 157 "dhcp6_lexer.ll"
+#line 158 "dhcp6_lexer.ll"
{
isc_throw(Dhcp6ParseError, "Comment not closed. (/* in line " << comment_start_line);
}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 161 "dhcp6_lexer.ll"
+#line 162 "dhcp6_lexer.ll"
BEGIN(DIR_ENTER);
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 162 "dhcp6_lexer.ll"
+#line 163 "dhcp6_lexer.ll"
BEGIN(DIR_INCLUDE);
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 163 "dhcp6_lexer.ll"
+#line 164 "dhcp6_lexer.ll"
{
/* Include directive. */
/* Extract the filename. */
- std::string tmp(parser6_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
driver.includeFile(tmp);
case YY_STATE_EOF(DIR_ENTER):
case YY_STATE_EOF(DIR_INCLUDE):
case YY_STATE_EOF(DIR_EXIT):
-#line 172 "dhcp6_lexer.ll"
+#line 173 "dhcp6_lexer.ll"
{
isc_throw(Dhcp6ParseError, "Directive not closed.");
}
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 175 "dhcp6_lexer.ll"
+#line 176 "dhcp6_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 178 "dhcp6_lexer.ll"
+#line 179 "dhcp6_lexer.ll"
{
/* Ok, we found a with space. Let's ignore it and update loc variable. */
driver.loc_.step();
case 11:
/* rule 11 can match eol */
YY_RULE_SETUP
-#line 183 "dhcp6_lexer.ll"
+#line 184 "dhcp6_lexer.ll"
{
/* Newline found. Let's update the location and continue. */
- driver.loc_.lines(parser6_leng);
+ driver.loc_.lines(yyleng);
driver.loc_.step();
}
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 190 "dhcp6_lexer.ll"
+#line 191 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 199 "dhcp6_lexer.ll"
+#line 200 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 208 "dhcp6_lexer.ll"
+#line 209 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 217 "dhcp6_lexer.ll"
+#line 218 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 226 "dhcp6_lexer.ll"
+#line 227 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 235 "dhcp6_lexer.ll"
+#line 236 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 244 "dhcp6_lexer.ll"
+#line 245 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 253 "dhcp6_lexer.ll"
+#line 254 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 262 "dhcp6_lexer.ll"
+#line 263 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 271 "dhcp6_lexer.ll"
+#line 272 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 280 "dhcp6_lexer.ll"
+#line 281 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 289 "dhcp6_lexer.ll"
+#line 290 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 298 "dhcp6_lexer.ll"
+#line 299 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 307 "dhcp6_lexer.ll"
+#line 308 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 316 "dhcp6_lexer.ll"
+#line 317 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
return isc::dhcp::Dhcp6Parser::make_UDP(driver.loc_);
}
- std::string tmp(parser6_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 326 "dhcp6_lexer.ll"
+#line 327 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
return isc::dhcp::Dhcp6Parser::make_TCP(driver.loc_);
}
- std::string tmp(parser6_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 336 "dhcp6_lexer.ll"
+#line 337 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_FORMAT) {
return isc::dhcp::Dhcp6Parser::make_JSON(driver.loc_);
}
- std::string tmp(parser6_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 346 "dhcp6_lexer.ll"
+#line 347 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp6Parser::make_WHEN_PRESENT(driver.loc_);
}
- std::string tmp(parser6_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 356 "dhcp6_lexer.ll"
+#line 357 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp6Parser::make_WHEN_PRESENT(driver.loc_);
}
- std::string tmp(parser6_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 366 "dhcp6_lexer.ll"
+#line 367 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_);
}
- std::string tmp(parser6_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 376 "dhcp6_lexer.ll"
+#line 377 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_);
}
- std::string tmp(parser6_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 386 "dhcp6_lexer.ll"
+#line 387 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp6Parser::make_ALWAYS(driver.loc_);
}
- std::string tmp(parser6_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 396 "dhcp6_lexer.ll"
+#line 397 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
return isc::dhcp::Dhcp6Parser::make_WHEN_NOT_PRESENT(driver.loc_);
}
- std::string tmp(parser6_text+1);
+ std::string tmp(yytext+1);
tmp.resize(tmp.size() - 1);
return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
}
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 406 "dhcp6_lexer.ll"
+#line 407 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 415 "dhcp6_lexer.ll"
+#line 416 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 424 "dhcp6_lexer.ll"
+#line 425 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 433 "dhcp6_lexer.ll"
+#line 434 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 442 "dhcp6_lexer.ll"
+#line 443 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 451 "dhcp6_lexer.ll"
+#line 452 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 460 "dhcp6_lexer.ll"
+#line 461 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOSTS_DATABASE:
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 469 "dhcp6_lexer.ll"
+#line 470 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 481 "dhcp6_lexer.ll"
+#line 482 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_TYPE:
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 490 "dhcp6_lexer.ll"
+#line 491 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_TYPE:
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 499 "dhcp6_lexer.ll"
+#line 500 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_TYPE:
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 508 "dhcp6_lexer.ll"
+#line 509 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_TYPE:
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 517 "dhcp6_lexer.ll"
+#line 518 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 527 "dhcp6_lexer.ll"
+#line 528 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 537 "dhcp6_lexer.ll"
+#line 538 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 547 "dhcp6_lexer.ll"
+#line 548 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 557 "dhcp6_lexer.ll"
+#line 558 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 568 "dhcp6_lexer.ll"
+#line 569 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 578 "dhcp6_lexer.ll"
+#line 579 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 588 "dhcp6_lexer.ll"
+#line 589 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 598 "dhcp6_lexer.ll"
+#line 599 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 608 "dhcp6_lexer.ll"
+#line 609 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 619 "dhcp6_lexer.ll"
+#line 620 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 630 "dhcp6_lexer.ll"
+#line 631 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 641 "dhcp6_lexer.ll"
+#line 642 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 652 "dhcp6_lexer.ll"
+#line 653 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 661 "dhcp6_lexer.ll"
+#line 662 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 671 "dhcp6_lexer.ll"
+#line 672 "dhcp6_lexer.ll"
{
switch (driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 680 "dhcp6_lexer.ll"
+#line 681 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 689 "dhcp6_lexer.ll"
+#line 690 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 705 "dhcp6_lexer.ll"
+#line 706 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 721 "dhcp6_lexer.ll"
+#line 722 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 730 "dhcp6_lexer.ll"
+#line 731 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 739 "dhcp6_lexer.ll"
+#line 740 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 748 "dhcp6_lexer.ll"
+#line 749 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 757 "dhcp6_lexer.ll"
+#line 758 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 766 "dhcp6_lexer.ll"
+#line 767 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 775 "dhcp6_lexer.ll"
+#line 776 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 784 "dhcp6_lexer.ll"
+#line 785 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 793 "dhcp6_lexer.ll"
+#line 794 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 802 "dhcp6_lexer.ll"
+#line 803 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::POOLS:
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 811 "dhcp6_lexer.ll"
+#line 812 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 833 "dhcp6_lexer.ll"
+#line 834 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 855 "dhcp6_lexer.ll"
+#line 856 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 864 "dhcp6_lexer.ll"
+#line 865 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 874 "dhcp6_lexer.ll"
+#line 875 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 884 "dhcp6_lexer.ll"
+#line 885 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 893 "dhcp6_lexer.ll"
+#line 894 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 903 "dhcp6_lexer.ll"
+#line 904 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 913 "dhcp6_lexer.ll"
+#line 914 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 922 "dhcp6_lexer.ll"
+#line 923 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 931 "dhcp6_lexer.ll"
+#line 932 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 940 "dhcp6_lexer.ll"
+#line 941 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 949 "dhcp6_lexer.ll"
+#line 950 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 959 "dhcp6_lexer.ll"
+#line 960 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 968 "dhcp6_lexer.ll"
+#line 969 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 977 "dhcp6_lexer.ll"
+#line 978 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 986 "dhcp6_lexer.ll"
+#line 987 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 995 "dhcp6_lexer.ll"
+#line 996 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGING:
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 1004 "dhcp6_lexer.ll"
+#line 1005 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 1013 "dhcp6_lexer.ll"
+#line 1014 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 1022 "dhcp6_lexer.ll"
+#line 1023 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 1031 "dhcp6_lexer.ll"
+#line 1032 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 1040 "dhcp6_lexer.ll"
+#line 1041 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 1050 "dhcp6_lexer.ll"
+#line 1051 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 1059 "dhcp6_lexer.ll"
+#line 1060 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 1068 "dhcp6_lexer.ll"
+#line 1069 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
- case isc::dhcp::Parser6Context::POOLS:
- case isc::dhcp::Parser6Context::PD_POOLS:
case isc::dhcp::Parser6Context::RESERVATIONS:
return isc::dhcp::Dhcp6Parser::make_CLIENT_CLASSES(driver.loc_);
default:
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 1080 "dhcp6_lexer.ll"
+#line 1079 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::POOLS:
+ case isc::dhcp::Parser6Context::PD_POOLS:
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
case isc::dhcp::Parser6Context::SHARED_NETWORK:
return isc::dhcp::Dhcp6Parser::make_CLIENT_CLASS(driver.loc_);
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 1091 "dhcp6_lexer.ll"
+#line 1092 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 1101 "dhcp6_lexer.ll"
+#line 1102 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 1110 "dhcp6_lexer.ll"
+#line 1111 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 1119 "dhcp6_lexer.ll"
+#line 1120 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 1128 "dhcp6_lexer.ll"
+#line 1129 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::MAC_SOURCES:
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 1139 "dhcp6_lexer.ll"
+#line 1140 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 1149 "dhcp6_lexer.ll"
+#line 1150 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 1158 "dhcp6_lexer.ll"
+#line 1159 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 1168 "dhcp6_lexer.ll"
+#line 1169 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 1178 "dhcp6_lexer.ll"
+#line 1179 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 1187 "dhcp6_lexer.ll"
+#line 1188 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 1196 "dhcp6_lexer.ll"
+#line 1197 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 1205 "dhcp6_lexer.ll"
+#line 1206 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 1214 "dhcp6_lexer.ll"
+#line 1215 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 1224 "dhcp6_lexer.ll"
+#line 1225 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RELAY:
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 1233 "dhcp6_lexer.ll"
+#line 1234 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 1243 "dhcp6_lexer.ll"
+#line 1244 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 1252 "dhcp6_lexer.ll"
+#line 1253 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 1261 "dhcp6_lexer.ll"
+#line 1262 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 1270 "dhcp6_lexer.ll"
+#line 1271 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 1279 "dhcp6_lexer.ll"
+#line 1280 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 1288 "dhcp6_lexer.ll"
+#line 1289 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 1297 "dhcp6_lexer.ll"
+#line 1298 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 1306 "dhcp6_lexer.ll"
+#line 1307 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 1315 "dhcp6_lexer.ll"
+#line 1316 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 1324 "dhcp6_lexer.ll"
+#line 1325 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 1333 "dhcp6_lexer.ll"
+#line 1334 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 1342 "dhcp6_lexer.ll"
+#line 1343 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 1351 "dhcp6_lexer.ll"
+#line 1352 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 132:
YY_RULE_SETUP
-#line 1360 "dhcp6_lexer.ll"
+#line 1361 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 1369 "dhcp6_lexer.ll"
+#line 1370 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 1378 "dhcp6_lexer.ll"
+#line 1379 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 1387 "dhcp6_lexer.ll"
+#line 1388 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 136:
YY_RULE_SETUP
-#line 1396 "dhcp6_lexer.ll"
+#line 1397 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 137:
YY_RULE_SETUP
-#line 1405 "dhcp6_lexer.ll"
+#line 1406 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 138:
YY_RULE_SETUP
-#line 1414 "dhcp6_lexer.ll"
+#line 1415 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
YY_BREAK
case 139:
YY_RULE_SETUP
-#line 1423 "dhcp6_lexer.ll"
+#line 1424 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
YY_BREAK
case 140:
YY_RULE_SETUP
-#line 1432 "dhcp6_lexer.ll"
+#line 1433 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 141:
YY_RULE_SETUP
-#line 1441 "dhcp6_lexer.ll"
+#line 1442 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
YY_BREAK
case 142:
YY_RULE_SETUP
-#line 1450 "dhcp6_lexer.ll"
+#line 1451 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
YY_BREAK
case 143:
YY_RULE_SETUP
-#line 1459 "dhcp6_lexer.ll"
+#line 1460 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
YY_BREAK
case 144:
YY_RULE_SETUP
-#line 1469 "dhcp6_lexer.ll"
+#line 1470 "dhcp6_lexer.ll"
{
/* A string has been matched. It contains the actual string and single quotes.
We need to get those quotes out of the way and just use its content, e.g.
for 'foo' we should get foo */
- std::string raw(parser6_text+1);
+ std::string raw(yytext+1);
size_t len = raw.size() - 1;
raw.resize(len);
std::string decoded;
case 145:
/* rule 145 can match eol */
YY_RULE_SETUP
-#line 1568 "dhcp6_lexer.ll"
+#line 1569 "dhcp6_lexer.ll"
{
/* Bad string with a forbidden control character inside */
- driver.error(driver.loc_, "Invalid control in " + std::string(parser6_text));
+ driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
}
YY_BREAK
case 146:
/* rule 146 can match eol */
YY_RULE_SETUP
-#line 1573 "dhcp6_lexer.ll"
+#line 1574 "dhcp6_lexer.ll"
{
/* Bad string with a bad escape inside */
- driver.error(driver.loc_, "Bad escape in " + std::string(parser6_text));
+ driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
}
YY_BREAK
case 147:
YY_RULE_SETUP
-#line 1578 "dhcp6_lexer.ll"
+#line 1579 "dhcp6_lexer.ll"
{
/* Bad string with an open escape at the end */
- driver.error(driver.loc_, "Overflow escape in " + std::string(parser6_text));
+ driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
}
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 1583 "dhcp6_lexer.ll"
+#line 1584 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 149:
YY_RULE_SETUP
-#line 1584 "dhcp6_lexer.ll"
+#line 1585 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 150:
YY_RULE_SETUP
-#line 1585 "dhcp6_lexer.ll"
+#line 1586 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 151:
YY_RULE_SETUP
-#line 1586 "dhcp6_lexer.ll"
+#line 1587 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 152:
YY_RULE_SETUP
-#line 1587 "dhcp6_lexer.ll"
+#line 1588 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
YY_BREAK
case 153:
YY_RULE_SETUP
-#line 1588 "dhcp6_lexer.ll"
+#line 1589 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
YY_BREAK
case 154:
YY_RULE_SETUP
-#line 1590 "dhcp6_lexer.ll"
+#line 1591 "dhcp6_lexer.ll"
{
/* An integer was found. */
- std::string tmp(parser6_text);
+ std::string tmp(yytext);
int64_t integer = 0;
try {
/* In substring we want to use negative values (e.g. -1).
YY_BREAK
case 155:
YY_RULE_SETUP
-#line 1608 "dhcp6_lexer.ll"
+#line 1609 "dhcp6_lexer.ll"
{
/* A floating point was found. */
- std::string tmp(parser6_text);
+ std::string tmp(yytext);
double fp = 0.0;
try {
fp = boost::lexical_cast<double>(tmp);
YY_BREAK
case 156:
YY_RULE_SETUP
-#line 1621 "dhcp6_lexer.ll"
+#line 1622 "dhcp6_lexer.ll"
{
- string tmp(parser6_text);
+ string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
}
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 1626 "dhcp6_lexer.ll"
+#line 1627 "dhcp6_lexer.ll"
{
return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
case 158:
YY_RULE_SETUP
-#line 1630 "dhcp6_lexer.ll"
+#line 1631 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
case 159:
YY_RULE_SETUP
-#line 1632 "dhcp6_lexer.ll"
+#line 1633 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
case 160:
YY_RULE_SETUP
-#line 1634 "dhcp6_lexer.ll"
+#line 1635 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
case 161:
YY_RULE_SETUP
-#line 1636 "dhcp6_lexer.ll"
-driver.error (driver.loc_, "Invalid character: " + std::string(parser6_text));
+#line 1637 "dhcp6_lexer.ll"
+driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 1638 "dhcp6_lexer.ll"
+#line 1639 "dhcp6_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
YY_BREAK
case 162:
YY_RULE_SETUP
-#line 1661 "dhcp6_lexer.ll"
+#line 1662 "dhcp6_lexer.ll"
ECHO;
YY_BREAK
-#line 3876 "dhcp6_lexer.cc"
+#line 4096 "dhcp6_lexer.cc"
case YY_END_OF_BUFFER:
{
{
/* We're scanning a new file or input source. It's
* possible that this happened because the user
- * just pointed parser6_in at a new source and called
- * parser6_lex(). If so, then we have to assure
+ * just pointed yyin at a new source and called
+ * yylex(). If so, then we have to assure
* consistency between YY_CURRENT_BUFFER and our
* globals. Here is the right place to do so, because
* this is the first action (other than possibly a
*/
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
/* %if-c-only */
- YY_CURRENT_BUFFER_LVALUE->yy_input_file = parser6_in;
+ YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
/* %endif */
/* %if-c++-only */
/* %endif */
{
(yy_did_buffer_switch_on_eof) = 0;
- if ( parser6_wrap( ) )
+ if ( yywrap( ) )
{
/* Note: because we've taken care in
* yy_get_next_buffer() to have set up
- * parser6_text, we can now set up
+ * yytext, we can now set up
* yy_c_buf_p so that if some total
* hoser (like flex itself) wants to
* call the scanner after we return the
} /* end of action switch */
} /* end of scanning one token */
} /* end of user's declarations */
-} /* end of parser6_lex */
+} /* end of yylex */
/* %ok-for-header */
/* %if-c++-only */
/* %not-for-header */
-
/* %ok-for-header */
/* %endif */
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
- parser6_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
+ yyrealloc( (void *) b->yy_ch_buf,
+ (yy_size_t) (b->yy_buf_size + 2) );
}
else
/* Can't grow it, we don't own it. */
if ( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
- parser6_restart(parser6_in );
+ yyrestart( yyin );
}
else
if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */
int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
- YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) parser6_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
+ (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+ /* "- 2" to take care of EOB's */
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
}
(yy_n_chars) += number_to_move;
/* %if-c-only */
/* %not-for-header */
-
static yy_state_type yy_get_previous_state (void)
/* %endif */
/* %if-c++-only */
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 1272 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
}
return yy_current_state;
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 1272 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
yy_is_jam = (yy_current_state == 1271);
return yy_is_jam ? 0 : yy_current_state;
else
{ /* need more input */
- int offset = (yy_c_buf_p) - (yytext_ptr);
+ int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
++(yy_c_buf_p);
switch ( yy_get_next_buffer( ) )
*/
/* Reset buffer status. */
- parser6_restart(parser6_in );
+ yyrestart( yyin );
/*FALLTHROUGH*/
case EOB_ACT_END_OF_FILE:
{
- if ( parser6_wrap( ) )
+ if ( yywrap( ) )
return 0;
if ( ! (yy_did_buffer_switch_on_eof) )
}
c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
- *(yy_c_buf_p) = '\0'; /* preserve parser6_text */
+ *(yy_c_buf_p) = '\0'; /* preserve yytext */
(yy_hold_char) = *++(yy_c_buf_p);
-/* %% [19.0] update BOL and parser6_lineno */
+/* %% [19.0] update BOL and yylineno */
return c;
}
* @note This function does not reset the start condition to @c INITIAL .
*/
/* %if-c-only */
- void parser6_restart (FILE * input_file )
+ void yyrestart (FILE * input_file )
/* %endif */
/* %if-c++-only */
/* %endif */
{
if ( ! YY_CURRENT_BUFFER ){
- parser6_ensure_buffer_stack ();
+ yyensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- parser6__create_buffer(parser6_in,YY_BUF_SIZE );
+ yy_create_buffer( yyin, YY_BUF_SIZE );
}
- parser6__init_buffer(YY_CURRENT_BUFFER,input_file );
- parser6__load_buffer_state( );
+ yy_init_buffer( YY_CURRENT_BUFFER, input_file );
+ yy_load_buffer_state( );
}
/* %if-c++-only */
*
*/
/* %if-c-only */
- void parser6__switch_to_buffer (YY_BUFFER_STATE new_buffer )
+ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
/* %endif */
/* %if-c++-only */
/* %endif */
/* TODO. We should be able to replace this entire function body
* with
- * parser6_pop_buffer_state();
- * parser6_push_buffer_state(new_buffer);
+ * yypop_buffer_state();
+ * yypush_buffer_state(new_buffer);
*/
- parser6_ensure_buffer_stack ();
+ yyensure_buffer_stack ();
if ( YY_CURRENT_BUFFER == new_buffer )
return;
}
YY_CURRENT_BUFFER_LVALUE = new_buffer;
- parser6__load_buffer_state( );
+ yy_load_buffer_state( );
/* We don't actually know whether we did this switch during
- * EOF (parser6_wrap()) processing, but the only time this flag
- * is looked at is after parser6_wrap() is called, so it's safe
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
* to go ahead and always set it.
*/
(yy_did_buffer_switch_on_eof) = 1;
}
/* %if-c-only */
-static void parser6__load_buffer_state (void)
+static void yy_load_buffer_state (void)
/* %endif */
/* %if-c++-only */
/* %endif */
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
/* %if-c-only */
- parser6_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+ yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
/* %endif */
/* %if-c++-only */
/* %endif */
* @return the allocated buffer state.
*/
/* %if-c-only */
- YY_BUFFER_STATE parser6__create_buffer (FILE * file, int size )
+ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
/* %endif */
/* %if-c++-only */
/* %endif */
{
YY_BUFFER_STATE b;
- b = (YY_BUFFER_STATE) parser6_alloc(sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in parser6__create_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
- b->yy_buf_size = (yy_size_t)size;
+ b->yy_buf_size = size;
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
*/
- b->yy_ch_buf = (char *) parser6_alloc(b->yy_buf_size + 2 );
+ b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
if ( ! b->yy_ch_buf )
- YY_FATAL_ERROR( "out of dynamic memory in parser6__create_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_is_our_buffer = 1;
- parser6__init_buffer(b,file );
+ yy_init_buffer( b, file );
return b;
}
/* %endif */
/** Destroy the buffer.
- * @param b a buffer created with parser6__create_buffer()
+ * @param b a buffer created with yy_create_buffer()
*
*/
/* %if-c-only */
- void parser6__delete_buffer (YY_BUFFER_STATE b )
+ void yy_delete_buffer (YY_BUFFER_STATE b )
/* %endif */
/* %if-c++-only */
/* %endif */
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
if ( b->yy_is_our_buffer )
- parser6_free((void *) b->yy_ch_buf );
+ yyfree( (void *) b->yy_ch_buf );
- parser6_free((void *) b );
+ yyfree( (void *) b );
}
/* Initializes or reinitializes a buffer.
* This function is sometimes called more than once on the same buffer,
- * such as during a parser6_restart() or at EOF.
+ * such as during a yyrestart() or at EOF.
*/
/* %if-c-only */
- static void parser6__init_buffer (YY_BUFFER_STATE b, FILE * file )
+ static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
/* %endif */
/* %if-c++-only */
/* %endif */
{
int oerrno = errno;
- parser6__flush_buffer(b );
+ yy_flush_buffer( b );
/* %if-c-only */
b->yy_input_file = file;
/* %endif */
b->yy_fill_buffer = 1;
- /* If b is the current buffer, then parser6__init_buffer was _probably_
- * called from parser6_restart() or through yy_get_next_buffer.
+ /* If b is the current buffer, then yy_init_buffer was _probably_
+ * called from yyrestart() or through yy_get_next_buffer.
* In that case, we don't want to reset the lineno or column.
*/
if (b != YY_CURRENT_BUFFER){
*
*/
/* %if-c-only */
- void parser6__flush_buffer (YY_BUFFER_STATE b )
+ void yy_flush_buffer (YY_BUFFER_STATE b )
/* %endif */
/* %if-c++-only */
/* %endif */
b->yy_buffer_status = YY_BUFFER_NEW;
if ( b == YY_CURRENT_BUFFER )
- parser6__load_buffer_state( );
+ yy_load_buffer_state( );
}
/* %if-c-or-c++ */
*
*/
/* %if-c-only */
-void parser6_push_buffer_state (YY_BUFFER_STATE new_buffer )
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
/* %endif */
/* %if-c++-only */
/* %endif */
if (new_buffer == NULL)
return;
- parser6_ensure_buffer_stack();
+ yyensure_buffer_stack();
- /* This block is copied from parser6__switch_to_buffer. */
+ /* This block is copied from yy_switch_to_buffer. */
if ( YY_CURRENT_BUFFER )
{
/* Flush out information for old buffer. */
(yy_buffer_stack_top)++;
YY_CURRENT_BUFFER_LVALUE = new_buffer;
- /* copied from parser6__switch_to_buffer. */
- parser6__load_buffer_state( );
+ /* copied from yy_switch_to_buffer. */
+ yy_load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
/* %endif */
*
*/
/* %if-c-only */
-void parser6_pop_buffer_state (void)
+void yypop_buffer_state (void)
/* %endif */
/* %if-c++-only */
/* %endif */
if (!YY_CURRENT_BUFFER)
return;
- parser6__delete_buffer(YY_CURRENT_BUFFER );
+ yy_delete_buffer(YY_CURRENT_BUFFER );
YY_CURRENT_BUFFER_LVALUE = NULL;
if ((yy_buffer_stack_top) > 0)
--(yy_buffer_stack_top);
if (YY_CURRENT_BUFFER) {
- parser6__load_buffer_state( );
+ yy_load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
}
* Guarantees space for at least one push.
*/
/* %if-c-only */
-static void parser6_ensure_buffer_stack (void)
+static void yyensure_buffer_stack (void)
/* %endif */
/* %if-c++-only */
/* %endif */
{
- int num_to_alloc;
+ yy_size_t num_to_alloc;
if (!(yy_buffer_stack)) {
* immediate realloc on the next call.
*/
num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
- (yy_buffer_stack) = (struct yy_buffer_state**)parser6_alloc
+ (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
);
if ( ! (yy_buffer_stack) )
- YY_FATAL_ERROR( "out of dynamic memory in parser6_ensure_buffer_stack()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
yy_size_t grow_size = 8 /* arbitrary grow size */;
num_to_alloc = (yy_buffer_stack_max) + grow_size;
- (yy_buffer_stack) = (struct yy_buffer_state**)parser6_realloc
+ (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
((yy_buffer_stack),
num_to_alloc * sizeof(struct yy_buffer_state*)
);
if ( ! (yy_buffer_stack) )
- YY_FATAL_ERROR( "out of dynamic memory in parser6_ensure_buffer_stack()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
/* zero only the new slots.*/
memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
*
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE parser6__scan_buffer (char * base, yy_size_t size )
+YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
{
YY_BUFFER_STATE b;
/* They forgot to leave room for the EOB's. */
return NULL;
- b = (YY_BUFFER_STATE) parser6_alloc(sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in parser6__scan_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
- b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
b->yy_buf_pos = b->yy_ch_buf = base;
b->yy_is_our_buffer = 0;
b->yy_input_file = NULL;
b->yy_fill_buffer = 0;
b->yy_buffer_status = YY_BUFFER_NEW;
- parser6__switch_to_buffer(b );
+ yy_switch_to_buffer( b );
return b;
}
/* %endif */
/* %if-c-only */
-/** Setup the input buffer state to scan a string. The next call to parser6_lex() will
+/** Setup the input buffer state to scan a string. The next call to yylex() will
* scan from a @e copy of @a str.
* @param yystr a NUL-terminated string to scan
*
* @return the newly allocated buffer state object.
* @note If you want to scan bytes that may contain NUL values, then use
- * parser6__scan_bytes() instead.
+ * yy_scan_bytes() instead.
*/
-YY_BUFFER_STATE parser6__scan_string (yyconst char * yystr )
+YY_BUFFER_STATE yy_scan_string (const char * yystr )
{
- return parser6__scan_bytes(yystr,(int) strlen(yystr) );
+ return yy_scan_bytes( yystr, (int) strlen(yystr) );
}
/* %endif */
/* %if-c-only */
-/** Setup the input buffer state to scan the given bytes. The next call to parser6_lex() will
+/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
* scan from a @e copy of @a bytes.
* @param yybytes the byte buffer to scan
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
*
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE parser6__scan_bytes (yyconst char * yybytes, int _yybytes_len )
+YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
{
YY_BUFFER_STATE b;
char *buf;
/* Get memory for full buffer, including space for trailing EOB's. */
n = (yy_size_t) (_yybytes_len + 2);
- buf = (char *) parser6_alloc(n );
+ buf = (char *) yyalloc( n );
if ( ! buf )
- YY_FATAL_ERROR( "out of dynamic memory in parser6__scan_bytes()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
for ( i = 0; i < _yybytes_len; ++i )
buf[i] = yybytes[i];
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
- b = parser6__scan_buffer(buf,n );
+ b = yy_scan_buffer( buf, n );
if ( ! b )
- YY_FATAL_ERROR( "bad buffer in parser6__scan_bytes()" );
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
/* It's okay to grow etc. this buffer, and we should throw it
* away when we're done.
#endif
/* %if-c-only */
-static void yynoreturn yy_fatal_error (yyconst char* msg )
+static void yynoreturn yy_fatal_error (const char* msg )
{
- (void) fprintf( stderr, "%s\n", msg );
+ fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE );
}
/* %endif */
#define yyless(n) \
do \
{ \
- /* Undo effects of setting up parser6_text. */ \
+ /* Undo effects of setting up yytext. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
- parser6_text[parser6_leng] = (yy_hold_char); \
- (yy_c_buf_p) = parser6_text + yyless_macro_arg; \
+ yytext[yyleng] = (yy_hold_char); \
+ (yy_c_buf_p) = yytext + yyless_macro_arg; \
(yy_hold_char) = *(yy_c_buf_p); \
*(yy_c_buf_p) = '\0'; \
- parser6_leng = yyless_macro_arg; \
+ yyleng = yyless_macro_arg; \
} \
while ( 0 )
/** Get the current line number.
*
*/
-int parser6_get_lineno (void)
+int yyget_lineno (void)
{
- return parser6_lineno;
+ return yylineno;
}
/** Get the input stream.
*
*/
-FILE *parser6_get_in (void)
+FILE *yyget_in (void)
{
- return parser6_in;
+ return yyin;
}
/** Get the output stream.
*
*/
-FILE *parser6_get_out (void)
+FILE *yyget_out (void)
{
- return parser6_out;
+ return yyout;
}
/** Get the length of the current token.
*
*/
-int parser6_get_leng (void)
+int yyget_leng (void)
{
- return parser6_leng;
+ return yyleng;
}
/** Get the current token.
*
*/
-char *parser6_get_text (void)
+char *yyget_text (void)
{
- return parser6_text;
+ return yytext;
}
/* %if-reentrant */
* @param _line_number line number
*
*/
-void parser6_set_lineno (int _line_number )
+void yyset_lineno (int _line_number )
{
- parser6_lineno = _line_number;
+ yylineno = _line_number;
}
/** Set the input stream. This does not discard the current
* input buffer.
* @param _in_str A readable stream.
*
- * @see parser6__switch_to_buffer
+ * @see yy_switch_to_buffer
*/
-void parser6_set_in (FILE * _in_str )
+void yyset_in (FILE * _in_str )
{
- parser6_in = _in_str ;
+ yyin = _in_str ;
}
-void parser6_set_out (FILE * _out_str )
+void yyset_out (FILE * _out_str )
{
- parser6_out = _out_str ;
+ yyout = _out_str ;
}
-int parser6_get_debug (void)
+int yyget_debug (void)
{
- return parser6__flex_debug;
+ return yy_flex_debug;
}
-void parser6_set_debug (int _bdebug )
+void yyset_debug (int _bdebug )
{
- parser6__flex_debug = _bdebug ;
+ yy_flex_debug = _bdebug ;
}
/* %endif */
static int yy_init_globals (void)
{
/* Initialization is the same as for the non-reentrant scanner.
- * This function is called from parser6_lex_destroy(), so don't allocate here.
+ * This function is called from yylex_destroy(), so don't allocate here.
*/
(yy_buffer_stack) = NULL;
/* Defined in main.c */
#ifdef YY_STDINIT
- parser6_in = stdin;
- parser6_out = stdout;
+ yyin = stdin;
+ yyout = stdout;
#else
- parser6_in = NULL;
- parser6_out = NULL;
+ yyin = NULL;
+ yyout = NULL;
#endif
/* For future reference: Set errno on error, since we are called by
- * parser6_lex_init()
+ * yylex_init()
*/
return 0;
}
/* %endif */
/* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */
-/* parser6_lex_destroy is for both reentrant and non-reentrant scanners. */
-int parser6_lex_destroy (void)
+/* yylex_destroy is for both reentrant and non-reentrant scanners. */
+int yylex_destroy (void)
{
/* Pop the buffer stack, destroying each element. */
while(YY_CURRENT_BUFFER){
- parser6__delete_buffer(YY_CURRENT_BUFFER );
+ yy_delete_buffer( YY_CURRENT_BUFFER );
YY_CURRENT_BUFFER_LVALUE = NULL;
- parser6_pop_buffer_state();
+ yypop_buffer_state();
}
/* Destroy the stack itself. */
- parser6_free((yy_buffer_stack) );
+ yyfree((yy_buffer_stack) );
(yy_buffer_stack) = NULL;
/* Reset the globals. This is important in a non-reentrant scanner so the next time
- * parser6_lex() is called, initialization will occur. */
+ * yylex() is called, initialization will occur. */
yy_init_globals( );
/* %if-reentrant */
*/
#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+static void yy_flex_strncpy (char* s1, const char * s2, int n )
{
int i;
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
+static int yy_flex_strlen (const char * s )
{
int n;
for ( n = 0; s[n]; ++n )
}
#endif
-void *parser6_alloc (yy_size_t size )
+void *yyalloc (yy_size_t size )
{
return malloc(size);
}
-void *parser6_realloc (void * ptr, yy_size_t size )
+void *yyrealloc (void * ptr, yy_size_t size )
{
/* The cast to (char *) in the following accommodates both
return realloc(ptr, size);
}
-void parser6_free (void * ptr )
+void yyfree (void * ptr )
{
- free( (char *) ptr ); /* see parser6_realloc() for (char *) cast */
+ free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
}
/* %if-tables-serialization definitions */
/* %ok-for-header */
-#line 1661 "dhcp6_lexer.ll"
-
+#line 1662 "dhcp6_lexer.ll"
using namespace isc::dhcp;
file_ = "<string>";
sfile_ = 0;
loc_.initialize(&file_);
- parser6__flex_debug = trace_scanning_;
+ yy_flex_debug = trace_scanning_;
YY_BUFFER_STATE buffer;
buffer = parser6__scan_bytes(str.c_str(), str.size());
if (!buffer) {
file_ = filename;
sfile_ = f;
loc_.initialize(&file_);
- parser6__flex_debug = trace_scanning_;
+ yy_flex_debug = trace_scanning_;
YY_BUFFER_STATE buffer;
/* See dhcp6_lexer.cc header for available definitions */
\"client-classes\" {
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
- case isc::dhcp::Parser6Context::POOLS:
- case isc::dhcp::Parser6Context::PD_POOLS:
case isc::dhcp::Parser6Context::RESERVATIONS:
return isc::dhcp::Dhcp6Parser::make_CLIENT_CLASSES(driver.loc_);
default:
\"client-class\" {
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::POOLS:
+ case isc::dhcp::Parser6Context::PD_POOLS:
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
case isc::dhcp::Parser6Context::SHARED_NETWORK:
return isc::dhcp::Dhcp6Parser::make_CLIENT_CLASS(driver.loc_);
break;
case 470:
-#line 1671 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1670 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-id", m);
break;
case 471:
-#line 1676 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1675 "dhcp6_parser.yy" // lalr1.cc:859
{
// The type parameter is required.
ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
break;
case 483:
-#line 1698 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1697 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.DUID_TYPE);
}
break;
case 484:
-#line 1700 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1699 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
break;
case 485:
-#line 1705 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1704 "dhcp6_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
#line 2731 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 486:
-#line 1706 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1705 "dhcp6_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
#line 2737 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 487:
-#line 1707 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1706 "dhcp6_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
#line 2743 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 488:
-#line 1710 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1709 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr htype(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("htype", htype);
break;
case 489:
-#line 1715 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1714 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 490:
-#line 1717 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1716 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr id(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("identifier", id);
break;
case 491:
-#line 1723 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1722 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("time", time);
break;
case 492:
-#line 1728 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1727 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("enterprise-id", time);
break;
case 493:
-#line 1735 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1734 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("dhcp4o6-port", time);
break;
case 494:
-#line 1742 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1741 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("control-socket", m);
break;
case 495:
-#line 1747 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1746 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
break;
case 503:
-#line 1763 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1762 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 504:
-#line 1765 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1764 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("socket-type", stype);
break;
case 505:
-#line 1771 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1770 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 506:
-#line 1773 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1772 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("socket-name", name);
break;
case 507:
-#line 1781 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1780 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("dhcp-ddns", m);
break;
case 508:
-#line 1786 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1785 "dhcp6_parser.yy" // lalr1.cc:859
{
// The enable updates DHCP DDNS parameter is required.
ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
break;
case 509:
-#line 1793 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1792 "dhcp6_parser.yy" // lalr1.cc:859
{
// Parse the dhcp-ddns map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
break;
case 510:
-#line 1797 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1796 "dhcp6_parser.yy" // lalr1.cc:859
{
// The enable updates DHCP DDNS parameter is required.
ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
break;
case 530:
-#line 1826 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1825 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("enable-updates", b);
break;
case 531:
-#line 1831 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1830 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 532:
-#line 1833 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1832 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("qualifying-suffix", s);
break;
case 533:
-#line 1839 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1838 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 534:
-#line 1841 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1840 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-ip", s);
break;
case 535:
-#line 1847 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1846 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-port", i);
break;
case 536:
-#line 1852 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1851 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 537:
-#line 1854 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1853 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("sender-ip", s);
break;
case 538:
-#line 1860 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1859 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("sender-port", i);
break;
case 539:
-#line 1865 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1864 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-queue-size", i);
break;
case 540:
-#line 1870 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1869 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NCR_PROTOCOL);
}
break;
case 541:
-#line 1872 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1871 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
break;
case 542:
-#line 1878 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1877 "dhcp6_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
#line 3008 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 543:
-#line 1879 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1878 "dhcp6_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
#line 3014 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 544:
-#line 1882 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1881 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NCR_FORMAT);
}
break;
case 545:
-#line 1884 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1883 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ncr-format", json);
break;
case 546:
-#line 1890 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1889 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("always-include-fqdn", b);
break;
case 547:
-#line 1895 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1894 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("override-no-update", b);
break;
case 548:
-#line 1900 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1899 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("override-client-update", b);
break;
case 549:
-#line 1905 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1904 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.REPLACE_CLIENT_NAME);
}
break;
case 550:
-#line 1907 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1906 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
break;
case 551:
-#line 1913 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1912 "dhcp6_parser.yy" // lalr1.cc:859
{
yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
}
break;
case 552:
-#line 1916 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1915 "dhcp6_parser.yy" // lalr1.cc:859
{
yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
}
break;
case 553:
-#line 1919 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1918 "dhcp6_parser.yy" // lalr1.cc:859
{
yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
}
break;
case 554:
-#line 1922 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1921 "dhcp6_parser.yy" // lalr1.cc:859
{
yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
}
break;
case 555:
-#line 1925 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1924 "dhcp6_parser.yy" // lalr1.cc:859
{
error(yystack_[0].location, "boolean values for the replace-client-name are "
"no longer supported");
break;
case 556:
-#line 1931 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1930 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 557:
-#line 1933 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1932 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("generated-prefix", s);
break;
case 558:
-#line 1941 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1940 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 559:
-#line 1943 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1942 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
break;
case 560:
-#line 1948 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1947 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 561:
-#line 1950 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1949 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
break;
case 562:
-#line 1955 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1954 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 563:
-#line 1957 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1956 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
break;
case 564:
-#line 1968 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1967 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("Logging", m);
break;
case 565:
-#line 1973 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1972 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
break;
case 566:
-#line 1978 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1977 "dhcp6_parser.yy" // lalr1.cc:859
{
// Parse the Logging map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
break;
case 567:
-#line 1982 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1981 "dhcp6_parser.yy" // lalr1.cc:859
{
// parsing completed
}
break;
case 571:
-#line 1998 "dhcp6_parser.yy" // lalr1.cc:859
+#line 1997 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("loggers", l);
break;
case 572:
-#line 2003 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2002 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
break;
case 575:
-#line 2015 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2014 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(l);
break;
case 576:
-#line 2019 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2018 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
break;
case 586:
-#line 2036 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2035 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("debuglevel", dl);
break;
case 587:
-#line 2041 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2040 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 588:
-#line 2043 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2042 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("severity", sev);
break;
case 589:
-#line 2049 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2048 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("output_options", l);
break;
case 590:
-#line 2054 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2053 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
break;
case 593:
-#line 2063 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2062 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
break;
case 594:
-#line 2067 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2066 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
break;
case 601:
-#line 2081 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2080 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 602:
-#line 2083 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2082 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("output", sev);
break;
case 603:
-#line 2089 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2088 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("flush", flush);
break;
case 604:
-#line 2094 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2093 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxsize", maxsize);
break;
case 605:
-#line 2099 "dhcp6_parser.yy" // lalr1.cc:859
+#line 2098 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxver", maxver);
}
- const short int Dhcp6Parser::yypact_ninf_ = -743;
+ const short int Dhcp6Parser::yypact_ninf_ = -750;
const signed char Dhcp6Parser::yytable_ninf_ = -1;
const short int
Dhcp6Parser::yypact_[] =
{
- 295, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, 59, 32, 88, 109, 119,
- 128, 156, 164, 176, 192, 199, 211, 228, 243, 245,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, 32, -16,
- 28, 29, 45, 182, 123, 230, 68, 186, 72, 250,
- -1, 305, 138, -743, 231, 264, 269, 290, 308, -743,
- -743, -743, -743, -743, 332, -743, 84, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, 354, 355, 359, 361,
- 380, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, 381, -743, -743, -743, 101, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, 383, -743, 102, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, 386, 391,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, 130,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, 146,
- -743, -743, -743, -743, -743, -743, 392, -743, 393, 395,
- -743, -743, -743, -743, 166, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, 311, 326, -743, -743, -743, -743, -743, -743,
- -743, -743, 367, -743, -743, 396, -743, -743, -743, 397,
- -743, -743, 394, 401, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, 402, 403, -743,
- -743, -743, -743, 400, 406, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, 189, -743, -743,
- -743, 421, -743, -743, 422, -743, 423, 424, -743, -743,
- 425, 426, 444, -743, -743, -743, -743, -743, 204, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, 216, -743, -743, -743, 32,
- 32, -743, 252, 445, 446, 447, 448, 449, -743, 28,
- -743, 450, 451, 452, 303, 306, 307, 309, 312, 455,
- 458, 460, 461, 463, 464, 465, 466, 467, 468, 469,
- 473, 474, 327, 475, 476, 29, -743, 478, 328, 45,
- -743, 479, 483, 484, 485, 489, 340, 339, 493, 494,
- 495, 496, 182, -743, 497, 498, 123, -743, 499, 351,
- 502, 356, 357, 230, -743, 503, 504, 505, 511, 512,
- 513, -743, 68, -743, 515, 516, 368, 517, 520, 521,
- 370, -743, 72, 523, 372, 373, -743, 250, 526, 527,
- 195, -743, 376, 529, 533, 384, 535, 387, 388, 536,
- 539, 389, 390, 398, 540, 543, 305, -743, 544, 138,
- -743, -743, -743, 545, 546, 548, 32, 32, 32, -743,
- 549, 550, 551, -743, -743, -743, -743, -743, 547, 554,
- 555, 556, 408, 557, 559, 560, 561, 562, 563, 564,
- 565, -743, 566, 567, -743, 570, -743, -743, 571, 572,
- 416, 417, 427, -743, -743, 315, 428, 573, 575, -743,
- 430, 570, -743, 431, -743, 432, -743, -743, -743, 570,
- 570, 433, 434, 435, 436, -743, 437, 438, -743, 439,
- 440, 441, -743, -743, 442, -743, -743, -743, 443, 32,
- -743, -743, 453, 454, -743, 456, -743, -743, 229, 429,
- -743, -743, -743, 77, 457, -743, 574, -743, 32, 29,
- 138, -743, -743, -743, 45, 52, 52, 590, 591, 592,
- -743, -743, -743, 593, -21, 32, 82, 594, 595, 170,
- 111, 37, 305, -743, -743, 596, 597, -743, -743, -743,
- -743, -743, -743, -743, -743, 598, 530, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, 601,
- -743, 219, 223, 226, -743, -743, -743, -743, 607, 609,
- 610, 611, 612, -743, -743, -743, 262, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- 292, -743, 613, 614, -743, -743, 615, 617, -743, -743,
- 616, 620, -743, -743, 618, 622, -743, -743, -743, 39,
- -743, -743, -743, 621, -743, -743, -743, 48, -743, -743,
- -743, -743, 167, -743, -743, 623, 625, -743, 626, 627,
- 628, 629, 630, 631, 294, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, 632, 633, 634, -743, -743, -743,
- -743, 300, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, 301, -743, -743, -743, 302, 486, -743,
- 635, 637, -743, -743, 636, 640, -743, -743, 638, 642,
- -743, -743, 542, -743, 334, -743, -743, -743, -743, 643,
- 644, 645, 646, 472, 462, 492, 500, 501, 647, 648,
- 52, -743, -743, 182, -743, 590, 72, -743, 591, 250,
- -743, 592, 215, -743, 593, -21, -743, -743, 82, -743,
- 51, 594, -743, -1, -743, 595, 506, 507, 508, 509,
- 510, 514, 170, -743, 649, 650, 518, 519, 522, 111,
- -743, 653, 654, 37, -743, -743, -743, 659, 656, 123,
- -743, 596, 230, -743, 597, 68, -743, 598, 662, -743,
- 64, 601, -743, 353, 524, 525, 528, -743, -743, -743,
- -743, -743, 531, 532, -743, 310, -743, 661, -743, 663,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, 314, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, 666, 664,
- -743, -743, -743, -743, 317, -743, -743, -743, -743, -743,
- -743, -743, -743, 298, 534, -743, -743, -743, -743, 538,
- 553, -743, -743, 578, 323, -743, 325, -743, 667, -743,
- 581, -743, 675, -743, -743, -743, -743, -743, 343, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, 215, -743, 678,
- -743, 51, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, 684, 583, 689, 64, -743,
- -743, 585, -743, 665, -743, 599, -743, -743, 694, -743,
- -743, 371, -743, 23, 694, -743, -743, 692, 705, 709,
- 345, -743, -743, -743, -743, -743, -743, 712, 569, 589,
- 602, 23, -743, 600, -743, -743, -743, -743, -743
+ 406, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, 51, 27, 42, 115, 123,
+ 140, 159, 160, 170, 180, 194, 207, 208, 215, 221,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, 27, -88,
+ 36, 49, 32, 200, 150, 72, 141, 103, 92, 236,
+ -46, 351, 109, -750, 67, 240, 264, 279, 241, -750,
+ -750, -750, -750, -750, 285, -750, 34, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, 303, 319, 329, 339,
+ 341, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, 342, -750, -750, -750, 40, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, 344, -750, 54, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, 346, 352,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, 63,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, 71,
+ -750, -750, -750, -750, -750, 359, -750, 363, 364, -750,
+ -750, -750, -750, -750, 133, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, 290, 315, -750, -750, -750, -750, -750, -750,
+ -750, -750, 347, -750, -750, 366, -750, -750, -750, 369,
+ -750, -750, 370, 368, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, 371, 373, -750,
+ -750, -750, -750, 372, 378, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, 161, -750, -750,
+ -750, 379, -750, -750, 380, -750, 381, 383, -750, -750,
+ 386, 387, 389, -750, -750, -750, -750, -750, 162, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, 183, -750, -750, -750, 27,
+ 27, -750, 242, 390, 398, 400, 405, 407, -750, 36,
+ -750, 408, 409, 410, 220, 265, 266, 267, 268, 411,
+ 413, 414, 421, 424, 427, 428, 429, 430, 431, 432,
+ 433, 434, 288, 435, 437, 49, -750, 439, 289, 32,
+ -750, 440, 442, 443, 445, 446, 302, 295, 451, 467,
+ 468, 469, 200, -750, 473, 150, -750, 474, 325, 476,
+ 327, 328, 72, -750, 479, 480, 481, 482, 483, 484,
+ 485, -750, 141, -750, 489, 490, 343, 491, 494, 495,
+ 345, -750, 92, 496, 349, 350, -750, 236, 498, 499,
+ 7, -750, 353, 503, 504, 356, 507, 361, 362, 513,
+ 514, 365, 374, 375, 515, 518, 351, -750, 519, 109,
+ -750, -750, -750, 522, 520, 521, 27, 27, 27, -750,
+ 525, 526, 527, -750, -750, -750, -750, -750, 524, 530,
+ 531, 536, 384, 554, 555, 556, 557, 558, 559, 560,
+ 561, -750, 562, 563, -750, 566, -750, -750, 567, 568,
+ 412, 422, 423, -750, -750, 189, 425, 569, 570, -750,
+ 426, -750, 436, -750, 438, -750, -750, -750, 566, 566,
+ 566, 441, 444, 447, 448, -750, 449, 450, -750, 452,
+ 453, 454, -750, -750, 455, -750, -750, -750, 456, 27,
+ -750, -750, 457, 458, -750, 459, -750, -750, -43, 460,
+ -750, -750, -750, 116, 461, -750, 575, -750, 27, 49,
+ 109, -750, -750, -750, 32, 74, 74, 574, 576, 577,
+ -750, -750, -750, 578, -42, 27, 66, 579, 580, 68,
+ 96, 58, 351, -750, -750, 581, 583, -750, -750, -750,
+ -750, -750, -750, -750, -750, 585, 511, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, 588,
+ -750, 205, 227, 243, -750, -750, -750, -750, 592, 594,
+ 595, 600, 609, -750, -750, -750, 244, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ 262, -750, 610, 612, -750, -750, 611, 615, -750, -750,
+ 613, 617, -750, -750, 616, 618, -750, -750, -750, 44,
+ -750, -750, -750, 619, -750, -750, -750, 223, -750, -750,
+ -750, -750, 261, -750, -750, 620, 621, -750, 623, 624,
+ 625, 626, 627, 628, 263, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, 629, 630, 631, -750, -750, -750,
+ -750, 280, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, 283, -750, -750, -750, 287, 470, -750,
+ 632, 633, -750, -750, 634, 636, -750, -750, 635, 639,
+ -750, -750, 637, -750, 314, -750, -750, -750, -750, 640,
+ 642, 643, 644, 497, 487, 500, 493, 501, 646, 648,
+ 74, -750, -750, 200, -750, 574, 92, -750, 576, 236,
+ -750, 577, 367, -750, 578, -42, -750, -750, 66, -750,
+ 37, 579, -750, -46, -750, 580, 502, 505, 506, 508,
+ 509, 510, 68, -750, 649, 653, 512, 516, 517, 96,
+ -750, 654, 657, 58, -750, -750, -750, 659, 664, 150,
+ -750, 581, 72, -750, 583, 141, -750, 585, 665, -750,
+ 153, 588, -750, 321, 523, 529, 532, -750, -750, -750,
+ -750, -750, 534, 535, -750, 293, -750, 660, -750, 666,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, 294, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, 667, 669,
+ -750, -750, -750, -750, 297, -750, -750, -750, -750, -750,
+ -750, -750, -750, 235, 538, -750, -750, -750, -750, 540,
+ 543, -750, -750, 548, 301, -750, 305, -750, 670, -750,
+ 549, -750, 673, -750, -750, -750, -750, -750, 308, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, 367, -750, 675,
+ -750, 37, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, 680, 564, 705, 153, -750,
+ -750, 571, -750, 668, -750, 572, -750, -750, 703, -750,
+ -750, 322, -750, 70, 703, -750, -750, 708, 709, 711,
+ 311, -750, -750, -750, -750, -750, -750, 712, 565, 573,
+ 584, 70, -750, 591, -750, -750, -750, -750, -750
};
const unsigned short int
111, 112, 113, 355, 379, 245, 247, 249, 0, 0,
253, 251, 408, 447, 244, 226, 227, 228, 229, 0,
224, 233, 234, 235, 238, 240, 236, 237, 230, 231,
- 242, 243, 232, 239, 241, 373, 445, 372, 368, 0,
- 365, 367, 370, 371, 369, 401, 0, 404, 0, 0,
- 400, 394, 398, 399, 0, 389, 391, 392, 396, 397,
- 393, 395, 433, 435, 437, 439, 441, 443, 432, 429,
+ 242, 243, 232, 239, 241, 373, 372, 369, 368, 0,
+ 365, 367, 370, 371, 401, 0, 404, 0, 0, 400,
+ 395, 394, 398, 399, 0, 389, 391, 392, 396, 397,
+ 393, 445, 433, 435, 437, 439, 441, 443, 432, 429,
430, 431, 0, 419, 420, 424, 425, 422, 426, 427,
428, 423, 0, 315, 150, 0, 319, 317, 322, 0,
311, 312, 0, 299, 300, 302, 314, 303, 304, 305,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 71, 0, 0, 0,
107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 223, 0, 0, 0, 364, 0, 0,
- 0, 0, 0, 0, 388, 0, 0, 0, 0, 0,
+ 0, 0, 0, 223, 0, 0, 364, 0, 0, 0,
+ 0, 0, 0, 388, 0, 0, 0, 0, 0, 0,
0, 417, 0, 289, 0, 0, 0, 0, 0, 0,
0, 297, 0, 0, 0, 0, 334, 0, 0, 0,
0, 188, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 493, 0, 0, 73, 0, 117, 109, 0, 0,
0, 0, 0, 258, 259, 0, 0, 0, 0, 225,
- 0, 0, 366, 0, 403, 0, 406, 407, 390, 0,
+ 0, 366, 0, 403, 0, 406, 407, 390, 0, 0,
0, 0, 0, 0, 0, 421, 0, 0, 313, 0,
0, 0, 324, 301, 0, 353, 354, 338, 0, 0,
190, 530, 0, 0, 535, 0, 538, 539, 0, 0,
0, 559, 561, 563, 0, 0, 0, 216, 290, 327,
40, 376, 378, 262, 0, 47, 0, 0, 181, 0,
0, 0, 0, 51, 116, 357, 381, 246, 248, 250,
- 255, 256, 257, 254, 252, 410, 0, 374, 446, 402,
- 405, 434, 436, 438, 440, 442, 444, 316, 151, 320,
+ 255, 256, 257, 254, 252, 410, 0, 374, 402, 405,
+ 446, 434, 436, 438, 440, 442, 444, 316, 151, 320,
318, 323, 350, 195, 197, 532, 534, 537, 542, 543,
541, 545, 551, 552, 553, 554, 555, 550, 557, 0,
44, 0, 0, 0, 137, 143, 145, 147, 0, 0,
const short int
Dhcp6Parser::yypgoto_[] =
{
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -15, -743, 256, -743,
- -743, -743, -743, -743, -743, 163, -743, -349, -743, -743,
- -743, -70, -743, -743, -743, 407, -743, -743, -743, -743,
- 181, 363, -58, -55, -41, -38, -743, -743, -743, -743,
- -743, 203, 379, -743, -743, -743, -743, -743, -743, -743,
- 180, 5, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -60, -743, -553, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -6, -540, -743, -743, -743,
- -743, -8, -743, -743, -743, -743, -743, -743, -743, -743,
- -14, -743, -743, -743, -9, 348, -743, -743, -743, -743,
- -743, -743, -743, -17, -743, -743, -743, -743, -743, -743,
- -742, -743, -743, -743, 14, -743, -743, -743, 17, 399,
- -743, -743, -741, -743, -740, -743, -739, -743, -733, -743,
- -743, -743, -728, -743, -743, -743, -743, 7, -743, -743,
- -145, 697, -743, -743, -743, -743, -743, 19, -743, -743,
- -743, 22, -743, 374, -743, -65, -743, -743, -743, -743,
- -743, -62, -743, -743, -743, -743, -743, -4, -743, -743,
- -743, 21, -743, -743, -743, 16, -743, 366, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -13,
- -743, -743, -743, -19, 404, -743, -743, -48, -743, -26,
- -743, -743, -743, -743, -743, -12, -743, -743, -743, -11,
- 409, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -22, -743, -743, -743, -18, -743, 405, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -63, -743, -726, -743, -743, -743, -743, -743, -743,
- 18, -743, -743, -743, -128, -743, -743, -743, -743, -743,
- -743, 8, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, 1, -743, -743, -743, -743, -743,
- -743, -743, -743, 234, 364, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
- -743, -743, -743, -743, -743, -743, -743, -743, 259, 365,
- -743, -743, -743, -5, -743, -743, -135, -743, -743, -743,
- -743, -743, -743, -149, -743, -743, -163, -743, -743, -743,
- -743, -743
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, 6, -750, 105, -750,
+ -750, -750, -750, -750, -750, 82, -750, -139, -750, -750,
+ -750, -70, -750, -750, -750, 391, -750, -750, -750, -750,
+ 178, 355, -72, -58, -56, -55, -750, -750, -750, -750,
+ -750, 182, 377, -750, -750, -750, -750, -750, -750, -750,
+ 185, -16, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -7, -750, -553, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -28, -544, -750, -750, -750,
+ -750, -19, -750, -750, -750, -750, -750, -750, -750, -750,
+ -27, -750, -750, -750, -15, 333, -750, -750, -750, -750,
+ -750, -750, -750, -23, -750, -750, -750, -750, -750, -750,
+ -749, -750, -750, -750, 5, -750, -750, -750, 8, 385,
+ -750, -750, -746, -750, -742, -750, -34, -750, -741, -750,
+ -750, -750, -739, -750, -750, -750, -750, 2, -750, -750,
+ -147, 694, -750, -750, -750, -750, -750, 14, -750, -750,
+ -750, 18, -750, 376, -750, -65, -750, -750, -750, -750,
+ -750, -60, -750, -750, -750, -750, -750, -6, -750, -750,
+ -750, 15, -750, -750, -750, 16, -750, 360, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -21,
+ -750, -750, -750, -18, 393, -750, -750, -48, -750, -20,
+ -750, -750, -750, -750, -750, -17, -750, -750, -750, -13,
+ 392, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -24, -750, -750, -750, -14, -750, 395, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -733, -750, -750, -750, -750, -750, -750,
+ 21, -750, -750, -750, -135, -750, -750, -750, -750, -750,
+ -750, 9, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, 1, -750, -750, -750, -750, -750,
+ -750, -750, -750, 233, 382, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
+ -750, -750, -750, -750, -750, -750, -750, -750, 260, 388,
+ -750, -750, -750, -10, -750, -750, -136, -750, -750, -750,
+ -750, -750, -750, -150, -750, -750, -166, -750, -750, -750,
+ -750, -750
};
const short int
413, 278, 279, 280, 281, 189, 371, 720, 721, 722,
799, 51, 74, 199, 200, 201, 384, 147, 352, 148,
353, 192, 372, 724, 725, 726, 802, 53, 75, 214,
- 215, 216, 388, 217, 218, 390, 219, 220, 193, 380,
+ 215, 216, 387, 217, 218, 389, 219, 220, 193, 380,
728, 729, 730, 805, 55, 76, 232, 233, 234, 235,
395, 236, 396, 237, 397, 238, 398, 239, 399, 240,
- 400, 204, 385, 194, 381, 732, 808, 149, 358, 672,
+ 400, 241, 394, 194, 381, 732, 808, 149, 358, 672,
673, 770, 858, 859, 860, 861, 862, 919, 150, 361,
701, 702, 703, 784, 926, 704, 705, 785, 706, 707,
151, 152, 363, 713, 714, 715, 791, 716, 792, 153,
const unsigned short int
Dhcp6Parser::yytable_[] =
{
- 95, 38, 156, 174, 197, 210, 228, 698, 250, 269,
- 286, 305, 221, 241, 271, 175, 666, 272, 176, 270,
- 837, 838, 839, 840, 161, 190, 202, 212, 230, 841,
- 264, 282, 177, 306, 842, 178, 848, 31, 89, 32,
- 103, 33, 765, 104, 105, 766, 162, 191, 203, 213,
- 231, 768, 265, 283, 769, 307, 657, 154, 155, 30,
- 106, 107, 108, 109, 110, 111, 112, 113, 614, 188,
- 198, 211, 229, 615, 616, 617, 618, 619, 620, 621,
- 622, 623, 624, 284, 285, 114, 115, 339, 243, 113,
- 244, 244, 340, 114, 115, 42, 116, 117, 118, 119,
- 120, 114, 115, 244, 365, 369, 113, 114, 115, 366,
- 370, 244, 121, 245, 246, 122, 44, 247, 248, 249,
- 114, 115, 123, 852, 114, 115, 46, 692, 114, 115,
- 124, 125, 658, 382, 126, 48, 619, 86, 383, 196,
- 708, 709, 578, 222, 223, 224, 225, 226, 227, 386,
- 581, 582, 94, 956, 387, 90, 957, 958, 959, 657,
- 664, 113, 665, 50, 91, 92, 93, 114, 115, 393,
- 771, 52, 195, 772, 394, 837, 838, 839, 840, 114,
- 115, 94, 94, 54, 841, 34, 35, 36, 37, 842,
- 94, 848, 420, 891, 196, 892, 893, 421, 94, 56,
- 602, 603, 604, 605, 94, 94, 58, 436, 693, 694,
- 695, 696, 437, 106, 107, 108, 109, 94, 60, 439,
- 113, 94, 365, 112, 440, 94, 439, 736, 666, 369,
- 163, 737, 164, 606, 738, 62, 698, 328, 114, 115,
- 165, 166, 167, 168, 169, 170, 106, 107, 108, 109,
- 64, 111, 66, 113, 244, 171, 172, 678, 679, 680,
- 681, 682, 683, 173, 94, 750, 324, 329, 113, 95,
- 751, 114, 115, 330, 166, 167, 94, 169, 170, 284,
- 285, 205, 206, 207, 208, 209, 114, 115, 171, 244,
- 266, 245, 246, 267, 268, 750, 173, 782, 331, 156,
- 752, 196, 783, 789, 793, 436, 114, 115, 790, 794,
- 795, 332, 174, 382, 441, 442, 197, 917, 914, 401,
- 420, 161, 918, 210, 175, 922, 386, 176, 393, 402,
- 221, 931, 228, 932, 190, 94, 338, 811, 202, 241,
- 812, 177, 250, 162, 178, 212, 938, 269, 971, 598,
- 599, 939, 271, 972, 230, 272, 191, 270, 344, 345,
- 203, 114, 115, 346, 264, 347, 305, 213, 94, 282,
- 904, 905, 906, 907, 954, 403, 231, 955, 188, 570,
- 571, 572, 198, 94, 348, 362, 265, 368, 306, 211,
- 376, 283, 923, 924, 925, 377, 389, 391, 229, 392,
- 406, 410, 411, 94, 412, 443, 414, 415, 416, 417,
- 307, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- 300, 301, 302, 303, 304, 422, 425, 427, 428, 431,
- 432, 541, 542, 543, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 433, 444,
- 445, 446, 447, 448, 450, 451, 452, 453, 94, 458,
- 454, 455, 459, 456, 460, 461, 457, 462, 463, 464,
- 465, 466, 467, 468, 156, 625, 625, 469, 470, 472,
- 473, 471, 475, 478, 476, 633, 633, 479, 480, 481,
- 697, 710, 305, 482, 483, 484, 161, 485, 486, 487,
- 488, 490, 491, 493, 594, 494, 495, 499, 500, 501,
- 496, 497, 699, 711, 306, 502, 503, 504, 162, 506,
- 507, 509, 508, 610, 510, 511, 512, 514, 515, 516,
- 518, 519, 521, 522, 700, 712, 307, 523, 524, 525,
- 528, 526, 527, 529, 533, 530, 531, 534, 536, 538,
- 809, 601, 547, 539, 532, 540, 544, 545, 546, 548,
- 549, 552, 553, 32, 554, 555, 556, 557, 558, 567,
- 568, 559, 560, 561, 562, 563, 565, 566, 575, 609,
- 569, 574, 576, 577, 579, 580, 583, 584, 585, 586,
- 587, 588, 589, 590, 591, 592, 593, 641, 645, 649,
- 653, 671, 674, 719, 723, 727, 595, 596, 733, 597,
- 608, 743, 731, 744, 745, 746, 747, 755, 818, 754,
- 758, 757, 760, 761, 763, 764, 817, 767, 775, 774,
- 776, 777, 778, 779, 780, 781, 786, 787, 788, 796,
- 801, 800, 803, 804, 806, 807, 819, 813, 814, 815,
- 816, 822, 823, 873, 874, 821, 820, 879, 880, 883,
- 866, 867, 868, 869, 870, 882, 890, 921, 871, 915,
- 948, 916, 875, 876, 920, 933, 877, 909, 910, 936,
- 625, 911, 941, 174, 912, 913, 250, 927, 943, 269,
- 633, 928, 831, 945, 271, 175, 968, 272, 176, 270,
- 853, 950, 836, 286, 832, 190, 929, 833, 264, 969,
- 854, 282, 177, 970, 846, 178, 973, 550, 663, 697,
- 611, 834, 856, 710, 835, 974, 640, 191, 474, 197,
- 265, 930, 210, 283, 934, 228, 847, 944, 947, 221,
- 894, 699, 241, 975, 857, 711, 449, 613, 477, 188,
- 895, 202, 949, 978, 212, 824, 976, 230, 845, 850,
- 851, 865, 896, 700, 864, 872, 855, 712, 520, 826,
- 825, 849, 940, 203, 242, 829, 213, 828, 827, 231,
- 884, 489, 830, 517, 897, 889, 513, 888, 885, 863,
- 492, 886, 887, 942, 881, 198, 717, 878, 211, 612,
- 535, 229, 498, 946, 537, 966, 903, 505, 977, 0,
+ 95, 175, 156, 174, 196, 209, 228, 698, 250, 269,
+ 286, 305, 666, 837, 271, 176, 838, 177, 178, 272,
+ 839, 841, 38, 842, 161, 190, 202, 212, 230, 848,
+ 264, 282, 31, 306, 32, 657, 33, 339, 284, 285,
+ 197, 210, 340, 365, 154, 155, 89, 765, 366, 42,
+ 766, 30, 162, 191, 203, 213, 231, 369, 265, 283,
+ 103, 307, 370, 104, 105, 86, 382, 188, 198, 211,
+ 229, 383, 270, 328, 385, 113, 244, 598, 599, 386,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 614, 284, 285, 114, 115, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 114, 115, 94, 243, 852,
+ 113, 658, 692, 244, 114, 115, 116, 117, 118, 119,
+ 120, 619, 44, 204, 205, 206, 207, 208, 114, 115,
+ 46, 244, 121, 245, 246, 122, 392, 247, 248, 249,
+ 112, 393, 123, 657, 664, 171, 665, 48, 114, 115,
+ 124, 125, 114, 115, 126, 678, 679, 680, 681, 682,
+ 683, 708, 709, 90, 420, 436, 50, 52, 837, 421,
+ 437, 838, 91, 92, 93, 839, 841, 54, 842, 113,
+ 34, 35, 36, 37, 848, 94, 439, 56, 113, 94,
+ 94, 440, 244, 693, 694, 695, 696, 114, 115, 195,
+ 956, 58, 94, 957, 958, 959, 114, 115, 365, 114,
+ 115, 94, 221, 736, 60, 62, 222, 223, 224, 225,
+ 226, 227, 64, 171, 666, 94, 768, 94, 66, 769,
+ 439, 106, 107, 108, 109, 737, 698, 324, 113, 602,
+ 603, 604, 605, 329, 332, 94, 369, 750, 163, 94,
+ 164, 738, 751, 570, 571, 572, 114, 115, 165, 166,
+ 167, 168, 169, 170, 771, 750, 782, 772, 330, 95,
+ 752, 783, 606, 171, 172, 244, 266, 245, 246, 267,
+ 268, 173, 891, 789, 892, 893, 793, 331, 790, 338,
+ 436, 794, 114, 115, 94, 795, 382, 917, 401, 156,
+ 420, 914, 918, 94, 385, 922, 94, 344, 392, 931,
+ 175, 938, 174, 932, 971, 196, 939, 811, 402, 972,
+ 812, 161, 209, 345, 176, 954, 177, 178, 955, 923,
+ 924, 925, 228, 346, 190, 441, 442, 202, 904, 905,
+ 906, 907, 250, 347, 212, 348, 362, 269, 368, 162,
+ 376, 197, 271, 94, 230, 403, 377, 272, 210, 580,
+ 581, 582, 191, 388, 264, 203, 305, 390, 391, 282,
+ 406, 412, 213, 410, 453, 414, 188, 415, 411, 198,
+ 416, 417, 231, 422, 425, 427, 211, 428, 306, 94,
+ 431, 432, 265, 433, 444, 443, 229, 283, 106, 107,
+ 108, 109, 445, 111, 446, 113, 244, 114, 115, 447,
+ 270, 448, 450, 451, 452, 458, 307, 459, 460, 454,
+ 455, 456, 457, 114, 115, 461, 166, 167, 462, 169,
+ 170, 463, 464, 465, 466, 467, 468, 469, 470, 472,
+ 171, 473, 471, 475, 478, 476, 479, 480, 173, 481,
+ 482, 484, 541, 542, 543, 485, 483, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 486, 487, 488, 156, 625, 625, 490, 492, 493,
+ 494, 495, 496, 498, 499, 500, 501, 502, 503, 504,
+ 697, 710, 305, 506, 507, 509, 161, 508, 510, 511,
+ 514, 512, 518, 519, 94, 515, 516, 522, 523, 521,
+ 524, 525, 699, 711, 306, 526, 527, 528, 529, 533,
+ 94, 530, 534, 536, 162, 594, 538, 539, 540, 547,
+ 531, 532, 544, 545, 546, 548, 549, 552, 633, 633,
+ 700, 712, 307, 32, 610, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 553,
+ 554, 555, 556, 557, 558, 567, 550, 559, 560, 561,
+ 562, 563, 565, 566, 575, 568, 569, 576, 574, 577,
+ 609, 641, 601, 645, 649, 653, 671, 674, 719, 578,
+ 723, 579, 727, 731, 583, 733, 743, 584, 744, 745,
+ 585, 586, 587, 588, 746, 589, 590, 591, 592, 593,
+ 595, 596, 597, 747, 608, 755, 754, 757, 758, 760,
+ 761, 764, 763, 796, 775, 767, 774, 776, 777, 778,
+ 779, 780, 781, 786, 787, 788, 801, 663, 800, 804,
+ 803, 806, 807, 818, 813, 809, 814, 815, 816, 820,
+ 822, 817, 823, 873, 819, 821, 866, 874, 879, 867,
+ 868, 880, 869, 870, 871, 882, 875, 883, 915, 890,
+ 876, 877, 921, 948, 916, 920, 909, 936, 933, 941,
+ 625, 175, 910, 174, 943, 911, 250, 912, 913, 269,
+ 832, 927, 831, 928, 271, 176, 929, 177, 178, 272,
+ 853, 930, 934, 286, 833, 190, 834, 835, 264, 945,
+ 950, 282, 968, 969, 846, 970, 973, 611, 944, 697,
+ 474, 974, 856, 710, 947, 949, 613, 975, 840, 196,
+ 449, 640, 209, 191, 824, 228, 265, 850, 976, 283,
+ 894, 699, 847, 633, 978, 711, 477, 188, 865, 851,
+ 857, 202, 270, 520, 212, 836, 845, 230, 864, 872,
+ 826, 825, 896, 854, 855, 197, 849, 489, 210, 700,
+ 940, 242, 828, 712, 827, 829, 830, 517, 491, 203,
+ 885, 884, 213, 889, 497, 231, 942, 887, 513, 886,
+ 897, 888, 863, 198, 881, 717, 211, 505, 878, 229,
+ 612, 903, 946, 895, 966, 977, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 535, 0,
+ 0, 0, 0, 0, 0, 0, 0, 537, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 832, 0, 831, 0, 0,
+ 0, 853, 0, 0, 0, 0, 0, 0, 0, 833,
+ 0, 834, 835, 0, 0, 0, 0, 0, 894, 846,
+ 0, 0, 0, 856, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 840, 0, 0, 0, 0, 0, 0,
+ 896, 0, 0, 0, 0, 0, 0, 847, 0, 0,
+ 0, 857, 0, 0, 0, 0, 0, 0, 0, 0,
+ 836, 845, 0, 0, 854, 855, 0, 0, 897, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 831, 0, 0,
- 0, 853, 0, 0, 0, 0, 0, 836, 0, 832,
- 0, 854, 833, 0, 0, 0, 0, 0, 894, 846,
- 0, 0, 0, 856, 0, 0, 834, 0, 895, 835,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 896, 847, 0, 0, 0, 857, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 897, 845, 0, 0, 0, 855
+ 0, 895
};
const short int
Dhcp6Parser::yycheck_[] =
{
- 70, 16, 72, 73, 74, 75, 76, 560, 78, 79,
- 80, 81, 75, 76, 79, 73, 556, 79, 73, 79,
- 762, 762, 762, 762, 72, 73, 74, 75, 76, 762,
- 78, 79, 73, 81, 762, 73, 762, 5, 10, 7,
- 11, 9, 3, 14, 15, 6, 72, 73, 74, 75,
- 76, 3, 78, 79, 6, 81, 77, 12, 13, 0,
- 31, 32, 33, 34, 35, 36, 37, 38, 16, 73,
- 74, 75, 76, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 84, 85, 56, 57, 3, 16, 38,
- 39, 39, 8, 56, 57, 7, 67, 68, 69, 70,
- 71, 56, 57, 39, 3, 3, 38, 56, 57, 8,
- 8, 39, 83, 41, 42, 86, 7, 45, 46, 47,
- 56, 57, 93, 72, 56, 57, 7, 16, 56, 57,
- 101, 102, 153, 3, 105, 7, 25, 153, 8, 71,
- 103, 104, 491, 75, 76, 77, 78, 79, 80, 3,
- 499, 500, 153, 130, 8, 127, 133, 134, 135, 77,
- 78, 38, 80, 7, 136, 137, 138, 56, 57, 3,
- 3, 7, 49, 6, 8, 917, 917, 917, 917, 56,
- 57, 153, 153, 7, 917, 153, 154, 155, 156, 917,
- 153, 917, 3, 129, 71, 131, 132, 8, 153, 7,
- 123, 124, 125, 126, 153, 153, 7, 3, 97, 98,
- 99, 100, 8, 31, 32, 33, 34, 153, 7, 3,
- 38, 153, 3, 37, 8, 153, 3, 8, 768, 3,
- 48, 8, 50, 156, 8, 7, 789, 6, 56, 57,
- 58, 59, 60, 61, 62, 63, 31, 32, 33, 34,
- 7, 36, 7, 38, 39, 73, 74, 87, 88, 89,
- 90, 91, 92, 81, 153, 3, 128, 3, 38, 339,
- 8, 56, 57, 4, 59, 60, 153, 62, 63, 84,
- 85, 51, 52, 53, 54, 55, 56, 57, 73, 39,
- 40, 41, 42, 43, 44, 3, 81, 3, 8, 369,
- 8, 71, 8, 3, 3, 3, 56, 57, 8, 8,
- 8, 3, 382, 3, 329, 330, 386, 3, 8, 8,
- 3, 369, 8, 393, 382, 8, 3, 382, 3, 3,
- 393, 8, 402, 8, 382, 153, 4, 3, 386, 402,
- 6, 382, 412, 369, 382, 393, 3, 417, 3, 120,
- 121, 8, 417, 8, 402, 417, 382, 417, 4, 4,
- 386, 56, 57, 4, 412, 4, 436, 393, 153, 417,
- 17, 18, 19, 20, 3, 8, 402, 6, 382, 64,
- 65, 66, 386, 153, 4, 4, 412, 4, 436, 393,
- 4, 417, 94, 95, 96, 4, 4, 4, 402, 4,
- 4, 4, 8, 153, 3, 153, 4, 4, 8, 3,
- 436, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 4, 4, 4, 4, 4,
- 4, 446, 447, 448, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 154, 153, 4,
- 154, 154, 4, 154, 4, 4, 154, 4, 4, 4,
- 4, 4, 4, 4, 544, 545, 546, 4, 4, 4,
- 4, 154, 4, 4, 156, 545, 546, 4, 4, 4,
- 560, 561, 562, 4, 154, 156, 544, 4, 4, 4,
- 4, 4, 4, 4, 519, 154, 4, 4, 4, 4,
- 154, 154, 560, 561, 562, 4, 4, 4, 544, 4,
- 4, 4, 154, 538, 4, 4, 156, 4, 156, 156,
- 4, 4, 156, 4, 560, 561, 562, 4, 154, 4,
- 4, 154, 154, 4, 4, 156, 156, 4, 4, 4,
- 8, 122, 5, 7, 156, 7, 7, 7, 7, 5,
- 5, 153, 5, 7, 5, 5, 5, 5, 5, 153,
- 153, 7, 7, 7, 7, 5, 5, 5, 5, 5,
- 153, 153, 7, 153, 153, 153, 153, 153, 153, 153,
- 153, 153, 153, 153, 153, 153, 153, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 153, 153, 7, 153,
- 153, 4, 82, 4, 4, 4, 4, 3, 156, 6,
- 3, 6, 6, 3, 6, 3, 154, 6, 3, 6,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 153,
- 3, 6, 6, 3, 6, 3, 154, 4, 4, 4,
- 4, 4, 4, 4, 4, 154, 156, 4, 4, 3,
- 154, 154, 154, 154, 154, 6, 4, 3, 154, 8,
- 5, 8, 154, 154, 8, 8, 154, 153, 153, 4,
- 750, 153, 4, 753, 153, 153, 756, 153, 4, 759,
- 750, 153, 762, 4, 759, 753, 4, 759, 753, 759,
- 770, 7, 762, 773, 762, 753, 153, 762, 756, 4,
- 770, 759, 753, 4, 762, 753, 4, 461, 555, 789,
- 539, 762, 770, 793, 762, 156, 546, 753, 365, 799,
- 756, 153, 802, 759, 153, 805, 762, 154, 153, 802,
- 810, 789, 805, 154, 770, 793, 339, 544, 369, 753,
- 810, 799, 153, 153, 802, 750, 154, 805, 762, 765,
- 768, 775, 810, 789, 773, 782, 770, 793, 420, 755,
- 753, 764, 917, 799, 77, 759, 802, 758, 756, 805,
- 799, 382, 761, 417, 810, 807, 412, 805, 801, 771,
- 386, 802, 804, 921, 793, 799, 562, 789, 802, 540,
- 436, 805, 393, 938, 439, 954, 811, 402, 971, -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, 917, -1, -1,
- -1, 921, -1, -1, -1, -1, -1, 917, -1, 917,
- -1, 921, 917, -1, -1, -1, -1, -1, 938, 917,
- -1, -1, -1, 921, -1, -1, 917, -1, 938, 917,
+ 70, 73, 72, 73, 74, 75, 76, 560, 78, 79,
+ 80, 81, 556, 762, 79, 73, 762, 73, 73, 79,
+ 762, 762, 16, 762, 72, 73, 74, 75, 76, 762,
+ 78, 79, 5, 81, 7, 77, 9, 3, 84, 85,
+ 74, 75, 8, 3, 12, 13, 10, 3, 8, 7,
+ 6, 0, 72, 73, 74, 75, 76, 3, 78, 79,
+ 11, 81, 8, 14, 15, 153, 3, 73, 74, 75,
+ 76, 8, 79, 6, 3, 38, 39, 120, 121, 8,
+ 31, 32, 33, 34, 35, 36, 37, 38, 56, 57,
+ 16, 84, 85, 56, 57, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 56, 57, 153, 16, 72,
+ 38, 153, 16, 39, 56, 57, 67, 68, 69, 70,
+ 71, 25, 7, 51, 52, 53, 54, 55, 56, 57,
+ 7, 39, 83, 41, 42, 86, 3, 45, 46, 47,
+ 37, 8, 93, 77, 78, 73, 80, 7, 56, 57,
+ 101, 102, 56, 57, 105, 87, 88, 89, 90, 91,
+ 92, 103, 104, 127, 3, 3, 7, 7, 917, 8,
+ 8, 917, 136, 137, 138, 917, 917, 7, 917, 38,
+ 153, 154, 155, 156, 917, 153, 3, 7, 38, 153,
+ 153, 8, 39, 97, 98, 99, 100, 56, 57, 49,
+ 130, 7, 153, 133, 134, 135, 56, 57, 3, 56,
+ 57, 153, 71, 8, 7, 7, 75, 76, 77, 78,
+ 79, 80, 7, 73, 768, 153, 3, 153, 7, 6,
+ 3, 31, 32, 33, 34, 8, 789, 128, 38, 123,
+ 124, 125, 126, 3, 3, 153, 3, 3, 48, 153,
+ 50, 8, 8, 64, 65, 66, 56, 57, 58, 59,
+ 60, 61, 62, 63, 3, 3, 3, 6, 4, 339,
+ 8, 8, 156, 73, 74, 39, 40, 41, 42, 43,
+ 44, 81, 129, 3, 131, 132, 3, 8, 8, 4,
+ 3, 8, 56, 57, 153, 8, 3, 3, 8, 369,
+ 3, 8, 8, 153, 3, 8, 153, 4, 3, 8,
+ 382, 3, 382, 8, 3, 385, 8, 3, 3, 8,
+ 6, 369, 392, 4, 382, 3, 382, 382, 6, 94,
+ 95, 96, 402, 4, 382, 329, 330, 385, 17, 18,
+ 19, 20, 412, 4, 392, 4, 4, 417, 4, 369,
+ 4, 385, 417, 153, 402, 8, 4, 417, 392, 498,
+ 499, 500, 382, 4, 412, 385, 436, 4, 4, 417,
+ 4, 3, 392, 4, 154, 4, 382, 4, 8, 385,
+ 8, 3, 402, 4, 4, 4, 392, 4, 436, 153,
+ 4, 4, 412, 4, 4, 153, 402, 417, 31, 32,
+ 33, 34, 4, 36, 4, 38, 39, 56, 57, 4,
+ 417, 4, 4, 4, 4, 4, 436, 4, 4, 154,
+ 154, 154, 154, 56, 57, 4, 59, 60, 4, 62,
+ 63, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 73, 4, 154, 4, 4, 156, 4, 4, 81, 4,
+ 4, 156, 446, 447, 448, 4, 154, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 4, 4, 4, 544, 545, 546, 4, 4, 154,
+ 4, 154, 154, 4, 4, 4, 4, 4, 4, 4,
+ 560, 561, 562, 4, 4, 4, 544, 154, 4, 4,
+ 4, 156, 4, 4, 153, 156, 156, 4, 4, 156,
+ 154, 4, 560, 561, 562, 154, 154, 4, 4, 4,
+ 153, 156, 4, 4, 544, 519, 4, 7, 7, 5,
+ 156, 156, 7, 7, 7, 5, 5, 153, 545, 546,
+ 560, 561, 562, 7, 538, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 5,
+ 5, 5, 5, 5, 5, 153, 461, 7, 7, 7,
+ 7, 5, 5, 5, 5, 153, 153, 7, 153, 153,
+ 5, 7, 122, 7, 7, 7, 7, 7, 7, 153,
+ 7, 153, 7, 82, 153, 7, 4, 153, 4, 4,
+ 153, 153, 153, 153, 4, 153, 153, 153, 153, 153,
+ 153, 153, 153, 4, 153, 3, 6, 6, 3, 6,
+ 3, 3, 6, 153, 3, 6, 6, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 3, 555, 6, 3,
+ 6, 6, 3, 156, 4, 8, 4, 4, 4, 156,
+ 4, 154, 4, 4, 154, 154, 154, 4, 4, 154,
+ 154, 4, 154, 154, 154, 6, 154, 3, 8, 4,
+ 154, 154, 3, 5, 8, 8, 153, 4, 8, 4,
+ 750, 753, 153, 753, 4, 153, 756, 153, 153, 759,
+ 762, 153, 762, 153, 759, 753, 153, 753, 753, 759,
+ 770, 153, 153, 773, 762, 753, 762, 762, 756, 4,
+ 7, 759, 4, 4, 762, 4, 4, 539, 154, 789,
+ 365, 156, 770, 793, 153, 153, 544, 154, 762, 799,
+ 339, 546, 802, 753, 750, 805, 756, 765, 154, 759,
+ 810, 789, 762, 750, 153, 793, 369, 753, 775, 768,
+ 770, 799, 759, 420, 802, 762, 762, 805, 773, 782,
+ 755, 753, 810, 770, 770, 799, 764, 382, 802, 789,
+ 917, 77, 758, 793, 756, 759, 761, 417, 385, 799,
+ 801, 799, 802, 807, 392, 805, 921, 804, 412, 802,
+ 810, 805, 771, 799, 793, 562, 802, 402, 789, 805,
+ 540, 811, 938, 810, 954, 971, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 436, -1,
+ -1, -1, -1, -1, -1, -1, -1, 439, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 938, 917, -1, -1, -1, 921, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 917, -1, 917, -1, -1,
+ -1, 921, -1, -1, -1, -1, -1, -1, -1, 917,
+ -1, 917, 917, -1, -1, -1, -1, -1, 938, 917,
+ -1, -1, -1, 921, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 917, -1, -1, -1, -1, -1, -1,
+ 938, -1, -1, -1, -1, -1, -1, 917, -1, -1,
+ -1, 921, -1, -1, -1, -1, -1, -1, -1, -1,
+ 917, 917, -1, -1, 921, 921, -1, -1, 938, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 938, 917, -1, -1, -1, 921
+ -1, 938
};
const unsigned short int
212, 364, 366, 48, 50, 58, 59, 60, 61, 62,
63, 73, 74, 81, 188, 199, 200, 201, 202, 285,
286, 287, 289, 291, 293, 295, 298, 299, 334, 352,
- 364, 366, 368, 385, 410, 49, 71, 188, 334, 360,
- 361, 362, 364, 366, 408, 51, 52, 53, 54, 55,
- 188, 334, 364, 366, 376, 377, 378, 380, 381, 383,
- 384, 408, 75, 76, 77, 78, 79, 80, 188, 334,
+ 364, 366, 368, 385, 410, 49, 188, 293, 334, 360,
+ 361, 362, 364, 366, 51, 52, 53, 54, 55, 188,
+ 293, 334, 364, 366, 376, 377, 378, 380, 381, 383,
+ 384, 71, 75, 76, 77, 78, 79, 80, 188, 334,
364, 366, 393, 394, 395, 396, 398, 400, 402, 404,
406, 408, 308, 16, 39, 41, 42, 45, 46, 47,
188, 229, 318, 319, 320, 321, 322, 323, 324, 326,
309, 335, 365, 367, 301, 240, 252, 246, 415, 254,
268, 426, 4, 439, 447, 3, 8, 211, 4, 3,
8, 353, 369, 288, 290, 292, 4, 4, 296, 294,
- 386, 411, 3, 8, 363, 409, 3, 8, 379, 4,
- 382, 4, 4, 3, 8, 397, 399, 401, 403, 405,
+ 386, 411, 3, 8, 363, 3, 8, 379, 4, 382,
+ 4, 4, 3, 8, 409, 397, 399, 401, 403, 405,
407, 8, 3, 8, 325, 230, 4, 329, 327, 332,
4, 8, 3, 347, 4, 4, 8, 3, 264, 266,
3, 8, 4, 454, 456, 4, 459, 4, 4, 463,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 154, 4, 4, 198, 4, 156, 209, 4, 4,
4, 4, 4, 154, 156, 4, 4, 4, 4, 286,
- 4, 4, 361, 4, 154, 4, 154, 154, 377, 4,
+ 4, 361, 4, 154, 4, 154, 154, 377, 4, 4,
4, 4, 4, 4, 4, 395, 4, 4, 154, 4,
4, 4, 156, 320, 4, 156, 156, 344, 4, 4,
262, 156, 4, 4, 154, 4, 154, 154, 4, 4,
7, 173, 173, 173, 7, 7, 7, 5, 5, 5,
175, 177, 153, 5, 5, 5, 5, 5, 5, 7,
7, 7, 7, 5, 184, 5, 5, 153, 153, 153,
- 64, 65, 66, 297, 153, 5, 7, 153, 184, 153,
- 153, 184, 184, 153, 153, 153, 153, 153, 153, 153,
+ 64, 65, 66, 297, 153, 5, 7, 153, 153, 153,
+ 184, 184, 184, 153, 153, 153, 153, 153, 153, 153,
153, 153, 153, 153, 173, 153, 153, 153, 120, 121,
464, 122, 123, 124, 125, 126, 156, 472, 153, 5,
173, 197, 485, 208, 16, 21, 22, 23, 24, 25,
"$@76", "sub_reservation", "$@77", "reservation_params",
"not_empty_reservation_params", "reservation_param", "ip_addresses",
"$@78", "prefixes", "$@79", "duid", "$@80", "hw_address", "$@81",
- "hostname", "$@82", "flex_id_value", "$@83", "client_class_names_list",
- "$@84", "relay", "$@85", "relay_map", "$@86", "client_classes", "$@87",
- "client_classes_list", "client_class_entry", "$@88",
- "client_class_params", "not_empty_client_class_params",
- "client_class_param", "client_class_name", "client_class_test", "$@89",
- "server_id", "$@90", "server_id_params", "server_id_param",
- "server_id_type", "$@91", "duid_type", "htype", "identifier", "$@92",
- "time", "enterprise_id", "dhcp4o6_port", "control_socket", "$@93",
- "control_socket_params", "control_socket_param", "socket_type", "$@94",
- "socket_name", "$@95", "dhcp_ddns", "$@96", "sub_dhcp_ddns", "$@97",
- "dhcp_ddns_params", "dhcp_ddns_param", "enable_updates",
- "qualifying_suffix", "$@98", "server_ip", "$@99", "server_port",
- "sender_ip", "$@100", "sender_port", "max_queue_size", "ncr_protocol",
- "$@101", "ncr_protocol_value", "ncr_format", "$@102",
- "always_include_fqdn", "override_no_update", "override_client_update",
- "replace_client_name", "$@103", "replace_client_name_value",
- "generated_prefix", "$@104", "dhcp4_json_object", "$@105",
- "dhcpddns_json_object", "$@106", "control_agent_json_object", "$@107",
- "logging_object", "$@108", "sub_logging", "$@109", "logging_params",
- "logging_param", "loggers", "$@110", "loggers_entries", "logger_entry",
- "$@111", "logger_params", "logger_param", "debuglevel", "severity",
- "$@112", "output_options_list", "$@113", "output_options_list_content",
- "output_entry", "$@114", "output_params_list", "output_params", "output",
- "$@115", "flush", "maxsize", "maxver", YY_NULLPTR
+ "hostname", "$@82", "flex_id_value", "$@83",
+ "reservation_client_classes", "$@84", "relay", "$@85", "relay_map",
+ "$@86", "client_classes", "$@87", "client_classes_list",
+ "client_class_entry", "$@88", "client_class_params",
+ "not_empty_client_class_params", "client_class_param",
+ "client_class_name", "client_class_test", "$@89", "server_id", "$@90",
+ "server_id_params", "server_id_param", "server_id_type", "$@91",
+ "duid_type", "htype", "identifier", "$@92", "time", "enterprise_id",
+ "dhcp4o6_port", "control_socket", "$@93", "control_socket_params",
+ "control_socket_param", "socket_type", "$@94", "socket_name", "$@95",
+ "dhcp_ddns", "$@96", "sub_dhcp_ddns", "$@97", "dhcp_ddns_params",
+ "dhcp_ddns_param", "enable_updates", "qualifying_suffix", "$@98",
+ "server_ip", "$@99", "server_port", "sender_ip", "$@100", "sender_port",
+ "max_queue_size", "ncr_protocol", "$@101", "ncr_protocol_value",
+ "ncr_format", "$@102", "always_include_fqdn", "override_no_update",
+ "override_client_update", "replace_client_name", "$@103",
+ "replace_client_name_value", "generated_prefix", "$@104",
+ "dhcp4_json_object", "$@105", "dhcpddns_json_object", "$@106",
+ "control_agent_json_object", "$@107", "logging_object", "$@108",
+ "sub_logging", "$@109", "logging_params", "logging_param", "loggers",
+ "$@110", "loggers_entries", "logger_entry", "$@111", "logger_params",
+ "logger_param", "debuglevel", "severity", "$@112", "output_options_list",
+ "$@113", "output_options_list_content", "output_entry", "$@114",
+ "output_params_list", "output_params", "output", "$@115", "flush",
+ "maxsize", "maxver", YY_NULLPTR
};
#if PARSER6_DEBUG
1559, 1567, 1567, 1575, 1575, 1583, 1583, 1596, 1596, 1606,
1606, 1617, 1617, 1627, 1628, 1631, 1631, 1641, 1642, 1645,
1646, 1649, 1650, 1651, 1652, 1653, 1654, 1657, 1659, 1659,
- 1671, 1671, 1683, 1684, 1687, 1688, 1689, 1690, 1691, 1692,
- 1693, 1694, 1695, 1698, 1698, 1705, 1706, 1707, 1710, 1715,
- 1715, 1723, 1728, 1735, 1742, 1742, 1752, 1753, 1756, 1757,
- 1758, 1759, 1760, 1763, 1763, 1771, 1771, 1781, 1781, 1793,
- 1793, 1803, 1804, 1807, 1808, 1809, 1810, 1811, 1812, 1813,
- 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823,
- 1826, 1831, 1831, 1839, 1839, 1847, 1852, 1852, 1860, 1865,
- 1870, 1870, 1878, 1879, 1882, 1882, 1890, 1895, 1900, 1905,
- 1905, 1913, 1916, 1919, 1922, 1925, 1931, 1931, 1941, 1941,
- 1948, 1948, 1955, 1955, 1968, 1968, 1978, 1978, 1989, 1990,
- 1994, 1998, 1998, 2010, 2011, 2015, 2015, 2023, 2024, 2027,
- 2028, 2029, 2030, 2031, 2032, 2033, 2036, 2041, 2041, 2049,
- 2049, 2059, 2060, 2063, 2063, 2071, 2072, 2075, 2076, 2077,
- 2078, 2081, 2081, 2089, 2094, 2099
+ 1670, 1670, 1682, 1683, 1686, 1687, 1688, 1689, 1690, 1691,
+ 1692, 1693, 1694, 1697, 1697, 1704, 1705, 1706, 1709, 1714,
+ 1714, 1722, 1727, 1734, 1741, 1741, 1751, 1752, 1755, 1756,
+ 1757, 1758, 1759, 1762, 1762, 1770, 1770, 1780, 1780, 1792,
+ 1792, 1802, 1803, 1806, 1807, 1808, 1809, 1810, 1811, 1812,
+ 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822,
+ 1825, 1830, 1830, 1838, 1838, 1846, 1851, 1851, 1859, 1864,
+ 1869, 1869, 1877, 1878, 1881, 1881, 1889, 1894, 1899, 1904,
+ 1904, 1912, 1915, 1918, 1921, 1924, 1930, 1930, 1940, 1940,
+ 1947, 1947, 1954, 1954, 1967, 1967, 1977, 1977, 1988, 1989,
+ 1993, 1997, 1997, 2009, 2010, 2014, 2014, 2022, 2023, 2026,
+ 2027, 2028, 2029, 2030, 2031, 2032, 2035, 2040, 2040, 2048,
+ 2048, 2058, 2059, 2062, 2062, 2070, 2071, 2074, 2075, 2076,
+ 2077, 2080, 2080, 2088, 2093, 2098
};
// Print the state stack on the debug stream.
#line 14 "dhcp6_parser.yy" // lalr1.cc:1167
} } // isc::dhcp
-#line 4588 "dhcp6_parser.cc" // lalr1.cc:1167
-#line 2104 "dhcp6_parser.yy" // lalr1.cc:1168
+#line 4593 "dhcp6_parser.cc" // lalr1.cc:1167
+#line 2103 "dhcp6_parser.yy" // lalr1.cc:1168
void
enum
{
yyeof_ = 0,
- yylast_ = 917, ///< Last index in yytable_.
+ yylast_ = 931, ///< Last index in yytable_.
yynnts_ = 352, ///< Number of nonterminal symbols.
yyfinal_ = 30, ///< Termination state number.
yyterror_ = 1,
pool_param: pool_entry
| option_data_list
- | client_class_names_list
+ | client_class
| user_context
| comment
| unknown_map_entry
| pd_prefix_len
| pd_delegated_len
| option_data_list
- | client_class_names_list
+ | client_class
| excluded_prefix
| excluded_prefix_len
| user_context
/// @todo probably need to add mac-address as well here
reservation_param: duid
- | client_class_names_list
+ | reservation_client_classes
| ip_addresses
| prefixes
| hw_address
ctx.leave();
};
-client_class_names_list: CLIENT_CLASSES {
+reservation_client_classes: CLIENT_CLASSES {
ElementPtr c(new ListElement(ctx.loc2pos(@1)));
ctx.stack_.back()->set("client-classes", c);
ctx.stack_.push_back(c);
ctx.leave();
};
-
// --- end of client classes ---------------------------------
// --- server-id ---------------------------------------------
" { \"pools\": [ "
" { "
" \"pool\": \"2001:db8:1::/64\", "
- " \"client-classes\": [ \"foo\" ] "
+ " \"client-class\": \"foo\" "
" }, "
" { "
" \"pool\": \"2001:db8:2::/64\", "
- " \"client-classes\": [ \"xyzzy\" ] "
+ " \"client-class\": \"xyzzy\" "
" } "
" ], "
" \"subnet\": \"2001:db8:2::/40\" "
"\"subnet6\": [ { "
" \"pools\": [ { "
" \"pool\": \"2001:db8:1::/80\", "
- " \"client-classes\": [ \"alpha\" ] "
+ " \"client-class\": \"alpha\" "
" },"
" {"
" \"pool\": \"2001:db8:2::/80\", "
- " \"client-classes\": [ \"beta\" ] "
+ " \"client-class\": \"beta\" "
" },"
" {"
" \"pool\": \"2001:db8:3::/80\", "
- " \"client-classes\": [ \"gamma\" ] "
+ " \"client-class\": \"gamma\" "
" },"
" {"
" \"pool\": \"2001:db8:4::/80\" "
" \"pd-pools\": [ { "
" \"prefix-len\": 48, "
" \"delegated-len\": 64, "
- " \"prefix\": \"2001:db8:1::\", \n"
- " \"client-classes\": [ \"alpha\" ]\n "
+ " \"prefix\": \"2001:db8:1::\", "
+ " \"client-class\": \"alpha\" "
" },"
" {"
" \"prefix-len\": 48, "
" \"delegated-len\": 64, "
" \"prefix\": \"2001:db8:2::\", "
- " \"client-classes\": [ \"beta\" ]\n "
+ " \"client-class\": \"beta\" "
" },"
" {"
" \"prefix-len\": 48, "
" \"delegated-len\": 64, "
" \"prefix\": \"2001:db8:3::\", "
- " \"client-classes\": [ \"gamma\" ]\n "
+ " \"client-class\": \"gamma\" "
" },"
" {"
" \"prefix-len\": 48, "
" {\n"
" \"pools\": [\n"
" {\n"
-" \"client-classes\": [ \"alpha\" ],\n"
+" \"client-class\": \"alpha\",\n"
" \"pool\": \"2001:db8:1::/80\"\n"
" },\n"
" {\n"
-" \"client-classes\": [ \"beta\" ],\n"
+" \"client-class\": \"beta\",\n"
" \"pool\": \"2001:db8:2::/80\"\n"
" },\n"
" {\n"
-" \"client-classes\": [ \"gamma\" ],\n"
+" \"client-class\": \"gamma\",\n"
" \"pool\": \"2001:db8:3::/80\"\n"
" },\n"
" {\n"
" {\n"
" \"pd-pools\": [\n"
" {\n"
-" \"client-classes\": [ \"alpha\" ],\n"
+" \"client-class\": \"alpha\",\n"
" \"delegated-len\": 64,\n"
" \"prefix\": \"2001:db8:1::\",\n"
" \"prefix-len\": 48\n"
" },\n"
" {\n"
-" \"client-classes\": [ \"beta\" ],\n"
+" \"client-class\": \"beta\",\n"
" \"delegated-len\": 64,\n"
" \"prefix\": \"2001:db8:2::\",\n"
" \"prefix-len\": 48\n"
" },\n"
" {\n"
-" \"client-classes\": [ \"gamma\" ],\n"
+" \"client-class\": \"gamma\",\n"
" \"delegated-len\": 64,\n"
" \"prefix\": \"2001:db8:3::\",\n"
" \"prefix-len\": 48\n"
" \"pd-pools\": [ ],\n"
" \"pools\": [\n"
" {\n"
-" \"client-classes\": [ \"alpha\" ],\n"
+" \"client-class\": \"alpha\",\n"
" \"option-data\": [ ],\n"
" \"pool\": \"2001:db8:1::/80\"\n"
" },\n"
" {\n"
-" \"client-classes\": [ \"beta\" ],\n"
+" \"client-class\": \"beta\",\n"
" \"option-data\": [ ],\n"
" \"pool\": \"2001:db8:2::/80\"\n"
" },\n"
" {\n"
-" \"client-classes\": [ \"gamma\" ],\n"
+" \"client-class\": \"gamma\",\n"
" \"option-data\": [ ],\n"
" \"pool\": \"2001:db8:3::/80\"\n"
" },\n"
" \"option-data\": [ ],\n"
" \"pd-pools\": [\n"
" {\n"
-" \"client-classes\": [ \"alpha\" ],\n"
+" \"client-class\": \"alpha\",\n"
" \"delegated-len\": 64,\n"
" \"option-data\": [ ],\n"
" \"prefix\": \"2001:db8:1::\",\n"
" \"prefix-len\": 48\n"
" },\n"
" {\n"
-" \"client-classes\": [ \"beta\" ],\n"
+" \"client-class\": \"beta\",\n"
" \"delegated-len\": 64,\n"
" \"option-data\": [ ],\n"
" \"prefix\": \"2001:db8:2::\",\n"
" \"prefix-len\": 48\n"
" },\n"
" {\n"
-" \"client-classes\": [ \"gamma\" ],\n"
+" \"client-class\": \"gamma\",\n"
" \"delegated-len\": 64,\n"
" \"option-data\": [ ],\n"
" \"prefix\": \"2001:db8:3::\",\n"
" \"pools\": ["
" {"
" \"pool\": \"2001:db8:1::20 - 2001:db8:1::20\","
- " \"client-classes\": [ \"a-devices\" ]"
+ " \"client-class\": \"a-devices\""
" },"
" {"
" \"pool\": \"2001:db8:1::50 - 2001:db8:1::50\""
" \"pools\": ["
" {"
" \"pool\": \"2001:db8:1::20 - 2001:db8:1::20\","
- " \"client-classes\": [ \"a-devices\" ]"
+ " \"client-class\": \"a-devices\""
" },"
" {"
" \"pool\": \"2001:db8:1::50 - 2001:db8:1::50\","
- " \"client-classes\": [ \"b-devices\" ]"
+ " \"client-class\": \"b-devices\""
" }"
" ]"
" }"
" \"pools\": ["
" {"
" \"pool\": \"2001:db8:1::20 - 2001:db8:1::20\","
- " \"client-classes\": [ \"a-devices\" ]"
+ " \"client-class\": \"a-devices\""
" },"
" {"
" \"pool\": \"2001:db8:1::50 - 2001:db8:1::50\""
" \"pools\": ["
" {"
" \"pool\": \"2001:db8:1::20 - 2001:db8:1::20\","
- " \"client-classes\": [ \"a-devices\" ]"
+ " \"client-class\": \"a-devices\""
" },"
" {"
" \"pool\": \"2001:db8:1::50 - 2001:db8:1::50\","
- " \"client-classes\": [ \"b-devices\" ]"
+ " \"client-class\": \"b-devices\""
" }"
" ]"
" }"
///
/// @param subnet next address will be returned from pool of that subnet
/// @param client_classes list of classes client belongs to
+
/// @param duid Client's DUID
/// @param hint client's hint
///
}
// Client-class.
- ConstElementPtr class_list = pool_structure->get("client-classes");
- if (class_list) {
- BOOST_FOREACH(ConstElementPtr c, class_list->listValue()) {
- string cclass = c->stringValue();
- if (!cclass.empty()) {
- pool->allowClientClass(cclass);
- }
+ ConstElementPtr client_class = pool_structure->get("client-class");
+ if (client_class) {
+ string cclass = client_class->stringValue();
+ if (!cclass.empty()) {
+ pool->allowClientClass(cclass);
}
}
}
user_context_ = user_context;
}
- ConstElementPtr client_class = pd_pool_->get("client-classes");
+ ConstElementPtr client_class = pd_pool_->get("client-class");
if (client_class) {
client_class_ = client_class;
}
}
- // If present, this is a list of class names
if (client_class_) {
- BOOST_FOREACH(ConstElementPtr c, client_class_->listValue()) {
- string cclass = c->stringValue();
- if (!cclass.empty()) {
- pool_->allowClientClass(cclass);
- }
+ string cclass = client_class_->stringValue();
+ if (!cclass.empty()) {
+ pool_->allowClientClass(cclass);
}
}
/// A storage for pool specific option values.
CfgOptionPtr options_;
- /// @brief User context (optional, may be null)
- ///
- /// User context is arbitrary user data, to be used by hooks.
isc::data::ConstElementPtr user_context_;
- /// @brief List of client classes a client has to be belong to to use this pd-pool
- ///
- /// If empty, everyone is allowed. This is a white-list
isc::data::ConstElementPtr client_class_;
};
// Set client-class
const ClientClasses& cclasses = getClientClasses();
- if (!cclasses.empty()) {
- ElementPtr list = Element::createList();
- for (auto c : cclasses) {
- list->add(Element::create(c));
- }
- map->set("client-classes", list);
+ if (cclasses.size() > 1) {
+ isc_throw(ToElementError, "client-class has too many items: "
+ << cclasses.size());
+ } else if (!cclasses.empty()) {
+ map->set("client-class", Element::create(*cclasses.cbegin()));
}
return (map);
isc_throw(ToElementError, "invalid prefix range "
<< prefix.toText() << "-" << last.toText());
}
- map->set("prefix-len", Element::create(prefix_len));
// Set delegated-len
uint8_t len = getLength();
uint8_t xlen = xopt->getExcludedPrefixLength();
map->set("excluded-prefix-len",
Element::create(static_cast<int>(xlen)));
+ } else {
+ map->set("excluded-prefix", Element::create(std::string("::")));
+ map->set("excluded-prefix-len", Element::create(0));
}
- // Let's not insert empty excluded-prefix values. If we ever
- // decide to insert it after all, here's the code to do it:
- // else {
- // map->set("excluded-prefix", Element::create(std::string("::")));
- // map->set("excluded-prefix-len", Element::create(0));
- // }
break;
}
/// @brief Checks whether this pool supports client that belongs to
/// specified classes.
///
- /// @todo: currently doing the same as network which needs improving.
+ /// @todo: currently doing the same than network which
+ /// is known to be improved.
///
/// @param client_classes list of all classes the client belongs to
/// @return true if client can be supported, false otherwise
/// @brief Optional definition of a client class
///
- /// If empty, all classes are allowed. If non-empty, only those listed
- /// here are allowed.
- ///
/// @ref Network::white_list_
ClientClasses white_list_;
// Set pools
const PoolCollection& pools = getPools(Lease::TYPE_NA);
ElementPtr pool_list = Element::createList();
- for (auto pool : pools) {
- pool_list->add(pool->toElement());
+ for (PoolCollection::const_iterator pool = pools.cbegin();
+ pool != pools.cend(); ++pool) {
+ // Prepare the map for a pool (@todo move this code to pool.cc)
+ ElementPtr pool_map = Element::createMap();
+ // Set user-context
+ (*pool)->contextToElement(pool_map);
+ // Set pool
+ const IOAddress& first = (*pool)->getFirstAddress();
+ const IOAddress& last = (*pool)->getLastAddress();
+ std::string range = first.toText() + "-" + last.toText();
+ // Try to output a prefix (vs a range)
+ int prefix_len = prefixLengthFromRange(first, last);
+ if (prefix_len >= 0) {
+ std::ostringstream oss;
+ oss << first.toText() << "/" << prefix_len;
+ range = oss.str();
+ }
+ pool_map->set("pool", Element::create(range));
+ // Set pool options
+ ConstCfgOptionPtr opts = (*pool)->getCfgOption();
+ pool_map->set("option-data", opts->toElement());
+ // Set client-class
+ const ClientClasses& cclasses = (*pool)->getClientClasses();
+ if (cclasses.size() > 1) {
+ isc_throw(ToElementError, "client-class has too many items: "
+ << cclasses.size());
+ } else if (!cclasses.empty()) {
+ pool_map->set("client-class", Element::create(*cclasses.cbegin()));
+ }
+ // Push on the pool list
+ pool_list->add(pool_map);
}
map->set("pools", pool_list);
-
// Set pd-pools
const PoolCollection& pdpools = getPools(Lease::TYPE_PD);
ElementPtr pdpool_list = Element::createList();
- for (auto pool : pdpools) {
- pdpool_list->add(pool->toElement());
- }
+ for (PoolCollection::const_iterator pool = pdpools.cbegin();
+ pool != pdpools.cend(); ++pool) {
+ // Get it as a Pool6 (@todo move this code to pool.cc)
+ const Pool6* pdpool = dynamic_cast<Pool6*>(pool->get());
+ if (!pdpool) {
+ isc_throw(ToElementError, "invalid pd-pool pointer");
+ }
+ // Prepare the map for a pd-pool
+ ElementPtr pool_map = Element::createMap();
+ // Set user-context
+ pdpool->contextToElement(pool_map);
+ // Set prefix
+ const IOAddress& prefix = pdpool->getFirstAddress();
+ pool_map->set("prefix", Element::create(prefix.toText()));
+ // Set prefix-len (get it from min - max)
+ const IOAddress& last = pdpool->getLastAddress();
+ int prefix_len = prefixLengthFromRange(prefix, last);
+ if (prefix_len < 0) {
+ // The pool is bad: give up
+ isc_throw(ToElementError, "invalid prefix range "
+ << prefix.toText() << "-" << last.toText());
+ }
+ pool_map->set("prefix-len", Element::create(prefix_len));
+ // Set delegated-len
+ uint8_t len = pdpool->getLength();
+ pool_map->set("delegated-len",
+ Element::create(static_cast<int>(len)));
+
+ // Set excluded prefix
+ const Option6PDExcludePtr& xopt =
+ pdpool->getPrefixExcludeOption();
+ if (xopt) {
+ const IOAddress& xprefix =
+ xopt->getExcludedPrefix(prefix, len);
+ pool_map->set("excluded-prefix",
+ Element::create(xprefix.toText()));
+ uint8_t xlen = xopt->getExcludedPrefixLength();
+ pool_map->set("excluded-prefix-len",
+ Element::create(static_cast<int>(xlen)));
+ }
+ // Set pool options
+ ConstCfgOptionPtr opts = pdpool->getCfgOption();
+ pool_map->set("option-data", opts->toElement());
+ // Set client-class
+ const ClientClasses& cclasses = pdpool->getClientClasses();
+ if (cclasses.size() > 1) {
+ isc_throw(ToElementError, "client-class has too many items: "
+ << cclasses.size());
+ } else if (!cclasses.empty()) {
+ pool_map->set("client-class", Element::create(*cclasses.cbegin()));
+ }
+ // Push on the pool list
+ pdpool_list->add(pool_map);
+ }
map->set("pd-pools", pdpool_list);
return (map);
" },{\n"
" \"option-data\": [ ],\n"
" \"pool\": \"192.0.2.64/26\"\n,"
- " \"client-classes\": [ \"bar\" ],\n"
+ " \"client-class\": \"bar\",\n"
" \"user-context\": { \"foo\": \"bar\" }\n"
" }\n"
" ]\n"
" \"option-data\": [ ]\n"
" },{\n"
" \"pool\": \"2001:db8:1:1::/64\",\n"
- " \"client-classes\": [ \"bar\" ],\n"
+ " \"client-class\": \"bar\",\n"
" \"user-context\": { \"foo\": \"bar\" },\n"
" \"option-data\": [ ]\n"
" }\n"
" \"excluded-prefix\": \"2001:db8:3::\",\n"
" \"excluded-prefix-len\": 64,\n"
" \"option-data\": [ ],\n"
- " \"client-classes\": [ \"bar\" ]\n"
+ " \"client-class\": \"bar\"\n"
" }\n"
" ],\n"
" \"option-data\": [ ]\n"