mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-30 05:27:55 +00:00
[#2970] Regen flex
This commit is contained in:
parent
d251fc3f0b
commit
48d91e07aa
@ -1520,13 +1520,13 @@ int yy_flex_debug = 1;
|
||||
|
||||
static const flex_int16_t yy_rule_linenum[70] =
|
||||
{ 0,
|
||||
134, 136, 138, 143, 144, 149, 150, 151, 163, 166,
|
||||
171, 178, 187, 196, 205, 218, 231, 240, 249, 258,
|
||||
267, 276, 285, 294, 303, 312, 321, 330, 339, 348,
|
||||
357, 366, 375, 384, 393, 402, 411, 420, 429, 438,
|
||||
447, 456, 465, 474, 483, 492, 501, 510, 519, 528,
|
||||
537, 638, 654, 703, 711, 726, 727, 728, 729, 730,
|
||||
731, 733, 751, 764, 769, 773, 775, 777, 779
|
||||
135, 137, 139, 144, 145, 150, 151, 152, 164, 167,
|
||||
172, 179, 188, 197, 206, 219, 232, 241, 250, 259,
|
||||
268, 277, 286, 295, 304, 313, 322, 331, 340, 349,
|
||||
358, 367, 376, 385, 394, 403, 412, 421, 430, 439,
|
||||
448, 457, 466, 475, 484, 493, 502, 511, 520, 529,
|
||||
538, 639, 655, 704, 712, 727, 728, 729, 730, 731,
|
||||
732, 734, 752, 765, 770, 774, 776, 778, 780
|
||||
} ;
|
||||
|
||||
/* The intent behind this definition is that it'll catch
|
||||
@ -1538,7 +1538,7 @@ static const flex_int16_t yy_rule_linenum[70] =
|
||||
#define YY_RESTORE_YY_MORE_OFFSET
|
||||
char *yytext;
|
||||
#line 1 "agent_lexer.ll"
|
||||
/* Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
|
||||
/* Copyright (C) 2017-2023 Internet Systems Consortium, Inc. ("ISC")
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@ -1551,6 +1551,7 @@ char *yytext;
|
||||
#include <cctype>
|
||||
#include <cerrno>
|
||||
#include <climits>
|
||||
#include <cstdint>
|
||||
#include <cstdlib>
|
||||
#include <string>
|
||||
#include <agent/parser_context.h>
|
||||
@ -1582,7 +1583,7 @@ using isc::agent::AgentParser;
|
||||
|
||||
/* To avoid the call to exit... oops! */
|
||||
#define YY_FATAL_ERROR(msg) isc::agent::ParserContext::fatal(msg)
|
||||
#line 1585 "agent_lexer.cc"
|
||||
#line 1586 "agent_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 yywrap requires linking with -lfl, which provides the default yywrap
|
||||
@ -1603,13 +1604,13 @@ using isc::agent::AgentParser;
|
||||
can be used during actual token definitions. Note some can match
|
||||
incorrect inputs (e.g., IP addresses) which must be checked. */
|
||||
/* for errors */
|
||||
#line 97 "agent_lexer.ll"
|
||||
#line 98 "agent_lexer.ll"
|
||||
/* This code run each time a pattern is matched. It updates the location
|
||||
by moving it ahead by yyleng bytes. yyleng specifies the length of the
|
||||
currently matched token. */
|
||||
#define YY_USER_ACTION driver.loc_.columns(yyleng);
|
||||
#line 1611 "agent_lexer.cc"
|
||||
#line 1612 "agent_lexer.cc"
|
||||
#line 1613 "agent_lexer.cc"
|
||||
|
||||
#define INITIAL 0
|
||||
#define COMMENT 1
|
||||
@ -1891,11 +1892,11 @@ YY_DECL
|
||||
|
||||
{
|
||||
/* %% [7.0] user's declarations go here */
|
||||
#line 103 "agent_lexer.ll"
|
||||
#line 104 "agent_lexer.ll"
|
||||
|
||||
|
||||
|
||||
#line 107 "agent_lexer.ll"
|
||||
#line 108 "agent_lexer.ll"
|
||||
/* This part of the code is copied over to the verbatim to the top
|
||||
of the generated yylex function. Explanation:
|
||||
http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */
|
||||
@ -1923,7 +1924,7 @@ YY_DECL
|
||||
}
|
||||
|
||||
|
||||
#line 1926 "agent_lexer.cc"
|
||||
#line 1927 "agent_lexer.cc"
|
||||
|
||||
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
|
||||
{
|
||||
@ -2001,17 +2002,17 @@ do_action: /* This label is used only to access EOF actions. */
|
||||
|
||||
case 1:
|
||||
YY_RULE_SETUP
|
||||
#line 134 "agent_lexer.ll"
|
||||
#line 135 "agent_lexer.ll"
|
||||
;
|
||||
YY_BREAK
|
||||
case 2:
|
||||
YY_RULE_SETUP
|
||||
#line 136 "agent_lexer.ll"
|
||||
#line 137 "agent_lexer.ll"
|
||||
;
|
||||
YY_BREAK
|
||||
case 3:
|
||||
YY_RULE_SETUP
|
||||
#line 138 "agent_lexer.ll"
|
||||
#line 139 "agent_lexer.ll"
|
||||
{
|
||||
BEGIN(COMMENT);
|
||||
comment_start_line = driver.loc_.end.line;;
|
||||
@ -2019,33 +2020,33 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 4:
|
||||
YY_RULE_SETUP
|
||||
#line 143 "agent_lexer.ll"
|
||||
#line 144 "agent_lexer.ll"
|
||||
BEGIN(INITIAL);
|
||||
YY_BREAK
|
||||
case 5:
|
||||
YY_RULE_SETUP
|
||||
#line 144 "agent_lexer.ll"
|
||||
#line 145 "agent_lexer.ll"
|
||||
;
|
||||
YY_BREAK
|
||||
case YY_STATE_EOF(COMMENT):
|
||||
#line 145 "agent_lexer.ll"
|
||||
#line 146 "agent_lexer.ll"
|
||||
{
|
||||
isc_throw(ParseError, "Comment not closed. (/* in line " << comment_start_line);
|
||||
}
|
||||
YY_BREAK
|
||||
case 6:
|
||||
YY_RULE_SETUP
|
||||
#line 149 "agent_lexer.ll"
|
||||
#line 150 "agent_lexer.ll"
|
||||
BEGIN(DIR_ENTER);
|
||||
YY_BREAK
|
||||
case 7:
|
||||
YY_RULE_SETUP
|
||||
#line 150 "agent_lexer.ll"
|
||||
#line 151 "agent_lexer.ll"
|
||||
BEGIN(DIR_INCLUDE);
|
||||
YY_BREAK
|
||||
case 8:
|
||||
YY_RULE_SETUP
|
||||
#line 151 "agent_lexer.ll"
|
||||
#line 152 "agent_lexer.ll"
|
||||
{
|
||||
/* Include directive. */
|
||||
|
||||
@ -2059,19 +2060,19 @@ YY_RULE_SETUP
|
||||
case YY_STATE_EOF(DIR_ENTER):
|
||||
case YY_STATE_EOF(DIR_INCLUDE):
|
||||
case YY_STATE_EOF(DIR_EXIT):
|
||||
#line 160 "agent_lexer.ll"
|
||||
#line 161 "agent_lexer.ll"
|
||||
{
|
||||
isc_throw(ParseError, "Directive not closed.");
|
||||
}
|
||||
YY_BREAK
|
||||
case 9:
|
||||
YY_RULE_SETUP
|
||||
#line 163 "agent_lexer.ll"
|
||||
#line 164 "agent_lexer.ll"
|
||||
BEGIN(INITIAL);
|
||||
YY_BREAK
|
||||
case 10:
|
||||
YY_RULE_SETUP
|
||||
#line 166 "agent_lexer.ll"
|
||||
#line 167 "agent_lexer.ll"
|
||||
{
|
||||
/* Ok, we found a with space. Let's ignore it and update loc variable. */
|
||||
driver.loc_.step();
|
||||
@ -2080,7 +2081,7 @@ YY_RULE_SETUP
|
||||
case 11:
|
||||
/* rule 11 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 171 "agent_lexer.ll"
|
||||
#line 172 "agent_lexer.ll"
|
||||
{
|
||||
/* Newline found. Let's update the location and continue. */
|
||||
driver.loc_.lines(yyleng);
|
||||
@ -2089,7 +2090,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 12:
|
||||
YY_RULE_SETUP
|
||||
#line 178 "agent_lexer.ll"
|
||||
#line 179 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::CONFIG:
|
||||
@ -2101,7 +2102,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 13:
|
||||
YY_RULE_SETUP
|
||||
#line 187 "agent_lexer.ll"
|
||||
#line 188 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AGENT:
|
||||
@ -2113,7 +2114,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 14:
|
||||
YY_RULE_SETUP
|
||||
#line 196 "agent_lexer.ll"
|
||||
#line 197 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AGENT:
|
||||
@ -2125,7 +2126,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 15:
|
||||
YY_RULE_SETUP
|
||||
#line 205 "agent_lexer.ll"
|
||||
#line 206 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AGENT:
|
||||
@ -2141,7 +2142,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 16:
|
||||
YY_RULE_SETUP
|
||||
#line 218 "agent_lexer.ll"
|
||||
#line 219 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AGENT:
|
||||
@ -2157,7 +2158,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 17:
|
||||
YY_RULE_SETUP
|
||||
#line 231 "agent_lexer.ll"
|
||||
#line 232 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AGENT:
|
||||
@ -2169,7 +2170,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 18:
|
||||
YY_RULE_SETUP
|
||||
#line 240 "agent_lexer.ll"
|
||||
#line 241 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AUTHENTICATION:
|
||||
@ -2181,7 +2182,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 19:
|
||||
YY_RULE_SETUP
|
||||
#line 249 "agent_lexer.ll"
|
||||
#line 250 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AUTH_TYPE:
|
||||
@ -2193,7 +2194,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 20:
|
||||
YY_RULE_SETUP
|
||||
#line 258 "agent_lexer.ll"
|
||||
#line 259 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AUTHENTICATION:
|
||||
@ -2205,7 +2206,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 21:
|
||||
YY_RULE_SETUP
|
||||
#line 267 "agent_lexer.ll"
|
||||
#line 268 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AUTHENTICATION:
|
||||
@ -2217,7 +2218,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 22:
|
||||
YY_RULE_SETUP
|
||||
#line 276 "agent_lexer.ll"
|
||||
#line 277 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AUTHENTICATION:
|
||||
@ -2229,7 +2230,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 23:
|
||||
YY_RULE_SETUP
|
||||
#line 285 "agent_lexer.ll"
|
||||
#line 286 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::CLIENTS:
|
||||
@ -2241,7 +2242,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 24:
|
||||
YY_RULE_SETUP
|
||||
#line 294 "agent_lexer.ll"
|
||||
#line 295 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::CLIENTS:
|
||||
@ -2253,7 +2254,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 25:
|
||||
YY_RULE_SETUP
|
||||
#line 303 "agent_lexer.ll"
|
||||
#line 304 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::CLIENTS:
|
||||
@ -2265,7 +2266,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 26:
|
||||
YY_RULE_SETUP
|
||||
#line 312 "agent_lexer.ll"
|
||||
#line 313 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::CLIENTS:
|
||||
@ -2277,7 +2278,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 27:
|
||||
YY_RULE_SETUP
|
||||
#line 321 "agent_lexer.ll"
|
||||
#line 322 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AGENT:
|
||||
@ -2289,7 +2290,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 28:
|
||||
YY_RULE_SETUP
|
||||
#line 330 "agent_lexer.ll"
|
||||
#line 331 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AGENT:
|
||||
@ -2301,7 +2302,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 29:
|
||||
YY_RULE_SETUP
|
||||
#line 339 "agent_lexer.ll"
|
||||
#line 340 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AGENT:
|
||||
@ -2313,7 +2314,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 30:
|
||||
YY_RULE_SETUP
|
||||
#line 348 "agent_lexer.ll"
|
||||
#line 349 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AGENT:
|
||||
@ -2325,7 +2326,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 31:
|
||||
YY_RULE_SETUP
|
||||
#line 357 "agent_lexer.ll"
|
||||
#line 358 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AGENT:
|
||||
@ -2337,7 +2338,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 32:
|
||||
YY_RULE_SETUP
|
||||
#line 366 "agent_lexer.ll"
|
||||
#line 367 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::CONTROL_SOCKETS:
|
||||
@ -2349,7 +2350,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 33:
|
||||
YY_RULE_SETUP
|
||||
#line 375 "agent_lexer.ll"
|
||||
#line 376 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::CONTROL_SOCKETS:
|
||||
@ -2361,7 +2362,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 34:
|
||||
YY_RULE_SETUP
|
||||
#line 384 "agent_lexer.ll"
|
||||
#line 385 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::CONTROL_SOCKETS:
|
||||
@ -2373,7 +2374,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 35:
|
||||
YY_RULE_SETUP
|
||||
#line 393 "agent_lexer.ll"
|
||||
#line 394 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::SERVER:
|
||||
@ -2385,7 +2386,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 36:
|
||||
YY_RULE_SETUP
|
||||
#line 402 "agent_lexer.ll"
|
||||
#line 403 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::SERVER:
|
||||
@ -2397,7 +2398,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 37:
|
||||
YY_RULE_SETUP
|
||||
#line 411 "agent_lexer.ll"
|
||||
#line 412 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::SOCKET_TYPE:
|
||||
@ -2409,7 +2410,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 38:
|
||||
YY_RULE_SETUP
|
||||
#line 420 "agent_lexer.ll"
|
||||
#line 421 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AGENT:
|
||||
@ -2421,7 +2422,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 39:
|
||||
YY_RULE_SETUP
|
||||
#line 429 "agent_lexer.ll"
|
||||
#line 430 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::HOOKS_LIBRARIES:
|
||||
@ -2433,7 +2434,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 40:
|
||||
YY_RULE_SETUP
|
||||
#line 438 "agent_lexer.ll"
|
||||
#line 439 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::HOOKS_LIBRARIES:
|
||||
@ -2445,7 +2446,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 41:
|
||||
YY_RULE_SETUP
|
||||
#line 447 "agent_lexer.ll"
|
||||
#line 448 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::AGENT:
|
||||
@ -2457,7 +2458,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 42:
|
||||
YY_RULE_SETUP
|
||||
#line 456 "agent_lexer.ll"
|
||||
#line 457 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::LOGGERS:
|
||||
@ -2469,7 +2470,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 43:
|
||||
YY_RULE_SETUP
|
||||
#line 465 "agent_lexer.ll"
|
||||
#line 466 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::LOGGERS:
|
||||
@ -2481,7 +2482,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 44:
|
||||
YY_RULE_SETUP
|
||||
#line 474 "agent_lexer.ll"
|
||||
#line 475 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2493,7 +2494,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 45:
|
||||
YY_RULE_SETUP
|
||||
#line 483 "agent_lexer.ll"
|
||||
#line 484 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2505,7 +2506,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 46:
|
||||
YY_RULE_SETUP
|
||||
#line 492 "agent_lexer.ll"
|
||||
#line 493 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2517,7 +2518,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 47:
|
||||
YY_RULE_SETUP
|
||||
#line 501 "agent_lexer.ll"
|
||||
#line 502 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2529,7 +2530,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 48:
|
||||
YY_RULE_SETUP
|
||||
#line 510 "agent_lexer.ll"
|
||||
#line 511 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2541,7 +2542,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 49:
|
||||
YY_RULE_SETUP
|
||||
#line 519 "agent_lexer.ll"
|
||||
#line 520 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::LOGGERS:
|
||||
@ -2553,7 +2554,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 50:
|
||||
YY_RULE_SETUP
|
||||
#line 528 "agent_lexer.ll"
|
||||
#line 529 "agent_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::LOGGERS:
|
||||
@ -2565,7 +2566,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 51:
|
||||
YY_RULE_SETUP
|
||||
#line 537 "agent_lexer.ll"
|
||||
#line 538 "agent_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.
|
||||
@ -2670,7 +2671,7 @@ YY_RULE_SETUP
|
||||
case 52:
|
||||
/* rule 52 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 638 "agent_lexer.ll"
|
||||
#line 639 "agent_lexer.ll"
|
||||
{
|
||||
/* Bad string with a forbidden control character inside */
|
||||
std::string raw(yytext+1);
|
||||
@ -2690,7 +2691,7 @@ YY_RULE_SETUP
|
||||
case 53:
|
||||
/* rule 53 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 654 "agent_lexer.ll"
|
||||
#line 655 "agent_lexer.ll"
|
||||
{
|
||||
/* Bad string with a bad escape inside */
|
||||
std::string raw(yytext+1);
|
||||
@ -2742,7 +2743,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 54:
|
||||
YY_RULE_SETUP
|
||||
#line 703 "agent_lexer.ll"
|
||||
#line 704 "agent_lexer.ll"
|
||||
{
|
||||
/* Bad string with an open escape at the end */
|
||||
std::string raw(yytext+1);
|
||||
@ -2753,7 +2754,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 55:
|
||||
YY_RULE_SETUP
|
||||
#line 711 "agent_lexer.ll"
|
||||
#line 712 "agent_lexer.ll"
|
||||
{
|
||||
/* Bad string with an open unicode escape at the end */
|
||||
std::string raw(yytext+1);
|
||||
@ -2771,37 +2772,37 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 56:
|
||||
YY_RULE_SETUP
|
||||
#line 726 "agent_lexer.ll"
|
||||
#line 727 "agent_lexer.ll"
|
||||
{ return AgentParser::make_LSQUARE_BRACKET(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 57:
|
||||
YY_RULE_SETUP
|
||||
#line 727 "agent_lexer.ll"
|
||||
#line 728 "agent_lexer.ll"
|
||||
{ return AgentParser::make_RSQUARE_BRACKET(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 58:
|
||||
YY_RULE_SETUP
|
||||
#line 728 "agent_lexer.ll"
|
||||
#line 729 "agent_lexer.ll"
|
||||
{ return AgentParser::make_LCURLY_BRACKET(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 59:
|
||||
YY_RULE_SETUP
|
||||
#line 729 "agent_lexer.ll"
|
||||
#line 730 "agent_lexer.ll"
|
||||
{ return AgentParser::make_RCURLY_BRACKET(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 60:
|
||||
YY_RULE_SETUP
|
||||
#line 730 "agent_lexer.ll"
|
||||
#line 731 "agent_lexer.ll"
|
||||
{ return AgentParser::make_COMMA(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 61:
|
||||
YY_RULE_SETUP
|
||||
#line 731 "agent_lexer.ll"
|
||||
#line 732 "agent_lexer.ll"
|
||||
{ return AgentParser::make_COLON(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 62:
|
||||
YY_RULE_SETUP
|
||||
#line 733 "agent_lexer.ll"
|
||||
#line 734 "agent_lexer.ll"
|
||||
{
|
||||
/* An integer was found. */
|
||||
std::string tmp(yytext);
|
||||
@ -2822,7 +2823,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 63:
|
||||
YY_RULE_SETUP
|
||||
#line 751 "agent_lexer.ll"
|
||||
#line 752 "agent_lexer.ll"
|
||||
{
|
||||
/* A floating point was found. */
|
||||
std::string tmp(yytext);
|
||||
@ -2838,7 +2839,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 64:
|
||||
YY_RULE_SETUP
|
||||
#line 764 "agent_lexer.ll"
|
||||
#line 765 "agent_lexer.ll"
|
||||
{
|
||||
string tmp(yytext);
|
||||
return AgentParser::make_BOOLEAN(tmp == "true", driver.loc_);
|
||||
@ -2846,33 +2847,33 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 65:
|
||||
YY_RULE_SETUP
|
||||
#line 769 "agent_lexer.ll"
|
||||
#line 770 "agent_lexer.ll"
|
||||
{
|
||||
return AgentParser::make_NULL_TYPE(driver.loc_);
|
||||
}
|
||||
YY_BREAK
|
||||
case 66:
|
||||
YY_RULE_SETUP
|
||||
#line 773 "agent_lexer.ll"
|
||||
#line 774 "agent_lexer.ll"
|
||||
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
|
||||
YY_BREAK
|
||||
case 67:
|
||||
YY_RULE_SETUP
|
||||
#line 775 "agent_lexer.ll"
|
||||
#line 776 "agent_lexer.ll"
|
||||
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
|
||||
YY_BREAK
|
||||
case 68:
|
||||
YY_RULE_SETUP
|
||||
#line 777 "agent_lexer.ll"
|
||||
#line 778 "agent_lexer.ll"
|
||||
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
|
||||
YY_BREAK
|
||||
case 69:
|
||||
YY_RULE_SETUP
|
||||
#line 779 "agent_lexer.ll"
|
||||
#line 780 "agent_lexer.ll"
|
||||
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
|
||||
YY_BREAK
|
||||
case YY_STATE_EOF(INITIAL):
|
||||
#line 781 "agent_lexer.ll"
|
||||
#line 782 "agent_lexer.ll"
|
||||
{
|
||||
if (driver.states_.empty()) {
|
||||
return AgentParser::make_END(driver.loc_);
|
||||
@ -2898,10 +2899,10 @@ case YY_STATE_EOF(INITIAL):
|
||||
YY_BREAK
|
||||
case 70:
|
||||
YY_RULE_SETUP
|
||||
#line 804 "agent_lexer.ll"
|
||||
#line 805 "agent_lexer.ll"
|
||||
ECHO;
|
||||
YY_BREAK
|
||||
#line 2904 "agent_lexer.cc"
|
||||
#line 2905 "agent_lexer.cc"
|
||||
|
||||
case YY_END_OF_BUFFER:
|
||||
{
|
||||
@ -4006,7 +4007,7 @@ void yyfree (void * ptr )
|
||||
|
||||
/* %ok-for-header */
|
||||
|
||||
#line 804 "agent_lexer.ll"
|
||||
#line 805 "agent_lexer.ll"
|
||||
|
||||
|
||||
using namespace isc::dhcp;
|
||||
|
@ -1,3 +1,4 @@
|
||||
// Generated 202308031547
|
||||
// A Bison parser, made by GNU Bison 3.8.2.
|
||||
|
||||
// Locations for Bison parsers in C++
|
||||
|
@ -1078,13 +1078,13 @@ int yy_flex_debug = 1;
|
||||
|
||||
static const flex_int16_t yy_rule_linenum[68] =
|
||||
{ 0,
|
||||
136, 138, 140, 145, 146, 151, 152, 153, 165, 168,
|
||||
173, 179, 188, 199, 210, 219, 228, 237, 247, 257,
|
||||
267, 284, 301, 310, 319, 329, 341, 351, 362, 371,
|
||||
381, 391, 401, 410, 419, 428, 437, 446, 455, 464,
|
||||
473, 482, 491, 500, 509, 518, 531, 540, 549, 650,
|
||||
666, 715, 723, 738, 739, 740, 741, 742, 743, 745,
|
||||
763, 776, 781, 785, 787, 789, 791
|
||||
137, 139, 141, 146, 147, 152, 153, 154, 166, 169,
|
||||
174, 180, 189, 200, 211, 220, 229, 238, 248, 258,
|
||||
268, 285, 302, 311, 320, 330, 342, 352, 363, 372,
|
||||
382, 392, 402, 411, 420, 429, 438, 447, 456, 465,
|
||||
474, 483, 492, 501, 510, 519, 532, 541, 550, 651,
|
||||
667, 716, 724, 739, 740, 741, 742, 743, 744, 746,
|
||||
764, 777, 782, 786, 788, 790, 792
|
||||
} ;
|
||||
|
||||
/* The intent behind this definition is that it'll catch
|
||||
@ -1109,6 +1109,7 @@ char *yytext;
|
||||
#include <cctype>
|
||||
#include <cerrno>
|
||||
#include <climits>
|
||||
#include <cstdint>
|
||||
#include <cstdlib>
|
||||
#include <string>
|
||||
#include <d2/parser_context.h>
|
||||
@ -1136,7 +1137,7 @@ unsigned int comment_start_line = 0;
|
||||
|
||||
/* To avoid the call to exit... oops! */
|
||||
#define YY_FATAL_ERROR(msg) isc::d2::D2ParserContext::fatal(msg)
|
||||
#line 1139 "d2_lexer.cc"
|
||||
#line 1140 "d2_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 yywrap requires linking with -lfl, which provides the default yywrap
|
||||
@ -1157,13 +1158,13 @@ unsigned int comment_start_line = 0;
|
||||
can be used during actual token definitions. Note some can match
|
||||
incorrect inputs (e.g., IP addresses) which must be checked. */
|
||||
/* for errors */
|
||||
#line 93 "d2_lexer.ll"
|
||||
#line 94 "d2_lexer.ll"
|
||||
/* This code run each time a pattern is matched. It updates the location
|
||||
by moving it ahead by yyleng bytes. yyleng specifies the length of the
|
||||
currently matched token. */
|
||||
#define YY_USER_ACTION driver.loc_.columns(yyleng);
|
||||
#line 1165 "d2_lexer.cc"
|
||||
#line 1166 "d2_lexer.cc"
|
||||
#line 1167 "d2_lexer.cc"
|
||||
|
||||
#define INITIAL 0
|
||||
#define COMMENT 1
|
||||
@ -1445,11 +1446,11 @@ YY_DECL
|
||||
|
||||
{
|
||||
/* %% [7.0] user's declarations go here */
|
||||
#line 99 "d2_lexer.ll"
|
||||
#line 100 "d2_lexer.ll"
|
||||
|
||||
|
||||
|
||||
#line 103 "d2_lexer.ll"
|
||||
#line 104 "d2_lexer.ll"
|
||||
/* This part of the code is copied over to the verbatim to the top
|
||||
of the generated yylex function. Explanation:
|
||||
http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */
|
||||
@ -1483,7 +1484,7 @@ YY_DECL
|
||||
}
|
||||
|
||||
|
||||
#line 1486 "d2_lexer.cc"
|
||||
#line 1487 "d2_lexer.cc"
|
||||
|
||||
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
|
||||
{
|
||||
@ -1561,17 +1562,17 @@ do_action: /* This label is used only to access EOF actions. */
|
||||
|
||||
case 1:
|
||||
YY_RULE_SETUP
|
||||
#line 136 "d2_lexer.ll"
|
||||
#line 137 "d2_lexer.ll"
|
||||
;
|
||||
YY_BREAK
|
||||
case 2:
|
||||
YY_RULE_SETUP
|
||||
#line 138 "d2_lexer.ll"
|
||||
#line 139 "d2_lexer.ll"
|
||||
;
|
||||
YY_BREAK
|
||||
case 3:
|
||||
YY_RULE_SETUP
|
||||
#line 140 "d2_lexer.ll"
|
||||
#line 141 "d2_lexer.ll"
|
||||
{
|
||||
BEGIN(COMMENT);
|
||||
comment_start_line = driver.loc_.end.line;;
|
||||
@ -1579,33 +1580,33 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 4:
|
||||
YY_RULE_SETUP
|
||||
#line 145 "d2_lexer.ll"
|
||||
#line 146 "d2_lexer.ll"
|
||||
BEGIN(INITIAL);
|
||||
YY_BREAK
|
||||
case 5:
|
||||
YY_RULE_SETUP
|
||||
#line 146 "d2_lexer.ll"
|
||||
#line 147 "d2_lexer.ll"
|
||||
;
|
||||
YY_BREAK
|
||||
case YY_STATE_EOF(COMMENT):
|
||||
#line 147 "d2_lexer.ll"
|
||||
#line 148 "d2_lexer.ll"
|
||||
{
|
||||
isc_throw(D2ParseError, "Comment not closed. (/* in line " << comment_start_line);
|
||||
}
|
||||
YY_BREAK
|
||||
case 6:
|
||||
YY_RULE_SETUP
|
||||
#line 151 "d2_lexer.ll"
|
||||
#line 152 "d2_lexer.ll"
|
||||
BEGIN(DIR_ENTER);
|
||||
YY_BREAK
|
||||
case 7:
|
||||
YY_RULE_SETUP
|
||||
#line 152 "d2_lexer.ll"
|
||||
#line 153 "d2_lexer.ll"
|
||||
BEGIN(DIR_INCLUDE);
|
||||
YY_BREAK
|
||||
case 8:
|
||||
YY_RULE_SETUP
|
||||
#line 153 "d2_lexer.ll"
|
||||
#line 154 "d2_lexer.ll"
|
||||
{
|
||||
/* Include directive. */
|
||||
|
||||
@ -1619,19 +1620,19 @@ YY_RULE_SETUP
|
||||
case YY_STATE_EOF(DIR_ENTER):
|
||||
case YY_STATE_EOF(DIR_INCLUDE):
|
||||
case YY_STATE_EOF(DIR_EXIT):
|
||||
#line 162 "d2_lexer.ll"
|
||||
#line 163 "d2_lexer.ll"
|
||||
{
|
||||
isc_throw(D2ParseError, "Directive not closed.");
|
||||
}
|
||||
YY_BREAK
|
||||
case 9:
|
||||
YY_RULE_SETUP
|
||||
#line 165 "d2_lexer.ll"
|
||||
#line 166 "d2_lexer.ll"
|
||||
BEGIN(INITIAL);
|
||||
YY_BREAK
|
||||
case 10:
|
||||
YY_RULE_SETUP
|
||||
#line 168 "d2_lexer.ll"
|
||||
#line 169 "d2_lexer.ll"
|
||||
{
|
||||
/* Ok, we found a with space. Let's ignore it and update loc variable. */
|
||||
driver.loc_.step();
|
||||
@ -1640,7 +1641,7 @@ YY_RULE_SETUP
|
||||
case 11:
|
||||
/* rule 11 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 173 "d2_lexer.ll"
|
||||
#line 174 "d2_lexer.ll"
|
||||
{
|
||||
/* Newline found. Let's update the location and continue. */
|
||||
driver.loc_.lines(yyleng);
|
||||
@ -1649,7 +1650,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 12:
|
||||
YY_RULE_SETUP
|
||||
#line 179 "d2_lexer.ll"
|
||||
#line 180 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::CONFIG:
|
||||
@ -1661,7 +1662,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 13:
|
||||
YY_RULE_SETUP
|
||||
#line 188 "d2_lexer.ll"
|
||||
#line 189 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DHCPDDNS:
|
||||
@ -1675,7 +1676,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 14:
|
||||
YY_RULE_SETUP
|
||||
#line 199 "d2_lexer.ll"
|
||||
#line 200 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DHCPDDNS:
|
||||
@ -1689,7 +1690,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 15:
|
||||
YY_RULE_SETUP
|
||||
#line 210 "d2_lexer.ll"
|
||||
#line 211 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DHCPDDNS:
|
||||
@ -1701,7 +1702,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 16:
|
||||
YY_RULE_SETUP
|
||||
#line 219 "d2_lexer.ll"
|
||||
#line 220 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DHCPDDNS:
|
||||
@ -1713,7 +1714,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 17:
|
||||
YY_RULE_SETUP
|
||||
#line 228 "d2_lexer.ll"
|
||||
#line 229 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DHCPDDNS:
|
||||
@ -1725,7 +1726,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 18:
|
||||
YY_RULE_SETUP
|
||||
#line 237 "d2_lexer.ll"
|
||||
#line 238 "d2_lexer.ll"
|
||||
{
|
||||
/* dhcp-ddns value keywords are case insensitive */
|
||||
if (driver.ctx_ == isc::d2::D2ParserContext::NCR_PROTOCOL) {
|
||||
@ -1738,7 +1739,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 19:
|
||||
YY_RULE_SETUP
|
||||
#line 247 "d2_lexer.ll"
|
||||
#line 248 "d2_lexer.ll"
|
||||
{
|
||||
/* dhcp-ddns value keywords are case insensitive */
|
||||
if (driver.ctx_ == isc::d2::D2ParserContext::NCR_PROTOCOL) {
|
||||
@ -1751,7 +1752,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 20:
|
||||
YY_RULE_SETUP
|
||||
#line 257 "d2_lexer.ll"
|
||||
#line 258 "d2_lexer.ll"
|
||||
{
|
||||
/* dhcp-ddns value keywords are case insensitive */
|
||||
if (driver.ctx_ == isc::d2::D2ParserContext::NCR_FORMAT) {
|
||||
@ -1764,7 +1765,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 21:
|
||||
YY_RULE_SETUP
|
||||
#line 267 "d2_lexer.ll"
|
||||
#line 268 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DHCPDDNS:
|
||||
@ -1784,7 +1785,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 22:
|
||||
YY_RULE_SETUP
|
||||
#line 284 "d2_lexer.ll"
|
||||
#line 285 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DHCPDDNS:
|
||||
@ -1804,7 +1805,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 23:
|
||||
YY_RULE_SETUP
|
||||
#line 301 "d2_lexer.ll"
|
||||
#line 302 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DHCPDDNS:
|
||||
@ -1816,7 +1817,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 24:
|
||||
YY_RULE_SETUP
|
||||
#line 310 "d2_lexer.ll"
|
||||
#line 311 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DHCPDDNS:
|
||||
@ -1828,7 +1829,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 25:
|
||||
YY_RULE_SETUP
|
||||
#line 319 "d2_lexer.ll"
|
||||
#line 320 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::FORWARD_DDNS:
|
||||
@ -1841,7 +1842,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 26:
|
||||
YY_RULE_SETUP
|
||||
#line 329 "d2_lexer.ll"
|
||||
#line 330 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DDNS_DOMAIN:
|
||||
@ -1856,7 +1857,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 27:
|
||||
YY_RULE_SETUP
|
||||
#line 341 "d2_lexer.ll"
|
||||
#line 342 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DDNS_DOMAIN:
|
||||
@ -1869,7 +1870,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 28:
|
||||
YY_RULE_SETUP
|
||||
#line 351 "d2_lexer.ll"
|
||||
#line 352 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DNS_SERVER:
|
||||
@ -1882,7 +1883,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 29:
|
||||
YY_RULE_SETUP
|
||||
#line 362 "d2_lexer.ll"
|
||||
#line 363 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DHCPDDNS:
|
||||
@ -1894,7 +1895,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 30:
|
||||
YY_RULE_SETUP
|
||||
#line 371 "d2_lexer.ll"
|
||||
#line 372 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::TSIG_KEY:
|
||||
@ -1907,7 +1908,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 31:
|
||||
YY_RULE_SETUP
|
||||
#line 381 "d2_lexer.ll"
|
||||
#line 382 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::TSIG_KEY:
|
||||
@ -1920,7 +1921,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 32:
|
||||
YY_RULE_SETUP
|
||||
#line 391 "d2_lexer.ll"
|
||||
#line 392 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::TSIG_KEY:
|
||||
@ -1933,7 +1934,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 33:
|
||||
YY_RULE_SETUP
|
||||
#line 401 "d2_lexer.ll"
|
||||
#line 402 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DHCPDDNS:
|
||||
@ -1945,7 +1946,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 34:
|
||||
YY_RULE_SETUP
|
||||
#line 410 "d2_lexer.ll"
|
||||
#line 411 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::CONTROL_SOCKET:
|
||||
@ -1957,7 +1958,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 35:
|
||||
YY_RULE_SETUP
|
||||
#line 419 "d2_lexer.ll"
|
||||
#line 420 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::CONTROL_SOCKET:
|
||||
@ -1969,7 +1970,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 36:
|
||||
YY_RULE_SETUP
|
||||
#line 428 "d2_lexer.ll"
|
||||
#line 429 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DHCPDDNS:
|
||||
@ -1981,7 +1982,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 37:
|
||||
YY_RULE_SETUP
|
||||
#line 437 "d2_lexer.ll"
|
||||
#line 438 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::HOOKS_LIBRARIES:
|
||||
@ -1993,7 +1994,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 38:
|
||||
YY_RULE_SETUP
|
||||
#line 446 "d2_lexer.ll"
|
||||
#line 447 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::HOOKS_LIBRARIES:
|
||||
@ -2005,7 +2006,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 39:
|
||||
YY_RULE_SETUP
|
||||
#line 455 "d2_lexer.ll"
|
||||
#line 456 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::DHCPDDNS:
|
||||
@ -2017,7 +2018,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 40:
|
||||
YY_RULE_SETUP
|
||||
#line 464 "d2_lexer.ll"
|
||||
#line 465 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::LOGGERS:
|
||||
@ -2029,7 +2030,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 41:
|
||||
YY_RULE_SETUP
|
||||
#line 473 "d2_lexer.ll"
|
||||
#line 474 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2041,7 +2042,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 42:
|
||||
YY_RULE_SETUP
|
||||
#line 482 "d2_lexer.ll"
|
||||
#line 483 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2053,7 +2054,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 43:
|
||||
YY_RULE_SETUP
|
||||
#line 491 "d2_lexer.ll"
|
||||
#line 492 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2065,7 +2066,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 44:
|
||||
YY_RULE_SETUP
|
||||
#line 500 "d2_lexer.ll"
|
||||
#line 501 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2077,7 +2078,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 45:
|
||||
YY_RULE_SETUP
|
||||
#line 509 "d2_lexer.ll"
|
||||
#line 510 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2089,7 +2090,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 46:
|
||||
YY_RULE_SETUP
|
||||
#line 518 "d2_lexer.ll"
|
||||
#line 519 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::LOGGERS:
|
||||
@ -2105,7 +2106,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 47:
|
||||
YY_RULE_SETUP
|
||||
#line 531 "d2_lexer.ll"
|
||||
#line 532 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::LOGGERS:
|
||||
@ -2117,7 +2118,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 48:
|
||||
YY_RULE_SETUP
|
||||
#line 540 "d2_lexer.ll"
|
||||
#line 541 "d2_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case isc::d2::D2ParserContext::LOGGERS:
|
||||
@ -2129,7 +2130,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 49:
|
||||
YY_RULE_SETUP
|
||||
#line 549 "d2_lexer.ll"
|
||||
#line 550 "d2_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.
|
||||
@ -2234,7 +2235,7 @@ YY_RULE_SETUP
|
||||
case 50:
|
||||
/* rule 50 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 650 "d2_lexer.ll"
|
||||
#line 651 "d2_lexer.ll"
|
||||
{
|
||||
/* Bad string with a forbidden control character inside */
|
||||
std::string raw(yytext+1);
|
||||
@ -2254,7 +2255,7 @@ YY_RULE_SETUP
|
||||
case 51:
|
||||
/* rule 51 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 666 "d2_lexer.ll"
|
||||
#line 667 "d2_lexer.ll"
|
||||
{
|
||||
/* Bad string with a bad escape inside */
|
||||
std::string raw(yytext+1);
|
||||
@ -2306,7 +2307,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 52:
|
||||
YY_RULE_SETUP
|
||||
#line 715 "d2_lexer.ll"
|
||||
#line 716 "d2_lexer.ll"
|
||||
{
|
||||
/* Bad string with an open escape at the end */
|
||||
std::string raw(yytext+1);
|
||||
@ -2317,7 +2318,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 53:
|
||||
YY_RULE_SETUP
|
||||
#line 723 "d2_lexer.ll"
|
||||
#line 724 "d2_lexer.ll"
|
||||
{
|
||||
/* Bad string with an open unicode escape at the end */
|
||||
std::string raw(yytext+1);
|
||||
@ -2335,37 +2336,37 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 54:
|
||||
YY_RULE_SETUP
|
||||
#line 738 "d2_lexer.ll"
|
||||
#line 739 "d2_lexer.ll"
|
||||
{ return isc::d2::D2Parser::make_LSQUARE_BRACKET(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 55:
|
||||
YY_RULE_SETUP
|
||||
#line 739 "d2_lexer.ll"
|
||||
#line 740 "d2_lexer.ll"
|
||||
{ return isc::d2::D2Parser::make_RSQUARE_BRACKET(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 56:
|
||||
YY_RULE_SETUP
|
||||
#line 740 "d2_lexer.ll"
|
||||
#line 741 "d2_lexer.ll"
|
||||
{ return isc::d2::D2Parser::make_LCURLY_BRACKET(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 57:
|
||||
YY_RULE_SETUP
|
||||
#line 741 "d2_lexer.ll"
|
||||
#line 742 "d2_lexer.ll"
|
||||
{ return isc::d2::D2Parser::make_RCURLY_BRACKET(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 58:
|
||||
YY_RULE_SETUP
|
||||
#line 742 "d2_lexer.ll"
|
||||
#line 743 "d2_lexer.ll"
|
||||
{ return isc::d2::D2Parser::make_COMMA(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 59:
|
||||
YY_RULE_SETUP
|
||||
#line 743 "d2_lexer.ll"
|
||||
#line 744 "d2_lexer.ll"
|
||||
{ return isc::d2::D2Parser::make_COLON(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 60:
|
||||
YY_RULE_SETUP
|
||||
#line 745 "d2_lexer.ll"
|
||||
#line 746 "d2_lexer.ll"
|
||||
{
|
||||
/* An integer was found. */
|
||||
std::string tmp(yytext);
|
||||
@ -2386,7 +2387,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 61:
|
||||
YY_RULE_SETUP
|
||||
#line 763 "d2_lexer.ll"
|
||||
#line 764 "d2_lexer.ll"
|
||||
{
|
||||
/* A floating point was found. */
|
||||
std::string tmp(yytext);
|
||||
@ -2402,7 +2403,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 62:
|
||||
YY_RULE_SETUP
|
||||
#line 776 "d2_lexer.ll"
|
||||
#line 777 "d2_lexer.ll"
|
||||
{
|
||||
string tmp(yytext);
|
||||
return isc::d2::D2Parser::make_BOOLEAN(tmp == "true", driver.loc_);
|
||||
@ -2410,33 +2411,33 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 63:
|
||||
YY_RULE_SETUP
|
||||
#line 781 "d2_lexer.ll"
|
||||
#line 782 "d2_lexer.ll"
|
||||
{
|
||||
return isc::d2::D2Parser::make_NULL_TYPE(driver.loc_);
|
||||
}
|
||||
YY_BREAK
|
||||
case 64:
|
||||
YY_RULE_SETUP
|
||||
#line 785 "d2_lexer.ll"
|
||||
#line 786 "d2_lexer.ll"
|
||||
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
|
||||
YY_BREAK
|
||||
case 65:
|
||||
YY_RULE_SETUP
|
||||
#line 787 "d2_lexer.ll"
|
||||
#line 788 "d2_lexer.ll"
|
||||
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
|
||||
YY_BREAK
|
||||
case 66:
|
||||
YY_RULE_SETUP
|
||||
#line 789 "d2_lexer.ll"
|
||||
#line 790 "d2_lexer.ll"
|
||||
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
|
||||
YY_BREAK
|
||||
case 67:
|
||||
YY_RULE_SETUP
|
||||
#line 791 "d2_lexer.ll"
|
||||
#line 792 "d2_lexer.ll"
|
||||
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
|
||||
YY_BREAK
|
||||
case YY_STATE_EOF(INITIAL):
|
||||
#line 793 "d2_lexer.ll"
|
||||
#line 794 "d2_lexer.ll"
|
||||
{
|
||||
if (driver.states_.empty()) {
|
||||
return isc::d2::D2Parser::make_END(driver.loc_);
|
||||
@ -2462,10 +2463,10 @@ case YY_STATE_EOF(INITIAL):
|
||||
YY_BREAK
|
||||
case 68:
|
||||
YY_RULE_SETUP
|
||||
#line 816 "d2_lexer.ll"
|
||||
#line 817 "d2_lexer.ll"
|
||||
ECHO;
|
||||
YY_BREAK
|
||||
#line 2468 "d2_lexer.cc"
|
||||
#line 2469 "d2_lexer.cc"
|
||||
|
||||
case YY_END_OF_BUFFER:
|
||||
{
|
||||
@ -3570,7 +3571,7 @@ void yyfree (void * ptr )
|
||||
|
||||
/* %ok-for-header */
|
||||
|
||||
#line 816 "d2_lexer.ll"
|
||||
#line 817 "d2_lexer.ll"
|
||||
|
||||
|
||||
using namespace isc::dhcp;
|
||||
|
@ -1,3 +1,4 @@
|
||||
// Generated 202308031547
|
||||
// A Bison parser, made by GNU Bison 3.8.2.
|
||||
|
||||
// Locations for Bison parsers in C++
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,4 @@
|
||||
// Generated 202308031547
|
||||
// A Bison parser, made by GNU Bison 3.8.2.
|
||||
|
||||
// Locations for Bison parsers in C++
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,4 @@
|
||||
// Generated 202308031547
|
||||
// A Bison parser, made by GNU Bison 3.8.2.
|
||||
|
||||
// Locations for Bison parsers in C++
|
||||
|
@ -1,3 +1,4 @@
|
||||
// Generated 202308031548
|
||||
// A Bison parser, made by GNU Bison 3.8.2.
|
||||
|
||||
// Locations for Bison parsers in C++
|
||||
|
@ -1440,13 +1440,13 @@ int yy_flex_debug = 1;
|
||||
|
||||
static const flex_int16_t yy_rule_linenum[63] =
|
||||
{ 0,
|
||||
134, 136, 138, 143, 144, 149, 150, 151, 163, 166,
|
||||
171, 178, 187, 199, 211, 221, 231, 241, 250, 259,
|
||||
268, 277, 286, 295, 304, 313, 322, 331, 340, 349,
|
||||
358, 367, 376, 385, 394, 403, 412, 421, 430, 439,
|
||||
448, 457, 466, 475, 576, 592, 641, 649, 664, 665,
|
||||
666, 667, 668, 669, 671, 689, 702, 707, 711, 713,
|
||||
715, 717
|
||||
135, 137, 139, 144, 145, 150, 151, 152, 164, 167,
|
||||
172, 179, 188, 200, 212, 222, 232, 242, 251, 260,
|
||||
269, 278, 287, 296, 305, 314, 323, 332, 341, 350,
|
||||
359, 368, 377, 386, 395, 404, 413, 422, 431, 440,
|
||||
449, 458, 467, 476, 577, 593, 642, 650, 665, 666,
|
||||
667, 668, 669, 670, 672, 690, 703, 708, 712, 714,
|
||||
716, 718
|
||||
} ;
|
||||
|
||||
/* The intent behind this definition is that it'll catch
|
||||
@ -1458,7 +1458,7 @@ static const flex_int16_t yy_rule_linenum[63] =
|
||||
#define YY_RESTORE_YY_MORE_OFFSET
|
||||
char *yytext;
|
||||
#line 1 "netconf_lexer.ll"
|
||||
/* Copyright (C) 2018-2020 Internet Systems Consortium, Inc. ("ISC")
|
||||
/* Copyright (C) 2018-2023 Internet Systems Consortium, Inc. ("ISC")
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@ -1471,6 +1471,7 @@ char *yytext;
|
||||
#include <cctype>
|
||||
#include <cerrno>
|
||||
#include <climits>
|
||||
#include <cstdint>
|
||||
#include <cstdlib>
|
||||
#include <string>
|
||||
#include <netconf/parser_context.h>
|
||||
@ -1502,7 +1503,7 @@ using isc::netconf::NetconfParser;
|
||||
|
||||
/* To avoid the call to exit... oops! */
|
||||
#define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg)
|
||||
#line 1505 "netconf_lexer.cc"
|
||||
#line 1506 "netconf_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 yywrap requires linking with -lfl, which provides the default yywrap
|
||||
@ -1523,13 +1524,13 @@ using isc::netconf::NetconfParser;
|
||||
can be used during actual token definitions. Note some can match
|
||||
incorrect inputs (e.g., IP addresses) which must be checked. */
|
||||
/* for errors */
|
||||
#line 97 "netconf_lexer.ll"
|
||||
#line 98 "netconf_lexer.ll"
|
||||
/* This code run each time a pattern is matched. It updates the location
|
||||
by moving it ahead by yyleng bytes. yyleng specifies the length of the
|
||||
currently matched token. */
|
||||
#define YY_USER_ACTION driver.loc_.columns(yyleng);
|
||||
#line 1531 "netconf_lexer.cc"
|
||||
#line 1532 "netconf_lexer.cc"
|
||||
#line 1533 "netconf_lexer.cc"
|
||||
|
||||
#define INITIAL 0
|
||||
#define COMMENT 1
|
||||
@ -1811,11 +1812,11 @@ YY_DECL
|
||||
|
||||
{
|
||||
/* %% [7.0] user's declarations go here */
|
||||
#line 103 "netconf_lexer.ll"
|
||||
#line 104 "netconf_lexer.ll"
|
||||
|
||||
|
||||
|
||||
#line 107 "netconf_lexer.ll"
|
||||
#line 108 "netconf_lexer.ll"
|
||||
/* This part of the code is copied over to the verbatim to the top
|
||||
of the generated yylex function. Explanation:
|
||||
http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */
|
||||
@ -1843,7 +1844,7 @@ YY_DECL
|
||||
}
|
||||
|
||||
|
||||
#line 1846 "netconf_lexer.cc"
|
||||
#line 1847 "netconf_lexer.cc"
|
||||
|
||||
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
|
||||
{
|
||||
@ -1921,17 +1922,17 @@ do_action: /* This label is used only to access EOF actions. */
|
||||
|
||||
case 1:
|
||||
YY_RULE_SETUP
|
||||
#line 134 "netconf_lexer.ll"
|
||||
#line 135 "netconf_lexer.ll"
|
||||
;
|
||||
YY_BREAK
|
||||
case 2:
|
||||
YY_RULE_SETUP
|
||||
#line 136 "netconf_lexer.ll"
|
||||
#line 137 "netconf_lexer.ll"
|
||||
;
|
||||
YY_BREAK
|
||||
case 3:
|
||||
YY_RULE_SETUP
|
||||
#line 138 "netconf_lexer.ll"
|
||||
#line 139 "netconf_lexer.ll"
|
||||
{
|
||||
BEGIN(COMMENT);
|
||||
comment_start_line = driver.loc_.end.line;;
|
||||
@ -1939,33 +1940,33 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 4:
|
||||
YY_RULE_SETUP
|
||||
#line 143 "netconf_lexer.ll"
|
||||
#line 144 "netconf_lexer.ll"
|
||||
BEGIN(INITIAL);
|
||||
YY_BREAK
|
||||
case 5:
|
||||
YY_RULE_SETUP
|
||||
#line 144 "netconf_lexer.ll"
|
||||
#line 145 "netconf_lexer.ll"
|
||||
;
|
||||
YY_BREAK
|
||||
case YY_STATE_EOF(COMMENT):
|
||||
#line 145 "netconf_lexer.ll"
|
||||
#line 146 "netconf_lexer.ll"
|
||||
{
|
||||
isc_throw(ParseError, "Comment not closed. (/* in line " << comment_start_line);
|
||||
}
|
||||
YY_BREAK
|
||||
case 6:
|
||||
YY_RULE_SETUP
|
||||
#line 149 "netconf_lexer.ll"
|
||||
#line 150 "netconf_lexer.ll"
|
||||
BEGIN(DIR_ENTER);
|
||||
YY_BREAK
|
||||
case 7:
|
||||
YY_RULE_SETUP
|
||||
#line 150 "netconf_lexer.ll"
|
||||
#line 151 "netconf_lexer.ll"
|
||||
BEGIN(DIR_INCLUDE);
|
||||
YY_BREAK
|
||||
case 8:
|
||||
YY_RULE_SETUP
|
||||
#line 151 "netconf_lexer.ll"
|
||||
#line 152 "netconf_lexer.ll"
|
||||
{
|
||||
/* Include directive. */
|
||||
|
||||
@ -1979,19 +1980,19 @@ YY_RULE_SETUP
|
||||
case YY_STATE_EOF(DIR_ENTER):
|
||||
case YY_STATE_EOF(DIR_INCLUDE):
|
||||
case YY_STATE_EOF(DIR_EXIT):
|
||||
#line 160 "netconf_lexer.ll"
|
||||
#line 161 "netconf_lexer.ll"
|
||||
{
|
||||
isc_throw(ParseError, "Directive not closed.");
|
||||
}
|
||||
YY_BREAK
|
||||
case 9:
|
||||
YY_RULE_SETUP
|
||||
#line 163 "netconf_lexer.ll"
|
||||
#line 164 "netconf_lexer.ll"
|
||||
BEGIN(INITIAL);
|
||||
YY_BREAK
|
||||
case 10:
|
||||
YY_RULE_SETUP
|
||||
#line 166 "netconf_lexer.ll"
|
||||
#line 167 "netconf_lexer.ll"
|
||||
{
|
||||
/* Ok, we found a with space. Let's ignore it and update loc variable. */
|
||||
driver.loc_.step();
|
||||
@ -2000,7 +2001,7 @@ YY_RULE_SETUP
|
||||
case 11:
|
||||
/* rule 11 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 171 "netconf_lexer.ll"
|
||||
#line 172 "netconf_lexer.ll"
|
||||
{
|
||||
/* Newline found. Let's update the location and continue. */
|
||||
driver.loc_.lines(yyleng);
|
||||
@ -2009,7 +2010,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 12:
|
||||
YY_RULE_SETUP
|
||||
#line 178 "netconf_lexer.ll"
|
||||
#line 179 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::CONFIG:
|
||||
@ -2021,7 +2022,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 13:
|
||||
YY_RULE_SETUP
|
||||
#line 187 "netconf_lexer.ll"
|
||||
#line 188 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::NETCONF:
|
||||
@ -2036,7 +2037,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 14:
|
||||
YY_RULE_SETUP
|
||||
#line 199 "netconf_lexer.ll"
|
||||
#line 200 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::NETCONF:
|
||||
@ -2051,7 +2052,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 15:
|
||||
YY_RULE_SETUP
|
||||
#line 211 "netconf_lexer.ll"
|
||||
#line 212 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::NETCONF:
|
||||
@ -2064,7 +2065,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 16:
|
||||
YY_RULE_SETUP
|
||||
#line 221 "netconf_lexer.ll"
|
||||
#line 222 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::NETCONF:
|
||||
@ -2077,7 +2078,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 17:
|
||||
YY_RULE_SETUP
|
||||
#line 231 "netconf_lexer.ll"
|
||||
#line 232 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::NETCONF:
|
||||
@ -2090,7 +2091,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 18:
|
||||
YY_RULE_SETUP
|
||||
#line 241 "netconf_lexer.ll"
|
||||
#line 242 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::NETCONF:
|
||||
@ -2102,7 +2103,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 19:
|
||||
YY_RULE_SETUP
|
||||
#line 250 "netconf_lexer.ll"
|
||||
#line 251 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::MANAGED_SERVERS:
|
||||
@ -2114,7 +2115,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 20:
|
||||
YY_RULE_SETUP
|
||||
#line 259 "netconf_lexer.ll"
|
||||
#line 260 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::MANAGED_SERVERS:
|
||||
@ -2126,7 +2127,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 21:
|
||||
YY_RULE_SETUP
|
||||
#line 268 "netconf_lexer.ll"
|
||||
#line 269 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::MANAGED_SERVERS:
|
||||
@ -2138,7 +2139,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 22:
|
||||
YY_RULE_SETUP
|
||||
#line 277 "netconf_lexer.ll"
|
||||
#line 278 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::MANAGED_SERVERS:
|
||||
@ -2150,7 +2151,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 23:
|
||||
YY_RULE_SETUP
|
||||
#line 286 "netconf_lexer.ll"
|
||||
#line 287 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::SERVER:
|
||||
@ -2162,7 +2163,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 24:
|
||||
YY_RULE_SETUP
|
||||
#line 295 "netconf_lexer.ll"
|
||||
#line 296 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::SERVER:
|
||||
@ -2174,7 +2175,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 25:
|
||||
YY_RULE_SETUP
|
||||
#line 304 "netconf_lexer.ll"
|
||||
#line 305 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::SOCKET_TYPE:
|
||||
@ -2186,7 +2187,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 26:
|
||||
YY_RULE_SETUP
|
||||
#line 313 "netconf_lexer.ll"
|
||||
#line 314 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::SOCKET_TYPE:
|
||||
@ -2198,7 +2199,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 27:
|
||||
YY_RULE_SETUP
|
||||
#line 322 "netconf_lexer.ll"
|
||||
#line 323 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::SOCKET_TYPE:
|
||||
@ -2210,7 +2211,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 28:
|
||||
YY_RULE_SETUP
|
||||
#line 331 "netconf_lexer.ll"
|
||||
#line 332 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::CONTROL_SOCKET:
|
||||
@ -2222,7 +2223,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 29:
|
||||
YY_RULE_SETUP
|
||||
#line 340 "netconf_lexer.ll"
|
||||
#line 341 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::CONTROL_SOCKET:
|
||||
@ -2234,7 +2235,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 30:
|
||||
YY_RULE_SETUP
|
||||
#line 349 "netconf_lexer.ll"
|
||||
#line 350 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::CONTROL_SOCKET:
|
||||
@ -2246,7 +2247,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 31:
|
||||
YY_RULE_SETUP
|
||||
#line 358 "netconf_lexer.ll"
|
||||
#line 359 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::NETCONF:
|
||||
@ -2258,7 +2259,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 32:
|
||||
YY_RULE_SETUP
|
||||
#line 367 "netconf_lexer.ll"
|
||||
#line 368 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::HOOKS_LIBRARIES:
|
||||
@ -2270,7 +2271,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 33:
|
||||
YY_RULE_SETUP
|
||||
#line 376 "netconf_lexer.ll"
|
||||
#line 377 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::HOOKS_LIBRARIES:
|
||||
@ -2282,7 +2283,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 34:
|
||||
YY_RULE_SETUP
|
||||
#line 385 "netconf_lexer.ll"
|
||||
#line 386 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::NETCONF:
|
||||
@ -2294,7 +2295,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 35:
|
||||
YY_RULE_SETUP
|
||||
#line 394 "netconf_lexer.ll"
|
||||
#line 395 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::LOGGERS:
|
||||
@ -2306,7 +2307,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 36:
|
||||
YY_RULE_SETUP
|
||||
#line 403 "netconf_lexer.ll"
|
||||
#line 404 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::LOGGERS:
|
||||
@ -2318,7 +2319,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 37:
|
||||
YY_RULE_SETUP
|
||||
#line 412 "netconf_lexer.ll"
|
||||
#line 413 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2330,7 +2331,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 38:
|
||||
YY_RULE_SETUP
|
||||
#line 421 "netconf_lexer.ll"
|
||||
#line 422 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2342,7 +2343,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 39:
|
||||
YY_RULE_SETUP
|
||||
#line 430 "netconf_lexer.ll"
|
||||
#line 431 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2354,7 +2355,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 40:
|
||||
YY_RULE_SETUP
|
||||
#line 439 "netconf_lexer.ll"
|
||||
#line 440 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2366,7 +2367,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 41:
|
||||
YY_RULE_SETUP
|
||||
#line 448 "netconf_lexer.ll"
|
||||
#line 449 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::OUTPUT_OPTIONS:
|
||||
@ -2378,7 +2379,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 42:
|
||||
YY_RULE_SETUP
|
||||
#line 457 "netconf_lexer.ll"
|
||||
#line 458 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::LOGGERS:
|
||||
@ -2390,7 +2391,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 43:
|
||||
YY_RULE_SETUP
|
||||
#line 466 "netconf_lexer.ll"
|
||||
#line 467 "netconf_lexer.ll"
|
||||
{
|
||||
switch(driver.ctx_) {
|
||||
case ParserContext::LOGGERS:
|
||||
@ -2402,7 +2403,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 44:
|
||||
YY_RULE_SETUP
|
||||
#line 475 "netconf_lexer.ll"
|
||||
#line 476 "netconf_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.
|
||||
@ -2507,7 +2508,7 @@ YY_RULE_SETUP
|
||||
case 45:
|
||||
/* rule 45 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 576 "netconf_lexer.ll"
|
||||
#line 577 "netconf_lexer.ll"
|
||||
{
|
||||
/* Bad string with a forbidden control character inside */
|
||||
std::string raw(yytext+1);
|
||||
@ -2527,7 +2528,7 @@ YY_RULE_SETUP
|
||||
case 46:
|
||||
/* rule 46 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 592 "netconf_lexer.ll"
|
||||
#line 593 "netconf_lexer.ll"
|
||||
{
|
||||
/* Bad string with a bad escape inside */
|
||||
std::string raw(yytext+1);
|
||||
@ -2579,7 +2580,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 47:
|
||||
YY_RULE_SETUP
|
||||
#line 641 "netconf_lexer.ll"
|
||||
#line 642 "netconf_lexer.ll"
|
||||
{
|
||||
/* Bad string with an open escape at the end */
|
||||
std::string raw(yytext+1);
|
||||
@ -2590,7 +2591,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 48:
|
||||
YY_RULE_SETUP
|
||||
#line 649 "netconf_lexer.ll"
|
||||
#line 650 "netconf_lexer.ll"
|
||||
{
|
||||
/* Bad string with an open unicode escape at the end */
|
||||
std::string raw(yytext+1);
|
||||
@ -2608,37 +2609,37 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 49:
|
||||
YY_RULE_SETUP
|
||||
#line 664 "netconf_lexer.ll"
|
||||
#line 665 "netconf_lexer.ll"
|
||||
{ return NetconfParser::make_LSQUARE_BRACKET(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 50:
|
||||
YY_RULE_SETUP
|
||||
#line 665 "netconf_lexer.ll"
|
||||
#line 666 "netconf_lexer.ll"
|
||||
{ return NetconfParser::make_RSQUARE_BRACKET(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 51:
|
||||
YY_RULE_SETUP
|
||||
#line 666 "netconf_lexer.ll"
|
||||
#line 667 "netconf_lexer.ll"
|
||||
{ return NetconfParser::make_LCURLY_BRACKET(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 52:
|
||||
YY_RULE_SETUP
|
||||
#line 667 "netconf_lexer.ll"
|
||||
#line 668 "netconf_lexer.ll"
|
||||
{ return NetconfParser::make_RCURLY_BRACKET(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 53:
|
||||
YY_RULE_SETUP
|
||||
#line 668 "netconf_lexer.ll"
|
||||
#line 669 "netconf_lexer.ll"
|
||||
{ return NetconfParser::make_COMMA(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 54:
|
||||
YY_RULE_SETUP
|
||||
#line 669 "netconf_lexer.ll"
|
||||
#line 670 "netconf_lexer.ll"
|
||||
{ return NetconfParser::make_COLON(driver.loc_); }
|
||||
YY_BREAK
|
||||
case 55:
|
||||
YY_RULE_SETUP
|
||||
#line 671 "netconf_lexer.ll"
|
||||
#line 672 "netconf_lexer.ll"
|
||||
{
|
||||
/* An integer was found. */
|
||||
std::string tmp(yytext);
|
||||
@ -2659,7 +2660,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 56:
|
||||
YY_RULE_SETUP
|
||||
#line 689 "netconf_lexer.ll"
|
||||
#line 690 "netconf_lexer.ll"
|
||||
{
|
||||
/* A floating point was found. */
|
||||
std::string tmp(yytext);
|
||||
@ -2675,7 +2676,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 57:
|
||||
YY_RULE_SETUP
|
||||
#line 702 "netconf_lexer.ll"
|
||||
#line 703 "netconf_lexer.ll"
|
||||
{
|
||||
string tmp(yytext);
|
||||
return NetconfParser::make_BOOLEAN(tmp == "true", driver.loc_);
|
||||
@ -2683,33 +2684,33 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 58:
|
||||
YY_RULE_SETUP
|
||||
#line 707 "netconf_lexer.ll"
|
||||
#line 708 "netconf_lexer.ll"
|
||||
{
|
||||
return NetconfParser::make_NULL_TYPE(driver.loc_);
|
||||
}
|
||||
YY_BREAK
|
||||
case 59:
|
||||
YY_RULE_SETUP
|
||||
#line 711 "netconf_lexer.ll"
|
||||
#line 712 "netconf_lexer.ll"
|
||||
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
|
||||
YY_BREAK
|
||||
case 60:
|
||||
YY_RULE_SETUP
|
||||
#line 713 "netconf_lexer.ll"
|
||||
#line 714 "netconf_lexer.ll"
|
||||
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
|
||||
YY_BREAK
|
||||
case 61:
|
||||
YY_RULE_SETUP
|
||||
#line 715 "netconf_lexer.ll"
|
||||
#line 716 "netconf_lexer.ll"
|
||||
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
|
||||
YY_BREAK
|
||||
case 62:
|
||||
YY_RULE_SETUP
|
||||
#line 717 "netconf_lexer.ll"
|
||||
#line 718 "netconf_lexer.ll"
|
||||
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
|
||||
YY_BREAK
|
||||
case YY_STATE_EOF(INITIAL):
|
||||
#line 719 "netconf_lexer.ll"
|
||||
#line 720 "netconf_lexer.ll"
|
||||
{
|
||||
if (driver.states_.empty()) {
|
||||
return NetconfParser::make_END(driver.loc_);
|
||||
@ -2735,10 +2736,10 @@ case YY_STATE_EOF(INITIAL):
|
||||
YY_BREAK
|
||||
case 63:
|
||||
YY_RULE_SETUP
|
||||
#line 742 "netconf_lexer.ll"
|
||||
#line 743 "netconf_lexer.ll"
|
||||
ECHO;
|
||||
YY_BREAK
|
||||
#line 2741 "netconf_lexer.cc"
|
||||
#line 2742 "netconf_lexer.cc"
|
||||
|
||||
case YY_END_OF_BUFFER:
|
||||
{
|
||||
@ -3843,7 +3844,7 @@ void yyfree (void * ptr )
|
||||
|
||||
/* %ok-for-header */
|
||||
|
||||
#line 742 "netconf_lexer.ll"
|
||||
#line 743 "netconf_lexer.ll"
|
||||
|
||||
|
||||
using namespace isc::dhcp;
|
||||
|
@ -984,13 +984,13 @@ int yy_flex_debug = 1;
|
||||
|
||||
static const flex_int16_t yy_rule_linenum[63] =
|
||||
{ 0,
|
||||
106, 111, 117, 127, 133, 151, 175, 189, 190, 191,
|
||||
192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
|
||||
202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
|
||||
212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
|
||||
222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
|
||||
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
|
||||
242, 243
|
||||
107, 112, 118, 128, 134, 152, 176, 190, 191, 192,
|
||||
193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
|
||||
203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
|
||||
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
|
||||
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
|
||||
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
|
||||
243, 244
|
||||
} ;
|
||||
|
||||
/* The intent behind this definition is that it'll catch
|
||||
@ -1002,7 +1002,7 @@ static const flex_int16_t yy_rule_linenum[63] =
|
||||
#define YY_RESTORE_YY_MORE_OFFSET
|
||||
char *yytext;
|
||||
#line 1 "lexer.ll"
|
||||
/* Copyright (C) 2015-2022 Internet Systems Consortium, Inc. ("ISC")
|
||||
/* Copyright (C) 2015-2023 Internet Systems Consortium, Inc. ("ISC")
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@ -1014,6 +1014,7 @@ char *yytext;
|
||||
|
||||
#include <cerrno>
|
||||
#include <climits>
|
||||
#include <cstdint>
|
||||
#include <cstdlib>
|
||||
#include <string>
|
||||
#include <eval/eval_context.h>
|
||||
@ -1041,7 +1042,7 @@ namespace {
|
||||
|
||||
/* To avoid the call to exit... oops! */
|
||||
#define YY_FATAL_ERROR(msg) isc::eval::EvalContext::fatal(msg)
|
||||
#line 1044 "lexer.cc"
|
||||
#line 1045 "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 yywrap requires linking with -lfl, which provides the default yywrap
|
||||
@ -1061,13 +1062,13 @@ namespace {
|
||||
/* 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. */
|
||||
#line 80 "lexer.ll"
|
||||
#line 81 "lexer.ll"
|
||||
/* This code run each time a pattern is matched. It updates the location
|
||||
by moving it ahead by yyleng bytes. yyleng specifies the length of the
|
||||
currently matched token. */
|
||||
#define YY_USER_ACTION loc.columns(evalleng);
|
||||
#line 1069 "lexer.cc"
|
||||
#line 1070 "lexer.cc"
|
||||
#line 1071 "lexer.cc"
|
||||
|
||||
#define INITIAL 0
|
||||
|
||||
@ -1345,11 +1346,11 @@ YY_DECL
|
||||
|
||||
{
|
||||
/* %% [7.0] user's declarations go here */
|
||||
#line 86 "lexer.ll"
|
||||
#line 87 "lexer.ll"
|
||||
|
||||
|
||||
|
||||
#line 90 "lexer.ll"
|
||||
#line 91 "lexer.ll"
|
||||
/* Code run each time evallex is called. */
|
||||
loc.step();
|
||||
|
||||
@ -1366,7 +1367,7 @@ YY_DECL
|
||||
|
||||
|
||||
|
||||
#line 1369 "lexer.cc"
|
||||
#line 1370 "lexer.cc"
|
||||
|
||||
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
|
||||
{
|
||||
@ -1454,7 +1455,7 @@ do_action: /* This label is used only to access EOF actions. */
|
||||
|
||||
case 1:
|
||||
YY_RULE_SETUP
|
||||
#line 106 "lexer.ll"
|
||||
#line 107 "lexer.ll"
|
||||
{
|
||||
/* Ok, we found a with space. Let's ignore it and update loc variable. */
|
||||
loc.step();
|
||||
@ -1463,7 +1464,7 @@ YY_RULE_SETUP
|
||||
case 2:
|
||||
/* rule 2 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 111 "lexer.ll"
|
||||
#line 112 "lexer.ll"
|
||||
{
|
||||
/* Newline found. Let's update the location and continue. */
|
||||
loc.lines(evalleng);
|
||||
@ -1472,7 +1473,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 3:
|
||||
YY_RULE_SETUP
|
||||
#line 117 "lexer.ll"
|
||||
#line 118 "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.
|
||||
@ -1485,7 +1486,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 4:
|
||||
YY_RULE_SETUP
|
||||
#line 127 "lexer.ll"
|
||||
#line 128 "lexer.ll"
|
||||
{
|
||||
/* A hex string has been matched. It contains the '0x' or '0X' header
|
||||
followed by at least one hexadecimal digit. */
|
||||
@ -1494,7 +1495,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 5:
|
||||
YY_RULE_SETUP
|
||||
#line 133 "lexer.ll"
|
||||
#line 134 "lexer.ll"
|
||||
{
|
||||
/* An integer was found. */
|
||||
std::string tmp(evaltext);
|
||||
@ -1520,7 +1521,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1);
|
||||
(yy_c_buf_p) = yy_cp -= 1;
|
||||
YY_DO_BEFORE_ACTION; /* set up yytext again */
|
||||
YY_RULE_SETUP
|
||||
#line 151 "lexer.ll"
|
||||
#line 152 "lexer.ll"
|
||||
{
|
||||
/* This string specifies option name starting with a letter
|
||||
and further containing letters, digits, hyphens and
|
||||
@ -1547,7 +1548,7 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 7:
|
||||
YY_RULE_SETUP
|
||||
#line 175 "lexer.ll"
|
||||
#line 176 "lexer.ll"
|
||||
{
|
||||
/* IPv4 or IPv6 address */
|
||||
std::string tmp(evaltext);
|
||||
@ -1564,289 +1565,289 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 8:
|
||||
YY_RULE_SETUP
|
||||
#line 189 "lexer.ll"
|
||||
#line 190 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_EQUAL(loc);
|
||||
YY_BREAK
|
||||
case 9:
|
||||
YY_RULE_SETUP
|
||||
#line 190 "lexer.ll"
|
||||
#line 191 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_OPTION(loc);
|
||||
YY_BREAK
|
||||
case 10:
|
||||
YY_RULE_SETUP
|
||||
#line 191 "lexer.ll"
|
||||
#line 192 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_RELAY4(loc);
|
||||
YY_BREAK
|
||||
case 11:
|
||||
YY_RULE_SETUP
|
||||
#line 192 "lexer.ll"
|
||||
#line 193 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_RELAY6(loc);
|
||||
YY_BREAK
|
||||
case 12:
|
||||
YY_RULE_SETUP
|
||||
#line 193 "lexer.ll"
|
||||
#line 194 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_PEERADDR(loc);
|
||||
YY_BREAK
|
||||
case 13:
|
||||
YY_RULE_SETUP
|
||||
#line 194 "lexer.ll"
|
||||
#line 195 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_LINKADDR(loc);
|
||||
YY_BREAK
|
||||
case 14:
|
||||
YY_RULE_SETUP
|
||||
#line 195 "lexer.ll"
|
||||
#line 196 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_TEXT(loc);
|
||||
YY_BREAK
|
||||
case 15:
|
||||
YY_RULE_SETUP
|
||||
#line 196 "lexer.ll"
|
||||
#line 197 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_HEX(loc);
|
||||
YY_BREAK
|
||||
case 16:
|
||||
YY_RULE_SETUP
|
||||
#line 197 "lexer.ll"
|
||||
#line 198 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_EXISTS(loc);
|
||||
YY_BREAK
|
||||
case 17:
|
||||
YY_RULE_SETUP
|
||||
#line 198 "lexer.ll"
|
||||
#line 199 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_PKT(loc);
|
||||
YY_BREAK
|
||||
case 18:
|
||||
YY_RULE_SETUP
|
||||
#line 199 "lexer.ll"
|
||||
#line 200 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_IFACE(loc);
|
||||
YY_BREAK
|
||||
case 19:
|
||||
YY_RULE_SETUP
|
||||
#line 200 "lexer.ll"
|
||||
#line 201 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_SRC(loc);
|
||||
YY_BREAK
|
||||
case 20:
|
||||
YY_RULE_SETUP
|
||||
#line 201 "lexer.ll"
|
||||
#line 202 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_DST(loc);
|
||||
YY_BREAK
|
||||
case 21:
|
||||
YY_RULE_SETUP
|
||||
#line 202 "lexer.ll"
|
||||
#line 203 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_LEN(loc);
|
||||
YY_BREAK
|
||||
case 22:
|
||||
YY_RULE_SETUP
|
||||
#line 203 "lexer.ll"
|
||||
#line 204 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_PKT4(loc);
|
||||
YY_BREAK
|
||||
case 23:
|
||||
YY_RULE_SETUP
|
||||
#line 204 "lexer.ll"
|
||||
#line 205 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_CHADDR(loc);
|
||||
YY_BREAK
|
||||
case 24:
|
||||
YY_RULE_SETUP
|
||||
#line 205 "lexer.ll"
|
||||
#line 206 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_HLEN(loc);
|
||||
YY_BREAK
|
||||
case 25:
|
||||
YY_RULE_SETUP
|
||||
#line 206 "lexer.ll"
|
||||
#line 207 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_HTYPE(loc);
|
||||
YY_BREAK
|
||||
case 26:
|
||||
YY_RULE_SETUP
|
||||
#line 207 "lexer.ll"
|
||||
#line 208 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_CIADDR(loc);
|
||||
YY_BREAK
|
||||
case 27:
|
||||
YY_RULE_SETUP
|
||||
#line 208 "lexer.ll"
|
||||
#line 209 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_GIADDR(loc);
|
||||
YY_BREAK
|
||||
case 28:
|
||||
YY_RULE_SETUP
|
||||
#line 209 "lexer.ll"
|
||||
#line 210 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_YIADDR(loc);
|
||||
YY_BREAK
|
||||
case 29:
|
||||
YY_RULE_SETUP
|
||||
#line 210 "lexer.ll"
|
||||
#line 211 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_SIADDR(loc);
|
||||
YY_BREAK
|
||||
case 30:
|
||||
YY_RULE_SETUP
|
||||
#line 211 "lexer.ll"
|
||||
#line 212 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_PKT6(loc);
|
||||
YY_BREAK
|
||||
case 31:
|
||||
YY_RULE_SETUP
|
||||
#line 212 "lexer.ll"
|
||||
#line 213 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_MSGTYPE(loc);
|
||||
YY_BREAK
|
||||
case 32:
|
||||
YY_RULE_SETUP
|
||||
#line 213 "lexer.ll"
|
||||
#line 214 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_TRANSID(loc);
|
||||
YY_BREAK
|
||||
case 33:
|
||||
YY_RULE_SETUP
|
||||
#line 214 "lexer.ll"
|
||||
#line 215 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_VENDOR(loc);
|
||||
YY_BREAK
|
||||
case 34:
|
||||
YY_RULE_SETUP
|
||||
#line 215 "lexer.ll"
|
||||
#line 216 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_VENDOR_CLASS(loc);
|
||||
YY_BREAK
|
||||
case 35:
|
||||
YY_RULE_SETUP
|
||||
#line 216 "lexer.ll"
|
||||
#line 217 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_DATA(loc);
|
||||
YY_BREAK
|
||||
case 36:
|
||||
YY_RULE_SETUP
|
||||
#line 217 "lexer.ll"
|
||||
#line 218 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_ENTERPRISE(loc);
|
||||
YY_BREAK
|
||||
case 37:
|
||||
YY_RULE_SETUP
|
||||
#line 218 "lexer.ll"
|
||||
#line 219 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_SUBSTRING(loc);
|
||||
YY_BREAK
|
||||
case 38:
|
||||
YY_RULE_SETUP
|
||||
#line 219 "lexer.ll"
|
||||
#line 220 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_SPLIT(loc);
|
||||
YY_BREAK
|
||||
case 39:
|
||||
YY_RULE_SETUP
|
||||
#line 220 "lexer.ll"
|
||||
#line 221 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_ALL(loc);
|
||||
YY_BREAK
|
||||
case 40:
|
||||
YY_RULE_SETUP
|
||||
#line 221 "lexer.ll"
|
||||
#line 222 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_CONCAT(loc);
|
||||
YY_BREAK
|
||||
case 41:
|
||||
YY_RULE_SETUP
|
||||
#line 222 "lexer.ll"
|
||||
#line 223 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_IFELSE(loc);
|
||||
YY_BREAK
|
||||
case 42:
|
||||
YY_RULE_SETUP
|
||||
#line 223 "lexer.ll"
|
||||
#line 224 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_TOHEXSTRING(loc);
|
||||
YY_BREAK
|
||||
case 43:
|
||||
YY_RULE_SETUP
|
||||
#line 224 "lexer.ll"
|
||||
#line 225 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_ADDRTOTEXT(loc);
|
||||
YY_BREAK
|
||||
case 44:
|
||||
YY_RULE_SETUP
|
||||
#line 225 "lexer.ll"
|
||||
#line 226 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_INT8TOTEXT(loc);
|
||||
YY_BREAK
|
||||
case 45:
|
||||
YY_RULE_SETUP
|
||||
#line 226 "lexer.ll"
|
||||
#line 227 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_INT16TOTEXT(loc);
|
||||
YY_BREAK
|
||||
case 46:
|
||||
YY_RULE_SETUP
|
||||
#line 227 "lexer.ll"
|
||||
#line 228 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_INT32TOTEXT(loc);
|
||||
YY_BREAK
|
||||
case 47:
|
||||
YY_RULE_SETUP
|
||||
#line 228 "lexer.ll"
|
||||
#line 229 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_UINT8TOTEXT(loc);
|
||||
YY_BREAK
|
||||
case 48:
|
||||
YY_RULE_SETUP
|
||||
#line 229 "lexer.ll"
|
||||
#line 230 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_UINT16TOTEXT(loc);
|
||||
YY_BREAK
|
||||
case 49:
|
||||
YY_RULE_SETUP
|
||||
#line 230 "lexer.ll"
|
||||
#line 231 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_UINT32TOTEXT(loc);
|
||||
YY_BREAK
|
||||
case 50:
|
||||
YY_RULE_SETUP
|
||||
#line 231 "lexer.ll"
|
||||
#line 232 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_NOT(loc);
|
||||
YY_BREAK
|
||||
case 51:
|
||||
YY_RULE_SETUP
|
||||
#line 232 "lexer.ll"
|
||||
#line 233 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_AND(loc);
|
||||
YY_BREAK
|
||||
case 52:
|
||||
YY_RULE_SETUP
|
||||
#line 233 "lexer.ll"
|
||||
#line 234 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_OR(loc);
|
||||
YY_BREAK
|
||||
case 53:
|
||||
YY_RULE_SETUP
|
||||
#line 234 "lexer.ll"
|
||||
#line 235 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_MEMBER(loc);
|
||||
YY_BREAK
|
||||
case 54:
|
||||
YY_RULE_SETUP
|
||||
#line 235 "lexer.ll"
|
||||
#line 236 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_DOT(loc);
|
||||
YY_BREAK
|
||||
case 55:
|
||||
YY_RULE_SETUP
|
||||
#line 236 "lexer.ll"
|
||||
#line 237 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_LPAREN(loc);
|
||||
YY_BREAK
|
||||
case 56:
|
||||
YY_RULE_SETUP
|
||||
#line 237 "lexer.ll"
|
||||
#line 238 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_RPAREN(loc);
|
||||
YY_BREAK
|
||||
case 57:
|
||||
YY_RULE_SETUP
|
||||
#line 238 "lexer.ll"
|
||||
#line 239 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_LBRACKET(loc);
|
||||
YY_BREAK
|
||||
case 58:
|
||||
YY_RULE_SETUP
|
||||
#line 239 "lexer.ll"
|
||||
#line 240 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_RBRACKET(loc);
|
||||
YY_BREAK
|
||||
case 59:
|
||||
YY_RULE_SETUP
|
||||
#line 240 "lexer.ll"
|
||||
#line 241 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_COMA(loc);
|
||||
YY_BREAK
|
||||
case 60:
|
||||
YY_RULE_SETUP
|
||||
#line 241 "lexer.ll"
|
||||
#line 242 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_ANY(loc);
|
||||
YY_BREAK
|
||||
case 61:
|
||||
YY_RULE_SETUP
|
||||
#line 242 "lexer.ll"
|
||||
#line 243 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_PLUS(loc);
|
||||
YY_BREAK
|
||||
case 62:
|
||||
YY_RULE_SETUP
|
||||
#line 243 "lexer.ll"
|
||||
#line 244 "lexer.ll"
|
||||
driver.error (loc, "Invalid character: " + std::string(evaltext));
|
||||
YY_BREAK
|
||||
case YY_STATE_EOF(INITIAL):
|
||||
#line 244 "lexer.ll"
|
||||
#line 245 "lexer.ll"
|
||||
return isc::eval::EvalParser::make_END(loc);
|
||||
YY_BREAK
|
||||
case 63:
|
||||
YY_RULE_SETUP
|
||||
#line 245 "lexer.ll"
|
||||
#line 246 "lexer.ll"
|
||||
ECHO;
|
||||
YY_BREAK
|
||||
#line 1849 "lexer.cc"
|
||||
#line 1850 "lexer.cc"
|
||||
|
||||
case YY_END_OF_BUFFER:
|
||||
{
|
||||
@ -2958,7 +2959,7 @@ void yyfree (void * ptr )
|
||||
|
||||
/* %ok-for-header */
|
||||
|
||||
#line 245 "lexer.ll"
|
||||
#line 246 "lexer.ll"
|
||||
|
||||
|
||||
using namespace isc::eval;
|
||||
|
@ -1,3 +1,4 @@
|
||||
// Generated 202308031547
|
||||
// A Bison parser, made by GNU Bison 3.8.2.
|
||||
|
||||
// Locations for Bison parsers in C++
|
||||
|
Loading…
x
Reference in New Issue
Block a user