2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-09-01 06:25:34 +00:00

[#2970] Regen flex

This commit is contained in:
Francis Dupont
2023-08-03 15:49:05 +00:00
parent d251fc3f0b
commit 48d91e07aa
12 changed files with 887 additions and 875 deletions

View File

@@ -1520,13 +1520,13 @@ int yy_flex_debug = 1;
static const flex_int16_t yy_rule_linenum[70] = static const flex_int16_t yy_rule_linenum[70] =
{ 0, { 0,
134, 136, 138, 143, 144, 149, 150, 151, 163, 166, 135, 137, 139, 144, 145, 150, 151, 152, 164, 167,
171, 178, 187, 196, 205, 218, 231, 240, 249, 258, 172, 179, 188, 197, 206, 219, 232, 241, 250, 259,
267, 276, 285, 294, 303, 312, 321, 330, 339, 348, 268, 277, 286, 295, 304, 313, 322, 331, 340, 349,
357, 366, 375, 384, 393, 402, 411, 420, 429, 438, 358, 367, 376, 385, 394, 403, 412, 421, 430, 439,
447, 456, 465, 474, 483, 492, 501, 510, 519, 528, 448, 457, 466, 475, 484, 493, 502, 511, 520, 529,
537, 638, 654, 703, 711, 726, 727, 728, 729, 730, 538, 639, 655, 704, 712, 727, 728, 729, 730, 731,
731, 733, 751, 764, 769, 773, 775, 777, 779 732, 734, 752, 765, 770, 774, 776, 778, 780
} ; } ;
/* The intent behind this definition is that it'll catch /* 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 #define YY_RESTORE_YY_MORE_OFFSET
char *yytext; char *yytext;
#line 1 "agent_lexer.ll" #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 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 License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -1551,6 +1551,7 @@ char *yytext;
#include <cctype> #include <cctype>
#include <cerrno> #include <cerrno>
#include <climits> #include <climits>
#include <cstdint>
#include <cstdlib> #include <cstdlib>
#include <string> #include <string>
#include <agent/parser_context.h> #include <agent/parser_context.h>
@@ -1582,7 +1583,7 @@ using isc::agent::AgentParser;
/* To avoid the call to exit... oops! */ /* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::agent::ParserContext::fatal(msg) #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 /* 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 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 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 can be used during actual token definitions. Note some can match
incorrect inputs (e.g., IP addresses) which must be checked. */ incorrect inputs (e.g., IP addresses) which must be checked. */
/* for errors */ /* 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 /* 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 by moving it ahead by yyleng bytes. yyleng specifies the length of the
currently matched token. */ currently matched token. */
#define YY_USER_ACTION driver.loc_.columns(yyleng); #define YY_USER_ACTION driver.loc_.columns(yyleng);
#line 1611 "agent_lexer.cc"
#line 1612 "agent_lexer.cc" #line 1612 "agent_lexer.cc"
#line 1613 "agent_lexer.cc"
#define INITIAL 0 #define INITIAL 0
#define COMMENT 1 #define COMMENT 1
@@ -1891,11 +1892,11 @@ YY_DECL
{ {
/* %% [7.0] user's declarations go here */ /* %% [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 /* This part of the code is copied over to the verbatim to the top
of the generated yylex function. Explanation: of the generated yylex function. Explanation:
http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */ 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 */ 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: case 1:
YY_RULE_SETUP YY_RULE_SETUP
#line 134 "agent_lexer.ll" #line 135 "agent_lexer.ll"
; ;
YY_BREAK YY_BREAK
case 2: case 2:
YY_RULE_SETUP YY_RULE_SETUP
#line 136 "agent_lexer.ll" #line 137 "agent_lexer.ll"
; ;
YY_BREAK YY_BREAK
case 3: case 3:
YY_RULE_SETUP YY_RULE_SETUP
#line 138 "agent_lexer.ll" #line 139 "agent_lexer.ll"
{ {
BEGIN(COMMENT); BEGIN(COMMENT);
comment_start_line = driver.loc_.end.line;; comment_start_line = driver.loc_.end.line;;
@@ -2019,33 +2020,33 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 4: case 4:
YY_RULE_SETUP YY_RULE_SETUP
#line 143 "agent_lexer.ll" #line 144 "agent_lexer.ll"
BEGIN(INITIAL); BEGIN(INITIAL);
YY_BREAK YY_BREAK
case 5: case 5:
YY_RULE_SETUP YY_RULE_SETUP
#line 144 "agent_lexer.ll" #line 145 "agent_lexer.ll"
; ;
YY_BREAK YY_BREAK
case YY_STATE_EOF(COMMENT): 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); isc_throw(ParseError, "Comment not closed. (/* in line " << comment_start_line);
} }
YY_BREAK YY_BREAK
case 6: case 6:
YY_RULE_SETUP YY_RULE_SETUP
#line 149 "agent_lexer.ll" #line 150 "agent_lexer.ll"
BEGIN(DIR_ENTER); BEGIN(DIR_ENTER);
YY_BREAK YY_BREAK
case 7: case 7:
YY_RULE_SETUP YY_RULE_SETUP
#line 150 "agent_lexer.ll" #line 151 "agent_lexer.ll"
BEGIN(DIR_INCLUDE); BEGIN(DIR_INCLUDE);
YY_BREAK YY_BREAK
case 8: case 8:
YY_RULE_SETUP YY_RULE_SETUP
#line 151 "agent_lexer.ll" #line 152 "agent_lexer.ll"
{ {
/* Include directive. */ /* Include directive. */
@@ -2059,19 +2060,19 @@ YY_RULE_SETUP
case YY_STATE_EOF(DIR_ENTER): case YY_STATE_EOF(DIR_ENTER):
case YY_STATE_EOF(DIR_INCLUDE): case YY_STATE_EOF(DIR_INCLUDE):
case YY_STATE_EOF(DIR_EXIT): case YY_STATE_EOF(DIR_EXIT):
#line 160 "agent_lexer.ll" #line 161 "agent_lexer.ll"
{ {
isc_throw(ParseError, "Directive not closed."); isc_throw(ParseError, "Directive not closed.");
} }
YY_BREAK YY_BREAK
case 9: case 9:
YY_RULE_SETUP YY_RULE_SETUP
#line 163 "agent_lexer.ll" #line 164 "agent_lexer.ll"
BEGIN(INITIAL); BEGIN(INITIAL);
YY_BREAK YY_BREAK
case 10: case 10:
YY_RULE_SETUP 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. */ /* Ok, we found a with space. Let's ignore it and update loc variable. */
driver.loc_.step(); driver.loc_.step();
@@ -2080,7 +2081,7 @@ YY_RULE_SETUP
case 11: case 11:
/* rule 11 can match eol */ /* rule 11 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 171 "agent_lexer.ll" #line 172 "agent_lexer.ll"
{ {
/* Newline found. Let's update the location and continue. */ /* Newline found. Let's update the location and continue. */
driver.loc_.lines(yyleng); driver.loc_.lines(yyleng);
@@ -2089,7 +2090,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 12: case 12:
YY_RULE_SETUP YY_RULE_SETUP
#line 178 "agent_lexer.ll" #line 179 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::CONFIG: case ParserContext::CONFIG:
@@ -2101,7 +2102,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 13: case 13:
YY_RULE_SETUP YY_RULE_SETUP
#line 187 "agent_lexer.ll" #line 188 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AGENT: case ParserContext::AGENT:
@@ -2113,7 +2114,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 14: case 14:
YY_RULE_SETUP YY_RULE_SETUP
#line 196 "agent_lexer.ll" #line 197 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AGENT: case ParserContext::AGENT:
@@ -2125,7 +2126,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 15: case 15:
YY_RULE_SETUP YY_RULE_SETUP
#line 205 "agent_lexer.ll" #line 206 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AGENT: case ParserContext::AGENT:
@@ -2141,7 +2142,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 16: case 16:
YY_RULE_SETUP YY_RULE_SETUP
#line 218 "agent_lexer.ll" #line 219 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AGENT: case ParserContext::AGENT:
@@ -2157,7 +2158,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 17: case 17:
YY_RULE_SETUP YY_RULE_SETUP
#line 231 "agent_lexer.ll" #line 232 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AGENT: case ParserContext::AGENT:
@@ -2169,7 +2170,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 18: case 18:
YY_RULE_SETUP YY_RULE_SETUP
#line 240 "agent_lexer.ll" #line 241 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AUTHENTICATION: case ParserContext::AUTHENTICATION:
@@ -2181,7 +2182,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 19: case 19:
YY_RULE_SETUP YY_RULE_SETUP
#line 249 "agent_lexer.ll" #line 250 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AUTH_TYPE: case ParserContext::AUTH_TYPE:
@@ -2193,7 +2194,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 20: case 20:
YY_RULE_SETUP YY_RULE_SETUP
#line 258 "agent_lexer.ll" #line 259 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AUTHENTICATION: case ParserContext::AUTHENTICATION:
@@ -2205,7 +2206,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 21: case 21:
YY_RULE_SETUP YY_RULE_SETUP
#line 267 "agent_lexer.ll" #line 268 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AUTHENTICATION: case ParserContext::AUTHENTICATION:
@@ -2217,7 +2218,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 22: case 22:
YY_RULE_SETUP YY_RULE_SETUP
#line 276 "agent_lexer.ll" #line 277 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AUTHENTICATION: case ParserContext::AUTHENTICATION:
@@ -2229,7 +2230,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 23: case 23:
YY_RULE_SETUP YY_RULE_SETUP
#line 285 "agent_lexer.ll" #line 286 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::CLIENTS: case ParserContext::CLIENTS:
@@ -2241,7 +2242,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 24: case 24:
YY_RULE_SETUP YY_RULE_SETUP
#line 294 "agent_lexer.ll" #line 295 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::CLIENTS: case ParserContext::CLIENTS:
@@ -2253,7 +2254,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 25: case 25:
YY_RULE_SETUP YY_RULE_SETUP
#line 303 "agent_lexer.ll" #line 304 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::CLIENTS: case ParserContext::CLIENTS:
@@ -2265,7 +2266,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 26: case 26:
YY_RULE_SETUP YY_RULE_SETUP
#line 312 "agent_lexer.ll" #line 313 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::CLIENTS: case ParserContext::CLIENTS:
@@ -2277,7 +2278,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 27: case 27:
YY_RULE_SETUP YY_RULE_SETUP
#line 321 "agent_lexer.ll" #line 322 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AGENT: case ParserContext::AGENT:
@@ -2289,7 +2290,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 28: case 28:
YY_RULE_SETUP YY_RULE_SETUP
#line 330 "agent_lexer.ll" #line 331 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AGENT: case ParserContext::AGENT:
@@ -2301,7 +2302,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 29: case 29:
YY_RULE_SETUP YY_RULE_SETUP
#line 339 "agent_lexer.ll" #line 340 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AGENT: case ParserContext::AGENT:
@@ -2313,7 +2314,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 30: case 30:
YY_RULE_SETUP YY_RULE_SETUP
#line 348 "agent_lexer.ll" #line 349 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AGENT: case ParserContext::AGENT:
@@ -2325,7 +2326,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 31: case 31:
YY_RULE_SETUP YY_RULE_SETUP
#line 357 "agent_lexer.ll" #line 358 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AGENT: case ParserContext::AGENT:
@@ -2337,7 +2338,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 32: case 32:
YY_RULE_SETUP YY_RULE_SETUP
#line 366 "agent_lexer.ll" #line 367 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKETS: case ParserContext::CONTROL_SOCKETS:
@@ -2349,7 +2350,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 33: case 33:
YY_RULE_SETUP YY_RULE_SETUP
#line 375 "agent_lexer.ll" #line 376 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKETS: case ParserContext::CONTROL_SOCKETS:
@@ -2361,7 +2362,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 34: case 34:
YY_RULE_SETUP YY_RULE_SETUP
#line 384 "agent_lexer.ll" #line 385 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKETS: case ParserContext::CONTROL_SOCKETS:
@@ -2373,7 +2374,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 35: case 35:
YY_RULE_SETUP YY_RULE_SETUP
#line 393 "agent_lexer.ll" #line 394 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::SERVER: case ParserContext::SERVER:
@@ -2385,7 +2386,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 36: case 36:
YY_RULE_SETUP YY_RULE_SETUP
#line 402 "agent_lexer.ll" #line 403 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::SERVER: case ParserContext::SERVER:
@@ -2397,7 +2398,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 37: case 37:
YY_RULE_SETUP YY_RULE_SETUP
#line 411 "agent_lexer.ll" #line 412 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::SOCKET_TYPE: case ParserContext::SOCKET_TYPE:
@@ -2409,7 +2410,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 38: case 38:
YY_RULE_SETUP YY_RULE_SETUP
#line 420 "agent_lexer.ll" #line 421 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AGENT: case ParserContext::AGENT:
@@ -2421,7 +2422,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 39: case 39:
YY_RULE_SETUP YY_RULE_SETUP
#line 429 "agent_lexer.ll" #line 430 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::HOOKS_LIBRARIES: case ParserContext::HOOKS_LIBRARIES:
@@ -2433,7 +2434,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 40: case 40:
YY_RULE_SETUP YY_RULE_SETUP
#line 438 "agent_lexer.ll" #line 439 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::HOOKS_LIBRARIES: case ParserContext::HOOKS_LIBRARIES:
@@ -2445,7 +2446,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 41: case 41:
YY_RULE_SETUP YY_RULE_SETUP
#line 447 "agent_lexer.ll" #line 448 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::AGENT: case ParserContext::AGENT:
@@ -2457,7 +2458,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 42: case 42:
YY_RULE_SETUP YY_RULE_SETUP
#line 456 "agent_lexer.ll" #line 457 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::LOGGERS: case ParserContext::LOGGERS:
@@ -2469,7 +2470,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 43: case 43:
YY_RULE_SETUP YY_RULE_SETUP
#line 465 "agent_lexer.ll" #line 466 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::LOGGERS: case ParserContext::LOGGERS:
@@ -2481,7 +2482,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 44: case 44:
YY_RULE_SETUP YY_RULE_SETUP
#line 474 "agent_lexer.ll" #line 475 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS: case ParserContext::OUTPUT_OPTIONS:
@@ -2493,7 +2494,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 45: case 45:
YY_RULE_SETUP YY_RULE_SETUP
#line 483 "agent_lexer.ll" #line 484 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS: case ParserContext::OUTPUT_OPTIONS:
@@ -2505,7 +2506,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 46: case 46:
YY_RULE_SETUP YY_RULE_SETUP
#line 492 "agent_lexer.ll" #line 493 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS: case ParserContext::OUTPUT_OPTIONS:
@@ -2517,7 +2518,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 47: case 47:
YY_RULE_SETUP YY_RULE_SETUP
#line 501 "agent_lexer.ll" #line 502 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS: case ParserContext::OUTPUT_OPTIONS:
@@ -2529,7 +2530,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 48: case 48:
YY_RULE_SETUP YY_RULE_SETUP
#line 510 "agent_lexer.ll" #line 511 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS: case ParserContext::OUTPUT_OPTIONS:
@@ -2541,7 +2542,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 49: case 49:
YY_RULE_SETUP YY_RULE_SETUP
#line 519 "agent_lexer.ll" #line 520 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::LOGGERS: case ParserContext::LOGGERS:
@@ -2553,7 +2554,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 50: case 50:
YY_RULE_SETUP YY_RULE_SETUP
#line 528 "agent_lexer.ll" #line 529 "agent_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::LOGGERS: case ParserContext::LOGGERS:
@@ -2565,7 +2566,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 51: case 51:
YY_RULE_SETUP 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. /* 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. 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: case 52:
/* rule 52 can match eol */ /* rule 52 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 638 "agent_lexer.ll" #line 639 "agent_lexer.ll"
{ {
/* Bad string with a forbidden control character inside */ /* Bad string with a forbidden control character inside */
std::string raw(yytext+1); std::string raw(yytext+1);
@@ -2690,7 +2691,7 @@ YY_RULE_SETUP
case 53: case 53:
/* rule 53 can match eol */ /* rule 53 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 654 "agent_lexer.ll" #line 655 "agent_lexer.ll"
{ {
/* Bad string with a bad escape inside */ /* Bad string with a bad escape inside */
std::string raw(yytext+1); std::string raw(yytext+1);
@@ -2742,7 +2743,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 54: case 54:
YY_RULE_SETUP YY_RULE_SETUP
#line 703 "agent_lexer.ll" #line 704 "agent_lexer.ll"
{ {
/* Bad string with an open escape at the end */ /* Bad string with an open escape at the end */
std::string raw(yytext+1); std::string raw(yytext+1);
@@ -2753,7 +2754,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 55: case 55:
YY_RULE_SETUP YY_RULE_SETUP
#line 711 "agent_lexer.ll" #line 712 "agent_lexer.ll"
{ {
/* Bad string with an open unicode escape at the end */ /* Bad string with an open unicode escape at the end */
std::string raw(yytext+1); std::string raw(yytext+1);
@@ -2771,37 +2772,37 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 56: case 56:
YY_RULE_SETUP YY_RULE_SETUP
#line 726 "agent_lexer.ll" #line 727 "agent_lexer.ll"
{ return AgentParser::make_LSQUARE_BRACKET(driver.loc_); } { return AgentParser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK YY_BREAK
case 57: case 57:
YY_RULE_SETUP YY_RULE_SETUP
#line 727 "agent_lexer.ll" #line 728 "agent_lexer.ll"
{ return AgentParser::make_RSQUARE_BRACKET(driver.loc_); } { return AgentParser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK YY_BREAK
case 58: case 58:
YY_RULE_SETUP YY_RULE_SETUP
#line 728 "agent_lexer.ll" #line 729 "agent_lexer.ll"
{ return AgentParser::make_LCURLY_BRACKET(driver.loc_); } { return AgentParser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK YY_BREAK
case 59: case 59:
YY_RULE_SETUP YY_RULE_SETUP
#line 729 "agent_lexer.ll" #line 730 "agent_lexer.ll"
{ return AgentParser::make_RCURLY_BRACKET(driver.loc_); } { return AgentParser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK YY_BREAK
case 60: case 60:
YY_RULE_SETUP YY_RULE_SETUP
#line 730 "agent_lexer.ll" #line 731 "agent_lexer.ll"
{ return AgentParser::make_COMMA(driver.loc_); } { return AgentParser::make_COMMA(driver.loc_); }
YY_BREAK YY_BREAK
case 61: case 61:
YY_RULE_SETUP YY_RULE_SETUP
#line 731 "agent_lexer.ll" #line 732 "agent_lexer.ll"
{ return AgentParser::make_COLON(driver.loc_); } { return AgentParser::make_COLON(driver.loc_); }
YY_BREAK YY_BREAK
case 62: case 62:
YY_RULE_SETUP YY_RULE_SETUP
#line 733 "agent_lexer.ll" #line 734 "agent_lexer.ll"
{ {
/* An integer was found. */ /* An integer was found. */
std::string tmp(yytext); std::string tmp(yytext);
@@ -2822,7 +2823,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 63: case 63:
YY_RULE_SETUP YY_RULE_SETUP
#line 751 "agent_lexer.ll" #line 752 "agent_lexer.ll"
{ {
/* A floating point was found. */ /* A floating point was found. */
std::string tmp(yytext); std::string tmp(yytext);
@@ -2838,7 +2839,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 64: case 64:
YY_RULE_SETUP YY_RULE_SETUP
#line 764 "agent_lexer.ll" #line 765 "agent_lexer.ll"
{ {
string tmp(yytext); string tmp(yytext);
return AgentParser::make_BOOLEAN(tmp == "true", driver.loc_); return AgentParser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -2846,33 +2847,33 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 65: case 65:
YY_RULE_SETUP YY_RULE_SETUP
#line 769 "agent_lexer.ll" #line 770 "agent_lexer.ll"
{ {
return AgentParser::make_NULL_TYPE(driver.loc_); return AgentParser::make_NULL_TYPE(driver.loc_);
} }
YY_BREAK YY_BREAK
case 66: case 66:
YY_RULE_SETUP 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"); driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK YY_BREAK
case 67: case 67:
YY_RULE_SETUP 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"); driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK YY_BREAK
case 68: case 68:
YY_RULE_SETUP 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"); driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK YY_BREAK
case 69: case 69:
YY_RULE_SETUP YY_RULE_SETUP
#line 779 "agent_lexer.ll" #line 780 "agent_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK YY_BREAK
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
#line 781 "agent_lexer.ll" #line 782 "agent_lexer.ll"
{ {
if (driver.states_.empty()) { if (driver.states_.empty()) {
return AgentParser::make_END(driver.loc_); return AgentParser::make_END(driver.loc_);
@@ -2898,10 +2899,10 @@ case YY_STATE_EOF(INITIAL):
YY_BREAK YY_BREAK
case 70: case 70:
YY_RULE_SETUP YY_RULE_SETUP
#line 804 "agent_lexer.ll" #line 805 "agent_lexer.ll"
ECHO; ECHO;
YY_BREAK YY_BREAK
#line 2904 "agent_lexer.cc" #line 2905 "agent_lexer.cc"
case YY_END_OF_BUFFER: case YY_END_OF_BUFFER:
{ {
@@ -4006,7 +4007,7 @@ void yyfree (void * ptr )
/* %ok-for-header */ /* %ok-for-header */
#line 804 "agent_lexer.ll" #line 805 "agent_lexer.ll"
using namespace isc::dhcp; using namespace isc::dhcp;

View File

@@ -1,3 +1,4 @@
// Generated 202308031547
// A Bison parser, made by GNU Bison 3.8.2. // A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++ // Locations for Bison parsers in C++

View File

@@ -1078,13 +1078,13 @@ int yy_flex_debug = 1;
static const flex_int16_t yy_rule_linenum[68] = static const flex_int16_t yy_rule_linenum[68] =
{ 0, { 0,
136, 138, 140, 145, 146, 151, 152, 153, 165, 168, 137, 139, 141, 146, 147, 152, 153, 154, 166, 169,
173, 179, 188, 199, 210, 219, 228, 237, 247, 257, 174, 180, 189, 200, 211, 220, 229, 238, 248, 258,
267, 284, 301, 310, 319, 329, 341, 351, 362, 371, 268, 285, 302, 311, 320, 330, 342, 352, 363, 372,
381, 391, 401, 410, 419, 428, 437, 446, 455, 464, 382, 392, 402, 411, 420, 429, 438, 447, 456, 465,
473, 482, 491, 500, 509, 518, 531, 540, 549, 650, 474, 483, 492, 501, 510, 519, 532, 541, 550, 651,
666, 715, 723, 738, 739, 740, 741, 742, 743, 745, 667, 716, 724, 739, 740, 741, 742, 743, 744, 746,
763, 776, 781, 785, 787, 789, 791 764, 777, 782, 786, 788, 790, 792
} ; } ;
/* The intent behind this definition is that it'll catch /* The intent behind this definition is that it'll catch
@@ -1109,6 +1109,7 @@ char *yytext;
#include <cctype> #include <cctype>
#include <cerrno> #include <cerrno>
#include <climits> #include <climits>
#include <cstdint>
#include <cstdlib> #include <cstdlib>
#include <string> #include <string>
#include <d2/parser_context.h> #include <d2/parser_context.h>
@@ -1136,7 +1137,7 @@ unsigned int comment_start_line = 0;
/* To avoid the call to exit... oops! */ /* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::d2::D2ParserContext::fatal(msg) #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 /* 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 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 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 can be used during actual token definitions. Note some can match
incorrect inputs (e.g., IP addresses) which must be checked. */ incorrect inputs (e.g., IP addresses) which must be checked. */
/* for errors */ /* 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 /* 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 by moving it ahead by yyleng bytes. yyleng specifies the length of the
currently matched token. */ currently matched token. */
#define YY_USER_ACTION driver.loc_.columns(yyleng); #define YY_USER_ACTION driver.loc_.columns(yyleng);
#line 1165 "d2_lexer.cc"
#line 1166 "d2_lexer.cc" #line 1166 "d2_lexer.cc"
#line 1167 "d2_lexer.cc"
#define INITIAL 0 #define INITIAL 0
#define COMMENT 1 #define COMMENT 1
@@ -1445,11 +1446,11 @@ YY_DECL
{ {
/* %% [7.0] user's declarations go here */ /* %% [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 /* This part of the code is copied over to the verbatim to the top
of the generated yylex function. Explanation: of the generated yylex function. Explanation:
http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */ 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 */ 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: case 1:
YY_RULE_SETUP YY_RULE_SETUP
#line 136 "d2_lexer.ll" #line 137 "d2_lexer.ll"
; ;
YY_BREAK YY_BREAK
case 2: case 2:
YY_RULE_SETUP YY_RULE_SETUP
#line 138 "d2_lexer.ll" #line 139 "d2_lexer.ll"
; ;
YY_BREAK YY_BREAK
case 3: case 3:
YY_RULE_SETUP YY_RULE_SETUP
#line 140 "d2_lexer.ll" #line 141 "d2_lexer.ll"
{ {
BEGIN(COMMENT); BEGIN(COMMENT);
comment_start_line = driver.loc_.end.line;; comment_start_line = driver.loc_.end.line;;
@@ -1579,33 +1580,33 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 4: case 4:
YY_RULE_SETUP YY_RULE_SETUP
#line 145 "d2_lexer.ll" #line 146 "d2_lexer.ll"
BEGIN(INITIAL); BEGIN(INITIAL);
YY_BREAK YY_BREAK
case 5: case 5:
YY_RULE_SETUP YY_RULE_SETUP
#line 146 "d2_lexer.ll" #line 147 "d2_lexer.ll"
; ;
YY_BREAK YY_BREAK
case YY_STATE_EOF(COMMENT): 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); isc_throw(D2ParseError, "Comment not closed. (/* in line " << comment_start_line);
} }
YY_BREAK YY_BREAK
case 6: case 6:
YY_RULE_SETUP YY_RULE_SETUP
#line 151 "d2_lexer.ll" #line 152 "d2_lexer.ll"
BEGIN(DIR_ENTER); BEGIN(DIR_ENTER);
YY_BREAK YY_BREAK
case 7: case 7:
YY_RULE_SETUP YY_RULE_SETUP
#line 152 "d2_lexer.ll" #line 153 "d2_lexer.ll"
BEGIN(DIR_INCLUDE); BEGIN(DIR_INCLUDE);
YY_BREAK YY_BREAK
case 8: case 8:
YY_RULE_SETUP YY_RULE_SETUP
#line 153 "d2_lexer.ll" #line 154 "d2_lexer.ll"
{ {
/* Include directive. */ /* Include directive. */
@@ -1619,19 +1620,19 @@ YY_RULE_SETUP
case YY_STATE_EOF(DIR_ENTER): case YY_STATE_EOF(DIR_ENTER):
case YY_STATE_EOF(DIR_INCLUDE): case YY_STATE_EOF(DIR_INCLUDE):
case YY_STATE_EOF(DIR_EXIT): case YY_STATE_EOF(DIR_EXIT):
#line 162 "d2_lexer.ll" #line 163 "d2_lexer.ll"
{ {
isc_throw(D2ParseError, "Directive not closed."); isc_throw(D2ParseError, "Directive not closed.");
} }
YY_BREAK YY_BREAK
case 9: case 9:
YY_RULE_SETUP YY_RULE_SETUP
#line 165 "d2_lexer.ll" #line 166 "d2_lexer.ll"
BEGIN(INITIAL); BEGIN(INITIAL);
YY_BREAK YY_BREAK
case 10: case 10:
YY_RULE_SETUP 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. */ /* Ok, we found a with space. Let's ignore it and update loc variable. */
driver.loc_.step(); driver.loc_.step();
@@ -1640,7 +1641,7 @@ YY_RULE_SETUP
case 11: case 11:
/* rule 11 can match eol */ /* rule 11 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 173 "d2_lexer.ll" #line 174 "d2_lexer.ll"
{ {
/* Newline found. Let's update the location and continue. */ /* Newline found. Let's update the location and continue. */
driver.loc_.lines(yyleng); driver.loc_.lines(yyleng);
@@ -1649,7 +1650,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 12: case 12:
YY_RULE_SETUP YY_RULE_SETUP
#line 179 "d2_lexer.ll" #line 180 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONFIG: case isc::d2::D2ParserContext::CONFIG:
@@ -1661,7 +1662,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 13: case 13:
YY_RULE_SETUP YY_RULE_SETUP
#line 188 "d2_lexer.ll" #line 189 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS: case isc::d2::D2ParserContext::DHCPDDNS:
@@ -1675,7 +1676,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 14: case 14:
YY_RULE_SETUP YY_RULE_SETUP
#line 199 "d2_lexer.ll" #line 200 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS: case isc::d2::D2ParserContext::DHCPDDNS:
@@ -1689,7 +1690,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 15: case 15:
YY_RULE_SETUP YY_RULE_SETUP
#line 210 "d2_lexer.ll" #line 211 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS: case isc::d2::D2ParserContext::DHCPDDNS:
@@ -1701,7 +1702,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 16: case 16:
YY_RULE_SETUP YY_RULE_SETUP
#line 219 "d2_lexer.ll" #line 220 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS: case isc::d2::D2ParserContext::DHCPDDNS:
@@ -1713,7 +1714,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 17: case 17:
YY_RULE_SETUP YY_RULE_SETUP
#line 228 "d2_lexer.ll" #line 229 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS: case isc::d2::D2ParserContext::DHCPDDNS:
@@ -1725,7 +1726,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 18: case 18:
YY_RULE_SETUP YY_RULE_SETUP
#line 237 "d2_lexer.ll" #line 238 "d2_lexer.ll"
{ {
/* dhcp-ddns value keywords are case insensitive */ /* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::d2::D2ParserContext::NCR_PROTOCOL) { if (driver.ctx_ == isc::d2::D2ParserContext::NCR_PROTOCOL) {
@@ -1738,7 +1739,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 19: case 19:
YY_RULE_SETUP YY_RULE_SETUP
#line 247 "d2_lexer.ll" #line 248 "d2_lexer.ll"
{ {
/* dhcp-ddns value keywords are case insensitive */ /* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::d2::D2ParserContext::NCR_PROTOCOL) { if (driver.ctx_ == isc::d2::D2ParserContext::NCR_PROTOCOL) {
@@ -1751,7 +1752,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 20: case 20:
YY_RULE_SETUP YY_RULE_SETUP
#line 257 "d2_lexer.ll" #line 258 "d2_lexer.ll"
{ {
/* dhcp-ddns value keywords are case insensitive */ /* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::d2::D2ParserContext::NCR_FORMAT) { if (driver.ctx_ == isc::d2::D2ParserContext::NCR_FORMAT) {
@@ -1764,7 +1765,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 21: case 21:
YY_RULE_SETUP YY_RULE_SETUP
#line 267 "d2_lexer.ll" #line 268 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS: case isc::d2::D2ParserContext::DHCPDDNS:
@@ -1784,7 +1785,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 22: case 22:
YY_RULE_SETUP YY_RULE_SETUP
#line 284 "d2_lexer.ll" #line 285 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS: case isc::d2::D2ParserContext::DHCPDDNS:
@@ -1804,7 +1805,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 23: case 23:
YY_RULE_SETUP YY_RULE_SETUP
#line 301 "d2_lexer.ll" #line 302 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS: case isc::d2::D2ParserContext::DHCPDDNS:
@@ -1816,7 +1817,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 24: case 24:
YY_RULE_SETUP YY_RULE_SETUP
#line 310 "d2_lexer.ll" #line 311 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS: case isc::d2::D2ParserContext::DHCPDDNS:
@@ -1828,7 +1829,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 25: case 25:
YY_RULE_SETUP YY_RULE_SETUP
#line 319 "d2_lexer.ll" #line 320 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::FORWARD_DDNS: case isc::d2::D2ParserContext::FORWARD_DDNS:
@@ -1841,7 +1842,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 26: case 26:
YY_RULE_SETUP YY_RULE_SETUP
#line 329 "d2_lexer.ll" #line 330 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DDNS_DOMAIN: case isc::d2::D2ParserContext::DDNS_DOMAIN:
@@ -1856,7 +1857,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 27: case 27:
YY_RULE_SETUP YY_RULE_SETUP
#line 341 "d2_lexer.ll" #line 342 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DDNS_DOMAIN: case isc::d2::D2ParserContext::DDNS_DOMAIN:
@@ -1869,7 +1870,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 28: case 28:
YY_RULE_SETUP YY_RULE_SETUP
#line 351 "d2_lexer.ll" #line 352 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DNS_SERVER: case isc::d2::D2ParserContext::DNS_SERVER:
@@ -1882,7 +1883,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 29: case 29:
YY_RULE_SETUP YY_RULE_SETUP
#line 362 "d2_lexer.ll" #line 363 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS: case isc::d2::D2ParserContext::DHCPDDNS:
@@ -1894,7 +1895,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 30: case 30:
YY_RULE_SETUP YY_RULE_SETUP
#line 371 "d2_lexer.ll" #line 372 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::TSIG_KEY: case isc::d2::D2ParserContext::TSIG_KEY:
@@ -1907,7 +1908,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 31: case 31:
YY_RULE_SETUP YY_RULE_SETUP
#line 381 "d2_lexer.ll" #line 382 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::TSIG_KEY: case isc::d2::D2ParserContext::TSIG_KEY:
@@ -1920,7 +1921,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 32: case 32:
YY_RULE_SETUP YY_RULE_SETUP
#line 391 "d2_lexer.ll" #line 392 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::TSIG_KEY: case isc::d2::D2ParserContext::TSIG_KEY:
@@ -1933,7 +1934,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 33: case 33:
YY_RULE_SETUP YY_RULE_SETUP
#line 401 "d2_lexer.ll" #line 402 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS: case isc::d2::D2ParserContext::DHCPDDNS:
@@ -1945,7 +1946,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 34: case 34:
YY_RULE_SETUP YY_RULE_SETUP
#line 410 "d2_lexer.ll" #line 411 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONTROL_SOCKET: case isc::d2::D2ParserContext::CONTROL_SOCKET:
@@ -1957,7 +1958,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 35: case 35:
YY_RULE_SETUP YY_RULE_SETUP
#line 419 "d2_lexer.ll" #line 420 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONTROL_SOCKET: case isc::d2::D2ParserContext::CONTROL_SOCKET:
@@ -1969,7 +1970,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 36: case 36:
YY_RULE_SETUP YY_RULE_SETUP
#line 428 "d2_lexer.ll" #line 429 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS: case isc::d2::D2ParserContext::DHCPDDNS:
@@ -1981,7 +1982,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 37: case 37:
YY_RULE_SETUP YY_RULE_SETUP
#line 437 "d2_lexer.ll" #line 438 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::HOOKS_LIBRARIES: case isc::d2::D2ParserContext::HOOKS_LIBRARIES:
@@ -1993,7 +1994,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 38: case 38:
YY_RULE_SETUP YY_RULE_SETUP
#line 446 "d2_lexer.ll" #line 447 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::HOOKS_LIBRARIES: case isc::d2::D2ParserContext::HOOKS_LIBRARIES:
@@ -2005,7 +2006,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 39: case 39:
YY_RULE_SETUP YY_RULE_SETUP
#line 455 "d2_lexer.ll" #line 456 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS: case isc::d2::D2ParserContext::DHCPDDNS:
@@ -2017,7 +2018,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 40: case 40:
YY_RULE_SETUP YY_RULE_SETUP
#line 464 "d2_lexer.ll" #line 465 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS: case isc::d2::D2ParserContext::LOGGERS:
@@ -2029,7 +2030,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 41: case 41:
YY_RULE_SETUP YY_RULE_SETUP
#line 473 "d2_lexer.ll" #line 474 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS: case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
@@ -2041,7 +2042,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 42: case 42:
YY_RULE_SETUP YY_RULE_SETUP
#line 482 "d2_lexer.ll" #line 483 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS: case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
@@ -2053,7 +2054,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 43: case 43:
YY_RULE_SETUP YY_RULE_SETUP
#line 491 "d2_lexer.ll" #line 492 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS: case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
@@ -2065,7 +2066,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 44: case 44:
YY_RULE_SETUP YY_RULE_SETUP
#line 500 "d2_lexer.ll" #line 501 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS: case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
@@ -2077,7 +2078,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 45: case 45:
YY_RULE_SETUP YY_RULE_SETUP
#line 509 "d2_lexer.ll" #line 510 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS: case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
@@ -2089,7 +2090,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 46: case 46:
YY_RULE_SETUP YY_RULE_SETUP
#line 518 "d2_lexer.ll" #line 519 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS: case isc::d2::D2ParserContext::LOGGERS:
@@ -2105,7 +2106,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 47: case 47:
YY_RULE_SETUP YY_RULE_SETUP
#line 531 "d2_lexer.ll" #line 532 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS: case isc::d2::D2ParserContext::LOGGERS:
@@ -2117,7 +2118,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 48: case 48:
YY_RULE_SETUP YY_RULE_SETUP
#line 540 "d2_lexer.ll" #line 541 "d2_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS: case isc::d2::D2ParserContext::LOGGERS:
@@ -2129,7 +2130,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 49: case 49:
YY_RULE_SETUP 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. /* 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. 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: case 50:
/* rule 50 can match eol */ /* rule 50 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 650 "d2_lexer.ll" #line 651 "d2_lexer.ll"
{ {
/* Bad string with a forbidden control character inside */ /* Bad string with a forbidden control character inside */
std::string raw(yytext+1); std::string raw(yytext+1);
@@ -2254,7 +2255,7 @@ YY_RULE_SETUP
case 51: case 51:
/* rule 51 can match eol */ /* rule 51 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 666 "d2_lexer.ll" #line 667 "d2_lexer.ll"
{ {
/* Bad string with a bad escape inside */ /* Bad string with a bad escape inside */
std::string raw(yytext+1); std::string raw(yytext+1);
@@ -2306,7 +2307,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 52: case 52:
YY_RULE_SETUP YY_RULE_SETUP
#line 715 "d2_lexer.ll" #line 716 "d2_lexer.ll"
{ {
/* Bad string with an open escape at the end */ /* Bad string with an open escape at the end */
std::string raw(yytext+1); std::string raw(yytext+1);
@@ -2317,7 +2318,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 53: case 53:
YY_RULE_SETUP YY_RULE_SETUP
#line 723 "d2_lexer.ll" #line 724 "d2_lexer.ll"
{ {
/* Bad string with an open unicode escape at the end */ /* Bad string with an open unicode escape at the end */
std::string raw(yytext+1); std::string raw(yytext+1);
@@ -2335,37 +2336,37 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 54: case 54:
YY_RULE_SETUP YY_RULE_SETUP
#line 738 "d2_lexer.ll" #line 739 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_LSQUARE_BRACKET(driver.loc_); } { return isc::d2::D2Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK YY_BREAK
case 55: case 55:
YY_RULE_SETUP YY_RULE_SETUP
#line 739 "d2_lexer.ll" #line 740 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_RSQUARE_BRACKET(driver.loc_); } { return isc::d2::D2Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK YY_BREAK
case 56: case 56:
YY_RULE_SETUP YY_RULE_SETUP
#line 740 "d2_lexer.ll" #line 741 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_LCURLY_BRACKET(driver.loc_); } { return isc::d2::D2Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK YY_BREAK
case 57: case 57:
YY_RULE_SETUP YY_RULE_SETUP
#line 741 "d2_lexer.ll" #line 742 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_RCURLY_BRACKET(driver.loc_); } { return isc::d2::D2Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK YY_BREAK
case 58: case 58:
YY_RULE_SETUP YY_RULE_SETUP
#line 742 "d2_lexer.ll" #line 743 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_COMMA(driver.loc_); } { return isc::d2::D2Parser::make_COMMA(driver.loc_); }
YY_BREAK YY_BREAK
case 59: case 59:
YY_RULE_SETUP YY_RULE_SETUP
#line 743 "d2_lexer.ll" #line 744 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_COLON(driver.loc_); } { return isc::d2::D2Parser::make_COLON(driver.loc_); }
YY_BREAK YY_BREAK
case 60: case 60:
YY_RULE_SETUP YY_RULE_SETUP
#line 745 "d2_lexer.ll" #line 746 "d2_lexer.ll"
{ {
/* An integer was found. */ /* An integer was found. */
std::string tmp(yytext); std::string tmp(yytext);
@@ -2386,7 +2387,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 61: case 61:
YY_RULE_SETUP YY_RULE_SETUP
#line 763 "d2_lexer.ll" #line 764 "d2_lexer.ll"
{ {
/* A floating point was found. */ /* A floating point was found. */
std::string tmp(yytext); std::string tmp(yytext);
@@ -2402,7 +2403,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 62: case 62:
YY_RULE_SETUP YY_RULE_SETUP
#line 776 "d2_lexer.ll" #line 777 "d2_lexer.ll"
{ {
string tmp(yytext); string tmp(yytext);
return isc::d2::D2Parser::make_BOOLEAN(tmp == "true", driver.loc_); return isc::d2::D2Parser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -2410,33 +2411,33 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 63: case 63:
YY_RULE_SETUP YY_RULE_SETUP
#line 781 "d2_lexer.ll" #line 782 "d2_lexer.ll"
{ {
return isc::d2::D2Parser::make_NULL_TYPE(driver.loc_); return isc::d2::D2Parser::make_NULL_TYPE(driver.loc_);
} }
YY_BREAK YY_BREAK
case 64: case 64:
YY_RULE_SETUP 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"); driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK YY_BREAK
case 65: case 65:
YY_RULE_SETUP 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"); driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK YY_BREAK
case 66: case 66:
YY_RULE_SETUP 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"); driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK YY_BREAK
case 67: case 67:
YY_RULE_SETUP YY_RULE_SETUP
#line 791 "d2_lexer.ll" #line 792 "d2_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK YY_BREAK
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
#line 793 "d2_lexer.ll" #line 794 "d2_lexer.ll"
{ {
if (driver.states_.empty()) { if (driver.states_.empty()) {
return isc::d2::D2Parser::make_END(driver.loc_); return isc::d2::D2Parser::make_END(driver.loc_);
@@ -2462,10 +2463,10 @@ case YY_STATE_EOF(INITIAL):
YY_BREAK YY_BREAK
case 68: case 68:
YY_RULE_SETUP YY_RULE_SETUP
#line 816 "d2_lexer.ll" #line 817 "d2_lexer.ll"
ECHO; ECHO;
YY_BREAK YY_BREAK
#line 2468 "d2_lexer.cc" #line 2469 "d2_lexer.cc"
case YY_END_OF_BUFFER: case YY_END_OF_BUFFER:
{ {
@@ -3570,7 +3571,7 @@ void yyfree (void * ptr )
/* %ok-for-header */ /* %ok-for-header */
#line 816 "d2_lexer.ll" #line 817 "d2_lexer.ll"
using namespace isc::dhcp; using namespace isc::dhcp;

View File

@@ -1,3 +1,4 @@
// Generated 202308031547
// A Bison parser, made by GNU Bison 3.8.2. // A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++ // Locations for Bison parsers in C++

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,4 @@
// Generated 202308031547
// A Bison parser, made by GNU Bison 3.8.2. // A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++ // Locations for Bison parsers in C++

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,4 @@
// Generated 202308031547
// A Bison parser, made by GNU Bison 3.8.2. // A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++ // Locations for Bison parsers in C++

View File

@@ -1,3 +1,4 @@
// Generated 202308031548
// A Bison parser, made by GNU Bison 3.8.2. // A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++ // Locations for Bison parsers in C++

View File

@@ -1440,13 +1440,13 @@ int yy_flex_debug = 1;
static const flex_int16_t yy_rule_linenum[63] = static const flex_int16_t yy_rule_linenum[63] =
{ 0, { 0,
134, 136, 138, 143, 144, 149, 150, 151, 163, 166, 135, 137, 139, 144, 145, 150, 151, 152, 164, 167,
171, 178, 187, 199, 211, 221, 231, 241, 250, 259, 172, 179, 188, 200, 212, 222, 232, 242, 251, 260,
268, 277, 286, 295, 304, 313, 322, 331, 340, 349, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350,
358, 367, 376, 385, 394, 403, 412, 421, 430, 439, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440,
448, 457, 466, 475, 576, 592, 641, 649, 664, 665, 449, 458, 467, 476, 577, 593, 642, 650, 665, 666,
666, 667, 668, 669, 671, 689, 702, 707, 711, 713, 667, 668, 669, 670, 672, 690, 703, 708, 712, 714,
715, 717 716, 718
} ; } ;
/* The intent behind this definition is that it'll catch /* 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 #define YY_RESTORE_YY_MORE_OFFSET
char *yytext; char *yytext;
#line 1 "netconf_lexer.ll" #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 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 License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -1471,6 +1471,7 @@ char *yytext;
#include <cctype> #include <cctype>
#include <cerrno> #include <cerrno>
#include <climits> #include <climits>
#include <cstdint>
#include <cstdlib> #include <cstdlib>
#include <string> #include <string>
#include <netconf/parser_context.h> #include <netconf/parser_context.h>
@@ -1502,7 +1503,7 @@ using isc::netconf::NetconfParser;
/* To avoid the call to exit... oops! */ /* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg) #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 /* 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 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 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 can be used during actual token definitions. Note some can match
incorrect inputs (e.g., IP addresses) which must be checked. */ incorrect inputs (e.g., IP addresses) which must be checked. */
/* for errors */ /* 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 /* 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 by moving it ahead by yyleng bytes. yyleng specifies the length of the
currently matched token. */ currently matched token. */
#define YY_USER_ACTION driver.loc_.columns(yyleng); #define YY_USER_ACTION driver.loc_.columns(yyleng);
#line 1531 "netconf_lexer.cc"
#line 1532 "netconf_lexer.cc" #line 1532 "netconf_lexer.cc"
#line 1533 "netconf_lexer.cc"
#define INITIAL 0 #define INITIAL 0
#define COMMENT 1 #define COMMENT 1
@@ -1811,11 +1812,11 @@ YY_DECL
{ {
/* %% [7.0] user's declarations go here */ /* %% [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 /* This part of the code is copied over to the verbatim to the top
of the generated yylex function. Explanation: of the generated yylex function. Explanation:
http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */ 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 */ 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: case 1:
YY_RULE_SETUP YY_RULE_SETUP
#line 134 "netconf_lexer.ll" #line 135 "netconf_lexer.ll"
; ;
YY_BREAK YY_BREAK
case 2: case 2:
YY_RULE_SETUP YY_RULE_SETUP
#line 136 "netconf_lexer.ll" #line 137 "netconf_lexer.ll"
; ;
YY_BREAK YY_BREAK
case 3: case 3:
YY_RULE_SETUP YY_RULE_SETUP
#line 138 "netconf_lexer.ll" #line 139 "netconf_lexer.ll"
{ {
BEGIN(COMMENT); BEGIN(COMMENT);
comment_start_line = driver.loc_.end.line;; comment_start_line = driver.loc_.end.line;;
@@ -1939,33 +1940,33 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 4: case 4:
YY_RULE_SETUP YY_RULE_SETUP
#line 143 "netconf_lexer.ll" #line 144 "netconf_lexer.ll"
BEGIN(INITIAL); BEGIN(INITIAL);
YY_BREAK YY_BREAK
case 5: case 5:
YY_RULE_SETUP YY_RULE_SETUP
#line 144 "netconf_lexer.ll" #line 145 "netconf_lexer.ll"
; ;
YY_BREAK YY_BREAK
case YY_STATE_EOF(COMMENT): 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); isc_throw(ParseError, "Comment not closed. (/* in line " << comment_start_line);
} }
YY_BREAK YY_BREAK
case 6: case 6:
YY_RULE_SETUP YY_RULE_SETUP
#line 149 "netconf_lexer.ll" #line 150 "netconf_lexer.ll"
BEGIN(DIR_ENTER); BEGIN(DIR_ENTER);
YY_BREAK YY_BREAK
case 7: case 7:
YY_RULE_SETUP YY_RULE_SETUP
#line 150 "netconf_lexer.ll" #line 151 "netconf_lexer.ll"
BEGIN(DIR_INCLUDE); BEGIN(DIR_INCLUDE);
YY_BREAK YY_BREAK
case 8: case 8:
YY_RULE_SETUP YY_RULE_SETUP
#line 151 "netconf_lexer.ll" #line 152 "netconf_lexer.ll"
{ {
/* Include directive. */ /* Include directive. */
@@ -1979,19 +1980,19 @@ YY_RULE_SETUP
case YY_STATE_EOF(DIR_ENTER): case YY_STATE_EOF(DIR_ENTER):
case YY_STATE_EOF(DIR_INCLUDE): case YY_STATE_EOF(DIR_INCLUDE):
case YY_STATE_EOF(DIR_EXIT): case YY_STATE_EOF(DIR_EXIT):
#line 160 "netconf_lexer.ll" #line 161 "netconf_lexer.ll"
{ {
isc_throw(ParseError, "Directive not closed."); isc_throw(ParseError, "Directive not closed.");
} }
YY_BREAK YY_BREAK
case 9: case 9:
YY_RULE_SETUP YY_RULE_SETUP
#line 163 "netconf_lexer.ll" #line 164 "netconf_lexer.ll"
BEGIN(INITIAL); BEGIN(INITIAL);
YY_BREAK YY_BREAK
case 10: case 10:
YY_RULE_SETUP 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. */ /* Ok, we found a with space. Let's ignore it and update loc variable. */
driver.loc_.step(); driver.loc_.step();
@@ -2000,7 +2001,7 @@ YY_RULE_SETUP
case 11: case 11:
/* rule 11 can match eol */ /* rule 11 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 171 "netconf_lexer.ll" #line 172 "netconf_lexer.ll"
{ {
/* Newline found. Let's update the location and continue. */ /* Newline found. Let's update the location and continue. */
driver.loc_.lines(yyleng); driver.loc_.lines(yyleng);
@@ -2009,7 +2010,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 12: case 12:
YY_RULE_SETUP YY_RULE_SETUP
#line 178 "netconf_lexer.ll" #line 179 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::CONFIG: case ParserContext::CONFIG:
@@ -2021,7 +2022,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 13: case 13:
YY_RULE_SETUP YY_RULE_SETUP
#line 187 "netconf_lexer.ll" #line 188 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::NETCONF: case ParserContext::NETCONF:
@@ -2036,7 +2037,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 14: case 14:
YY_RULE_SETUP YY_RULE_SETUP
#line 199 "netconf_lexer.ll" #line 200 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::NETCONF: case ParserContext::NETCONF:
@@ -2051,7 +2052,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 15: case 15:
YY_RULE_SETUP YY_RULE_SETUP
#line 211 "netconf_lexer.ll" #line 212 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::NETCONF: case ParserContext::NETCONF:
@@ -2064,7 +2065,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 16: case 16:
YY_RULE_SETUP YY_RULE_SETUP
#line 221 "netconf_lexer.ll" #line 222 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::NETCONF: case ParserContext::NETCONF:
@@ -2077,7 +2078,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 17: case 17:
YY_RULE_SETUP YY_RULE_SETUP
#line 231 "netconf_lexer.ll" #line 232 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::NETCONF: case ParserContext::NETCONF:
@@ -2090,7 +2091,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 18: case 18:
YY_RULE_SETUP YY_RULE_SETUP
#line 241 "netconf_lexer.ll" #line 242 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::NETCONF: case ParserContext::NETCONF:
@@ -2102,7 +2103,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 19: case 19:
YY_RULE_SETUP YY_RULE_SETUP
#line 250 "netconf_lexer.ll" #line 251 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::MANAGED_SERVERS: case ParserContext::MANAGED_SERVERS:
@@ -2114,7 +2115,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 20: case 20:
YY_RULE_SETUP YY_RULE_SETUP
#line 259 "netconf_lexer.ll" #line 260 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::MANAGED_SERVERS: case ParserContext::MANAGED_SERVERS:
@@ -2126,7 +2127,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 21: case 21:
YY_RULE_SETUP YY_RULE_SETUP
#line 268 "netconf_lexer.ll" #line 269 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::MANAGED_SERVERS: case ParserContext::MANAGED_SERVERS:
@@ -2138,7 +2139,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 22: case 22:
YY_RULE_SETUP YY_RULE_SETUP
#line 277 "netconf_lexer.ll" #line 278 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::MANAGED_SERVERS: case ParserContext::MANAGED_SERVERS:
@@ -2150,7 +2151,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 23: case 23:
YY_RULE_SETUP YY_RULE_SETUP
#line 286 "netconf_lexer.ll" #line 287 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::SERVER: case ParserContext::SERVER:
@@ -2162,7 +2163,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 24: case 24:
YY_RULE_SETUP YY_RULE_SETUP
#line 295 "netconf_lexer.ll" #line 296 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::SERVER: case ParserContext::SERVER:
@@ -2174,7 +2175,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 25: case 25:
YY_RULE_SETUP YY_RULE_SETUP
#line 304 "netconf_lexer.ll" #line 305 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::SOCKET_TYPE: case ParserContext::SOCKET_TYPE:
@@ -2186,7 +2187,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 26: case 26:
YY_RULE_SETUP YY_RULE_SETUP
#line 313 "netconf_lexer.ll" #line 314 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::SOCKET_TYPE: case ParserContext::SOCKET_TYPE:
@@ -2198,7 +2199,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 27: case 27:
YY_RULE_SETUP YY_RULE_SETUP
#line 322 "netconf_lexer.ll" #line 323 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::SOCKET_TYPE: case ParserContext::SOCKET_TYPE:
@@ -2210,7 +2211,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 28: case 28:
YY_RULE_SETUP YY_RULE_SETUP
#line 331 "netconf_lexer.ll" #line 332 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKET: case ParserContext::CONTROL_SOCKET:
@@ -2222,7 +2223,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 29: case 29:
YY_RULE_SETUP YY_RULE_SETUP
#line 340 "netconf_lexer.ll" #line 341 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKET: case ParserContext::CONTROL_SOCKET:
@@ -2234,7 +2235,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 30: case 30:
YY_RULE_SETUP YY_RULE_SETUP
#line 349 "netconf_lexer.ll" #line 350 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKET: case ParserContext::CONTROL_SOCKET:
@@ -2246,7 +2247,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 31: case 31:
YY_RULE_SETUP YY_RULE_SETUP
#line 358 "netconf_lexer.ll" #line 359 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::NETCONF: case ParserContext::NETCONF:
@@ -2258,7 +2259,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 32: case 32:
YY_RULE_SETUP YY_RULE_SETUP
#line 367 "netconf_lexer.ll" #line 368 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::HOOKS_LIBRARIES: case ParserContext::HOOKS_LIBRARIES:
@@ -2270,7 +2271,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 33: case 33:
YY_RULE_SETUP YY_RULE_SETUP
#line 376 "netconf_lexer.ll" #line 377 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::HOOKS_LIBRARIES: case ParserContext::HOOKS_LIBRARIES:
@@ -2282,7 +2283,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 34: case 34:
YY_RULE_SETUP YY_RULE_SETUP
#line 385 "netconf_lexer.ll" #line 386 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::NETCONF: case ParserContext::NETCONF:
@@ -2294,7 +2295,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 35: case 35:
YY_RULE_SETUP YY_RULE_SETUP
#line 394 "netconf_lexer.ll" #line 395 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::LOGGERS: case ParserContext::LOGGERS:
@@ -2306,7 +2307,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 36: case 36:
YY_RULE_SETUP YY_RULE_SETUP
#line 403 "netconf_lexer.ll" #line 404 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::LOGGERS: case ParserContext::LOGGERS:
@@ -2318,7 +2319,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 37: case 37:
YY_RULE_SETUP YY_RULE_SETUP
#line 412 "netconf_lexer.ll" #line 413 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS: case ParserContext::OUTPUT_OPTIONS:
@@ -2330,7 +2331,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 38: case 38:
YY_RULE_SETUP YY_RULE_SETUP
#line 421 "netconf_lexer.ll" #line 422 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS: case ParserContext::OUTPUT_OPTIONS:
@@ -2342,7 +2343,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 39: case 39:
YY_RULE_SETUP YY_RULE_SETUP
#line 430 "netconf_lexer.ll" #line 431 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS: case ParserContext::OUTPUT_OPTIONS:
@@ -2354,7 +2355,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 40: case 40:
YY_RULE_SETUP YY_RULE_SETUP
#line 439 "netconf_lexer.ll" #line 440 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS: case ParserContext::OUTPUT_OPTIONS:
@@ -2366,7 +2367,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 41: case 41:
YY_RULE_SETUP YY_RULE_SETUP
#line 448 "netconf_lexer.ll" #line 449 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS: case ParserContext::OUTPUT_OPTIONS:
@@ -2378,7 +2379,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 42: case 42:
YY_RULE_SETUP YY_RULE_SETUP
#line 457 "netconf_lexer.ll" #line 458 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::LOGGERS: case ParserContext::LOGGERS:
@@ -2390,7 +2391,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 43: case 43:
YY_RULE_SETUP YY_RULE_SETUP
#line 466 "netconf_lexer.ll" #line 467 "netconf_lexer.ll"
{ {
switch(driver.ctx_) { switch(driver.ctx_) {
case ParserContext::LOGGERS: case ParserContext::LOGGERS:
@@ -2402,7 +2403,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 44: case 44:
YY_RULE_SETUP 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. /* 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. 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: case 45:
/* rule 45 can match eol */ /* rule 45 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 576 "netconf_lexer.ll" #line 577 "netconf_lexer.ll"
{ {
/* Bad string with a forbidden control character inside */ /* Bad string with a forbidden control character inside */
std::string raw(yytext+1); std::string raw(yytext+1);
@@ -2527,7 +2528,7 @@ YY_RULE_SETUP
case 46: case 46:
/* rule 46 can match eol */ /* rule 46 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 592 "netconf_lexer.ll" #line 593 "netconf_lexer.ll"
{ {
/* Bad string with a bad escape inside */ /* Bad string with a bad escape inside */
std::string raw(yytext+1); std::string raw(yytext+1);
@@ -2579,7 +2580,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 47: case 47:
YY_RULE_SETUP YY_RULE_SETUP
#line 641 "netconf_lexer.ll" #line 642 "netconf_lexer.ll"
{ {
/* Bad string with an open escape at the end */ /* Bad string with an open escape at the end */
std::string raw(yytext+1); std::string raw(yytext+1);
@@ -2590,7 +2591,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 48: case 48:
YY_RULE_SETUP YY_RULE_SETUP
#line 649 "netconf_lexer.ll" #line 650 "netconf_lexer.ll"
{ {
/* Bad string with an open unicode escape at the end */ /* Bad string with an open unicode escape at the end */
std::string raw(yytext+1); std::string raw(yytext+1);
@@ -2608,37 +2609,37 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 49: case 49:
YY_RULE_SETUP YY_RULE_SETUP
#line 664 "netconf_lexer.ll" #line 665 "netconf_lexer.ll"
{ return NetconfParser::make_LSQUARE_BRACKET(driver.loc_); } { return NetconfParser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK YY_BREAK
case 50: case 50:
YY_RULE_SETUP YY_RULE_SETUP
#line 665 "netconf_lexer.ll" #line 666 "netconf_lexer.ll"
{ return NetconfParser::make_RSQUARE_BRACKET(driver.loc_); } { return NetconfParser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK YY_BREAK
case 51: case 51:
YY_RULE_SETUP YY_RULE_SETUP
#line 666 "netconf_lexer.ll" #line 667 "netconf_lexer.ll"
{ return NetconfParser::make_LCURLY_BRACKET(driver.loc_); } { return NetconfParser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK YY_BREAK
case 52: case 52:
YY_RULE_SETUP YY_RULE_SETUP
#line 667 "netconf_lexer.ll" #line 668 "netconf_lexer.ll"
{ return NetconfParser::make_RCURLY_BRACKET(driver.loc_); } { return NetconfParser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK YY_BREAK
case 53: case 53:
YY_RULE_SETUP YY_RULE_SETUP
#line 668 "netconf_lexer.ll" #line 669 "netconf_lexer.ll"
{ return NetconfParser::make_COMMA(driver.loc_); } { return NetconfParser::make_COMMA(driver.loc_); }
YY_BREAK YY_BREAK
case 54: case 54:
YY_RULE_SETUP YY_RULE_SETUP
#line 669 "netconf_lexer.ll" #line 670 "netconf_lexer.ll"
{ return NetconfParser::make_COLON(driver.loc_); } { return NetconfParser::make_COLON(driver.loc_); }
YY_BREAK YY_BREAK
case 55: case 55:
YY_RULE_SETUP YY_RULE_SETUP
#line 671 "netconf_lexer.ll" #line 672 "netconf_lexer.ll"
{ {
/* An integer was found. */ /* An integer was found. */
std::string tmp(yytext); std::string tmp(yytext);
@@ -2659,7 +2660,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 56: case 56:
YY_RULE_SETUP YY_RULE_SETUP
#line 689 "netconf_lexer.ll" #line 690 "netconf_lexer.ll"
{ {
/* A floating point was found. */ /* A floating point was found. */
std::string tmp(yytext); std::string tmp(yytext);
@@ -2675,7 +2676,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 57: case 57:
YY_RULE_SETUP YY_RULE_SETUP
#line 702 "netconf_lexer.ll" #line 703 "netconf_lexer.ll"
{ {
string tmp(yytext); string tmp(yytext);
return NetconfParser::make_BOOLEAN(tmp == "true", driver.loc_); return NetconfParser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -2683,33 +2684,33 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 58: case 58:
YY_RULE_SETUP YY_RULE_SETUP
#line 707 "netconf_lexer.ll" #line 708 "netconf_lexer.ll"
{ {
return NetconfParser::make_NULL_TYPE(driver.loc_); return NetconfParser::make_NULL_TYPE(driver.loc_);
} }
YY_BREAK YY_BREAK
case 59: case 59:
YY_RULE_SETUP 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"); driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK YY_BREAK
case 60: case 60:
YY_RULE_SETUP 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"); driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK YY_BREAK
case 61: case 61:
YY_RULE_SETUP 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"); driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK YY_BREAK
case 62: case 62:
YY_RULE_SETUP YY_RULE_SETUP
#line 717 "netconf_lexer.ll" #line 718 "netconf_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK YY_BREAK
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
#line 719 "netconf_lexer.ll" #line 720 "netconf_lexer.ll"
{ {
if (driver.states_.empty()) { if (driver.states_.empty()) {
return NetconfParser::make_END(driver.loc_); return NetconfParser::make_END(driver.loc_);
@@ -2735,10 +2736,10 @@ case YY_STATE_EOF(INITIAL):
YY_BREAK YY_BREAK
case 63: case 63:
YY_RULE_SETUP YY_RULE_SETUP
#line 742 "netconf_lexer.ll" #line 743 "netconf_lexer.ll"
ECHO; ECHO;
YY_BREAK YY_BREAK
#line 2741 "netconf_lexer.cc" #line 2742 "netconf_lexer.cc"
case YY_END_OF_BUFFER: case YY_END_OF_BUFFER:
{ {
@@ -3843,7 +3844,7 @@ void yyfree (void * ptr )
/* %ok-for-header */ /* %ok-for-header */
#line 742 "netconf_lexer.ll" #line 743 "netconf_lexer.ll"
using namespace isc::dhcp; using namespace isc::dhcp;

View File

@@ -984,13 +984,13 @@ int yy_flex_debug = 1;
static const flex_int16_t yy_rule_linenum[63] = static const flex_int16_t yy_rule_linenum[63] =
{ 0, { 0,
106, 111, 117, 127, 133, 151, 175, 189, 190, 191, 107, 112, 118, 128, 134, 152, 176, 190, 191, 192,
192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
242, 243 243, 244
} ; } ;
/* The intent behind this definition is that it'll catch /* 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 #define YY_RESTORE_YY_MORE_OFFSET
char *yytext; char *yytext;
#line 1 "lexer.ll" #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 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 License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -1014,6 +1014,7 @@ char *yytext;
#include <cerrno> #include <cerrno>
#include <climits> #include <climits>
#include <cstdint>
#include <cstdlib> #include <cstdlib>
#include <string> #include <string>
#include <eval/eval_context.h> #include <eval/eval_context.h>
@@ -1041,7 +1042,7 @@ namespace {
/* To avoid the call to exit... oops! */ /* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::eval::EvalContext::fatal(msg) #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 /* 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 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 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 /* These are not token expressions yet, just convenience expressions that
can be used during actual token definitions. Note some can match can be used during actual token definitions. Note some can match
incorrect inputs (e.g., IP addresses) which must be checked. */ 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 /* 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 by moving it ahead by yyleng bytes. yyleng specifies the length of the
currently matched token. */ currently matched token. */
#define YY_USER_ACTION loc.columns(evalleng); #define YY_USER_ACTION loc.columns(evalleng);
#line 1069 "lexer.cc"
#line 1070 "lexer.cc" #line 1070 "lexer.cc"
#line 1071 "lexer.cc"
#define INITIAL 0 #define INITIAL 0
@@ -1345,11 +1346,11 @@ YY_DECL
{ {
/* %% [7.0] user's declarations go here */ /* %% [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. */ /* Code run each time evallex is called. */
loc.step(); 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 */ 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: case 1:
YY_RULE_SETUP 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. */ /* Ok, we found a with space. Let's ignore it and update loc variable. */
loc.step(); loc.step();
@@ -1463,7 +1464,7 @@ YY_RULE_SETUP
case 2: case 2:
/* rule 2 can match eol */ /* rule 2 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 111 "lexer.ll" #line 112 "lexer.ll"
{ {
/* Newline found. Let's update the location and continue. */ /* Newline found. Let's update the location and continue. */
loc.lines(evalleng); loc.lines(evalleng);
@@ -1472,7 +1473,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 3: case 3:
YY_RULE_SETUP YY_RULE_SETUP
#line 117 "lexer.ll" #line 118 "lexer.ll"
{ {
/* A string has been matched. It contains the actual string and single quotes. /* 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. 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 YY_BREAK
case 4: case 4:
YY_RULE_SETUP YY_RULE_SETUP
#line 127 "lexer.ll" #line 128 "lexer.ll"
{ {
/* A hex string has been matched. It contains the '0x' or '0X' header /* A hex string has been matched. It contains the '0x' or '0X' header
followed by at least one hexadecimal digit. */ followed by at least one hexadecimal digit. */
@@ -1494,7 +1495,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 5: case 5:
YY_RULE_SETUP YY_RULE_SETUP
#line 133 "lexer.ll" #line 134 "lexer.ll"
{ {
/* An integer was found. */ /* An integer was found. */
std::string tmp(evaltext); std::string tmp(evaltext);
@@ -1520,7 +1521,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1);
(yy_c_buf_p) = yy_cp -= 1; (yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP YY_RULE_SETUP
#line 151 "lexer.ll" #line 152 "lexer.ll"
{ {
/* This string specifies option name starting with a letter /* This string specifies option name starting with a letter
and further containing letters, digits, hyphens and and further containing letters, digits, hyphens and
@@ -1547,7 +1548,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 7: case 7:
YY_RULE_SETUP YY_RULE_SETUP
#line 175 "lexer.ll" #line 176 "lexer.ll"
{ {
/* IPv4 or IPv6 address */ /* IPv4 or IPv6 address */
std::string tmp(evaltext); std::string tmp(evaltext);
@@ -1564,289 +1565,289 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 8: case 8:
YY_RULE_SETUP YY_RULE_SETUP
#line 189 "lexer.ll" #line 190 "lexer.ll"
return isc::eval::EvalParser::make_EQUAL(loc); return isc::eval::EvalParser::make_EQUAL(loc);
YY_BREAK YY_BREAK
case 9: case 9:
YY_RULE_SETUP YY_RULE_SETUP
#line 190 "lexer.ll" #line 191 "lexer.ll"
return isc::eval::EvalParser::make_OPTION(loc); return isc::eval::EvalParser::make_OPTION(loc);
YY_BREAK YY_BREAK
case 10: case 10:
YY_RULE_SETUP YY_RULE_SETUP
#line 191 "lexer.ll" #line 192 "lexer.ll"
return isc::eval::EvalParser::make_RELAY4(loc); return isc::eval::EvalParser::make_RELAY4(loc);
YY_BREAK YY_BREAK
case 11: case 11:
YY_RULE_SETUP YY_RULE_SETUP
#line 192 "lexer.ll" #line 193 "lexer.ll"
return isc::eval::EvalParser::make_RELAY6(loc); return isc::eval::EvalParser::make_RELAY6(loc);
YY_BREAK YY_BREAK
case 12: case 12:
YY_RULE_SETUP YY_RULE_SETUP
#line 193 "lexer.ll" #line 194 "lexer.ll"
return isc::eval::EvalParser::make_PEERADDR(loc); return isc::eval::EvalParser::make_PEERADDR(loc);
YY_BREAK YY_BREAK
case 13: case 13:
YY_RULE_SETUP YY_RULE_SETUP
#line 194 "lexer.ll" #line 195 "lexer.ll"
return isc::eval::EvalParser::make_LINKADDR(loc); return isc::eval::EvalParser::make_LINKADDR(loc);
YY_BREAK YY_BREAK
case 14: case 14:
YY_RULE_SETUP YY_RULE_SETUP
#line 195 "lexer.ll" #line 196 "lexer.ll"
return isc::eval::EvalParser::make_TEXT(loc); return isc::eval::EvalParser::make_TEXT(loc);
YY_BREAK YY_BREAK
case 15: case 15:
YY_RULE_SETUP YY_RULE_SETUP
#line 196 "lexer.ll" #line 197 "lexer.ll"
return isc::eval::EvalParser::make_HEX(loc); return isc::eval::EvalParser::make_HEX(loc);
YY_BREAK YY_BREAK
case 16: case 16:
YY_RULE_SETUP YY_RULE_SETUP
#line 197 "lexer.ll" #line 198 "lexer.ll"
return isc::eval::EvalParser::make_EXISTS(loc); return isc::eval::EvalParser::make_EXISTS(loc);
YY_BREAK YY_BREAK
case 17: case 17:
YY_RULE_SETUP YY_RULE_SETUP
#line 198 "lexer.ll" #line 199 "lexer.ll"
return isc::eval::EvalParser::make_PKT(loc); return isc::eval::EvalParser::make_PKT(loc);
YY_BREAK YY_BREAK
case 18: case 18:
YY_RULE_SETUP YY_RULE_SETUP
#line 199 "lexer.ll" #line 200 "lexer.ll"
return isc::eval::EvalParser::make_IFACE(loc); return isc::eval::EvalParser::make_IFACE(loc);
YY_BREAK YY_BREAK
case 19: case 19:
YY_RULE_SETUP YY_RULE_SETUP
#line 200 "lexer.ll" #line 201 "lexer.ll"
return isc::eval::EvalParser::make_SRC(loc); return isc::eval::EvalParser::make_SRC(loc);
YY_BREAK YY_BREAK
case 20: case 20:
YY_RULE_SETUP YY_RULE_SETUP
#line 201 "lexer.ll" #line 202 "lexer.ll"
return isc::eval::EvalParser::make_DST(loc); return isc::eval::EvalParser::make_DST(loc);
YY_BREAK YY_BREAK
case 21: case 21:
YY_RULE_SETUP YY_RULE_SETUP
#line 202 "lexer.ll" #line 203 "lexer.ll"
return isc::eval::EvalParser::make_LEN(loc); return isc::eval::EvalParser::make_LEN(loc);
YY_BREAK YY_BREAK
case 22: case 22:
YY_RULE_SETUP YY_RULE_SETUP
#line 203 "lexer.ll" #line 204 "lexer.ll"
return isc::eval::EvalParser::make_PKT4(loc); return isc::eval::EvalParser::make_PKT4(loc);
YY_BREAK YY_BREAK
case 23: case 23:
YY_RULE_SETUP YY_RULE_SETUP
#line 204 "lexer.ll" #line 205 "lexer.ll"
return isc::eval::EvalParser::make_CHADDR(loc); return isc::eval::EvalParser::make_CHADDR(loc);
YY_BREAK YY_BREAK
case 24: case 24:
YY_RULE_SETUP YY_RULE_SETUP
#line 205 "lexer.ll" #line 206 "lexer.ll"
return isc::eval::EvalParser::make_HLEN(loc); return isc::eval::EvalParser::make_HLEN(loc);
YY_BREAK YY_BREAK
case 25: case 25:
YY_RULE_SETUP YY_RULE_SETUP
#line 206 "lexer.ll" #line 207 "lexer.ll"
return isc::eval::EvalParser::make_HTYPE(loc); return isc::eval::EvalParser::make_HTYPE(loc);
YY_BREAK YY_BREAK
case 26: case 26:
YY_RULE_SETUP YY_RULE_SETUP
#line 207 "lexer.ll" #line 208 "lexer.ll"
return isc::eval::EvalParser::make_CIADDR(loc); return isc::eval::EvalParser::make_CIADDR(loc);
YY_BREAK YY_BREAK
case 27: case 27:
YY_RULE_SETUP YY_RULE_SETUP
#line 208 "lexer.ll" #line 209 "lexer.ll"
return isc::eval::EvalParser::make_GIADDR(loc); return isc::eval::EvalParser::make_GIADDR(loc);
YY_BREAK YY_BREAK
case 28: case 28:
YY_RULE_SETUP YY_RULE_SETUP
#line 209 "lexer.ll" #line 210 "lexer.ll"
return isc::eval::EvalParser::make_YIADDR(loc); return isc::eval::EvalParser::make_YIADDR(loc);
YY_BREAK YY_BREAK
case 29: case 29:
YY_RULE_SETUP YY_RULE_SETUP
#line 210 "lexer.ll" #line 211 "lexer.ll"
return isc::eval::EvalParser::make_SIADDR(loc); return isc::eval::EvalParser::make_SIADDR(loc);
YY_BREAK YY_BREAK
case 30: case 30:
YY_RULE_SETUP YY_RULE_SETUP
#line 211 "lexer.ll" #line 212 "lexer.ll"
return isc::eval::EvalParser::make_PKT6(loc); return isc::eval::EvalParser::make_PKT6(loc);
YY_BREAK YY_BREAK
case 31: case 31:
YY_RULE_SETUP YY_RULE_SETUP
#line 212 "lexer.ll" #line 213 "lexer.ll"
return isc::eval::EvalParser::make_MSGTYPE(loc); return isc::eval::EvalParser::make_MSGTYPE(loc);
YY_BREAK YY_BREAK
case 32: case 32:
YY_RULE_SETUP YY_RULE_SETUP
#line 213 "lexer.ll" #line 214 "lexer.ll"
return isc::eval::EvalParser::make_TRANSID(loc); return isc::eval::EvalParser::make_TRANSID(loc);
YY_BREAK YY_BREAK
case 33: case 33:
YY_RULE_SETUP YY_RULE_SETUP
#line 214 "lexer.ll" #line 215 "lexer.ll"
return isc::eval::EvalParser::make_VENDOR(loc); return isc::eval::EvalParser::make_VENDOR(loc);
YY_BREAK YY_BREAK
case 34: case 34:
YY_RULE_SETUP YY_RULE_SETUP
#line 215 "lexer.ll" #line 216 "lexer.ll"
return isc::eval::EvalParser::make_VENDOR_CLASS(loc); return isc::eval::EvalParser::make_VENDOR_CLASS(loc);
YY_BREAK YY_BREAK
case 35: case 35:
YY_RULE_SETUP YY_RULE_SETUP
#line 216 "lexer.ll" #line 217 "lexer.ll"
return isc::eval::EvalParser::make_DATA(loc); return isc::eval::EvalParser::make_DATA(loc);
YY_BREAK YY_BREAK
case 36: case 36:
YY_RULE_SETUP YY_RULE_SETUP
#line 217 "lexer.ll" #line 218 "lexer.ll"
return isc::eval::EvalParser::make_ENTERPRISE(loc); return isc::eval::EvalParser::make_ENTERPRISE(loc);
YY_BREAK YY_BREAK
case 37: case 37:
YY_RULE_SETUP YY_RULE_SETUP
#line 218 "lexer.ll" #line 219 "lexer.ll"
return isc::eval::EvalParser::make_SUBSTRING(loc); return isc::eval::EvalParser::make_SUBSTRING(loc);
YY_BREAK YY_BREAK
case 38: case 38:
YY_RULE_SETUP YY_RULE_SETUP
#line 219 "lexer.ll" #line 220 "lexer.ll"
return isc::eval::EvalParser::make_SPLIT(loc); return isc::eval::EvalParser::make_SPLIT(loc);
YY_BREAK YY_BREAK
case 39: case 39:
YY_RULE_SETUP YY_RULE_SETUP
#line 220 "lexer.ll" #line 221 "lexer.ll"
return isc::eval::EvalParser::make_ALL(loc); return isc::eval::EvalParser::make_ALL(loc);
YY_BREAK YY_BREAK
case 40: case 40:
YY_RULE_SETUP YY_RULE_SETUP
#line 221 "lexer.ll" #line 222 "lexer.ll"
return isc::eval::EvalParser::make_CONCAT(loc); return isc::eval::EvalParser::make_CONCAT(loc);
YY_BREAK YY_BREAK
case 41: case 41:
YY_RULE_SETUP YY_RULE_SETUP
#line 222 "lexer.ll" #line 223 "lexer.ll"
return isc::eval::EvalParser::make_IFELSE(loc); return isc::eval::EvalParser::make_IFELSE(loc);
YY_BREAK YY_BREAK
case 42: case 42:
YY_RULE_SETUP YY_RULE_SETUP
#line 223 "lexer.ll" #line 224 "lexer.ll"
return isc::eval::EvalParser::make_TOHEXSTRING(loc); return isc::eval::EvalParser::make_TOHEXSTRING(loc);
YY_BREAK YY_BREAK
case 43: case 43:
YY_RULE_SETUP YY_RULE_SETUP
#line 224 "lexer.ll" #line 225 "lexer.ll"
return isc::eval::EvalParser::make_ADDRTOTEXT(loc); return isc::eval::EvalParser::make_ADDRTOTEXT(loc);
YY_BREAK YY_BREAK
case 44: case 44:
YY_RULE_SETUP YY_RULE_SETUP
#line 225 "lexer.ll" #line 226 "lexer.ll"
return isc::eval::EvalParser::make_INT8TOTEXT(loc); return isc::eval::EvalParser::make_INT8TOTEXT(loc);
YY_BREAK YY_BREAK
case 45: case 45:
YY_RULE_SETUP YY_RULE_SETUP
#line 226 "lexer.ll" #line 227 "lexer.ll"
return isc::eval::EvalParser::make_INT16TOTEXT(loc); return isc::eval::EvalParser::make_INT16TOTEXT(loc);
YY_BREAK YY_BREAK
case 46: case 46:
YY_RULE_SETUP YY_RULE_SETUP
#line 227 "lexer.ll" #line 228 "lexer.ll"
return isc::eval::EvalParser::make_INT32TOTEXT(loc); return isc::eval::EvalParser::make_INT32TOTEXT(loc);
YY_BREAK YY_BREAK
case 47: case 47:
YY_RULE_SETUP YY_RULE_SETUP
#line 228 "lexer.ll" #line 229 "lexer.ll"
return isc::eval::EvalParser::make_UINT8TOTEXT(loc); return isc::eval::EvalParser::make_UINT8TOTEXT(loc);
YY_BREAK YY_BREAK
case 48: case 48:
YY_RULE_SETUP YY_RULE_SETUP
#line 229 "lexer.ll" #line 230 "lexer.ll"
return isc::eval::EvalParser::make_UINT16TOTEXT(loc); return isc::eval::EvalParser::make_UINT16TOTEXT(loc);
YY_BREAK YY_BREAK
case 49: case 49:
YY_RULE_SETUP YY_RULE_SETUP
#line 230 "lexer.ll" #line 231 "lexer.ll"
return isc::eval::EvalParser::make_UINT32TOTEXT(loc); return isc::eval::EvalParser::make_UINT32TOTEXT(loc);
YY_BREAK YY_BREAK
case 50: case 50:
YY_RULE_SETUP YY_RULE_SETUP
#line 231 "lexer.ll" #line 232 "lexer.ll"
return isc::eval::EvalParser::make_NOT(loc); return isc::eval::EvalParser::make_NOT(loc);
YY_BREAK YY_BREAK
case 51: case 51:
YY_RULE_SETUP YY_RULE_SETUP
#line 232 "lexer.ll" #line 233 "lexer.ll"
return isc::eval::EvalParser::make_AND(loc); return isc::eval::EvalParser::make_AND(loc);
YY_BREAK YY_BREAK
case 52: case 52:
YY_RULE_SETUP YY_RULE_SETUP
#line 233 "lexer.ll" #line 234 "lexer.ll"
return isc::eval::EvalParser::make_OR(loc); return isc::eval::EvalParser::make_OR(loc);
YY_BREAK YY_BREAK
case 53: case 53:
YY_RULE_SETUP YY_RULE_SETUP
#line 234 "lexer.ll" #line 235 "lexer.ll"
return isc::eval::EvalParser::make_MEMBER(loc); return isc::eval::EvalParser::make_MEMBER(loc);
YY_BREAK YY_BREAK
case 54: case 54:
YY_RULE_SETUP YY_RULE_SETUP
#line 235 "lexer.ll" #line 236 "lexer.ll"
return isc::eval::EvalParser::make_DOT(loc); return isc::eval::EvalParser::make_DOT(loc);
YY_BREAK YY_BREAK
case 55: case 55:
YY_RULE_SETUP YY_RULE_SETUP
#line 236 "lexer.ll" #line 237 "lexer.ll"
return isc::eval::EvalParser::make_LPAREN(loc); return isc::eval::EvalParser::make_LPAREN(loc);
YY_BREAK YY_BREAK
case 56: case 56:
YY_RULE_SETUP YY_RULE_SETUP
#line 237 "lexer.ll" #line 238 "lexer.ll"
return isc::eval::EvalParser::make_RPAREN(loc); return isc::eval::EvalParser::make_RPAREN(loc);
YY_BREAK YY_BREAK
case 57: case 57:
YY_RULE_SETUP YY_RULE_SETUP
#line 238 "lexer.ll" #line 239 "lexer.ll"
return isc::eval::EvalParser::make_LBRACKET(loc); return isc::eval::EvalParser::make_LBRACKET(loc);
YY_BREAK YY_BREAK
case 58: case 58:
YY_RULE_SETUP YY_RULE_SETUP
#line 239 "lexer.ll" #line 240 "lexer.ll"
return isc::eval::EvalParser::make_RBRACKET(loc); return isc::eval::EvalParser::make_RBRACKET(loc);
YY_BREAK YY_BREAK
case 59: case 59:
YY_RULE_SETUP YY_RULE_SETUP
#line 240 "lexer.ll" #line 241 "lexer.ll"
return isc::eval::EvalParser::make_COMA(loc); return isc::eval::EvalParser::make_COMA(loc);
YY_BREAK YY_BREAK
case 60: case 60:
YY_RULE_SETUP YY_RULE_SETUP
#line 241 "lexer.ll" #line 242 "lexer.ll"
return isc::eval::EvalParser::make_ANY(loc); return isc::eval::EvalParser::make_ANY(loc);
YY_BREAK YY_BREAK
case 61: case 61:
YY_RULE_SETUP YY_RULE_SETUP
#line 242 "lexer.ll" #line 243 "lexer.ll"
return isc::eval::EvalParser::make_PLUS(loc); return isc::eval::EvalParser::make_PLUS(loc);
YY_BREAK YY_BREAK
case 62: case 62:
YY_RULE_SETUP YY_RULE_SETUP
#line 243 "lexer.ll" #line 244 "lexer.ll"
driver.error (loc, "Invalid character: " + std::string(evaltext)); driver.error (loc, "Invalid character: " + std::string(evaltext));
YY_BREAK YY_BREAK
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
#line 244 "lexer.ll" #line 245 "lexer.ll"
return isc::eval::EvalParser::make_END(loc); return isc::eval::EvalParser::make_END(loc);
YY_BREAK YY_BREAK
case 63: case 63:
YY_RULE_SETUP YY_RULE_SETUP
#line 245 "lexer.ll" #line 246 "lexer.ll"
ECHO; ECHO;
YY_BREAK YY_BREAK
#line 1849 "lexer.cc" #line 1850 "lexer.cc"
case YY_END_OF_BUFFER: case YY_END_OF_BUFFER:
{ {
@@ -2958,7 +2959,7 @@ void yyfree (void * ptr )
/* %ok-for-header */ /* %ok-for-header */
#line 245 "lexer.ll" #line 246 "lexer.ll"
using namespace isc::eval; using namespace isc::eval;

View File

@@ -1,3 +1,4 @@
// Generated 202308031547
// A Bison parser, made by GNU Bison 3.8.2. // A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++ // Locations for Bison parsers in C++