5#define  YY_INT_ALIGNED short int 
   12#define yy_create_buffer d2_parser__create_buffer 
   13#define yy_delete_buffer d2_parser__delete_buffer 
   14#define yy_scan_buffer d2_parser__scan_buffer 
   15#define yy_scan_string d2_parser__scan_string 
   16#define yy_scan_bytes d2_parser__scan_bytes 
   17#define yy_init_buffer d2_parser__init_buffer 
   18#define yy_flush_buffer d2_parser__flush_buffer 
   19#define yy_load_buffer_state d2_parser__load_buffer_state 
   20#define yy_switch_to_buffer d2_parser__switch_to_buffer 
   21#define yypush_buffer_state d2_parser_push_buffer_state 
   22#define yypop_buffer_state d2_parser_pop_buffer_state 
   23#define yyensure_buffer_stack d2_parser_ensure_buffer_stack 
   24#define yy_flex_debug d2_parser__flex_debug 
   25#define yyin d2_parser_in 
   26#define yyleng d2_parser_leng 
   27#define yylex d2_parser_lex 
   28#define yylineno d2_parser_lineno 
   29#define yyout d2_parser_out 
   30#define yyrestart d2_parser_restart 
   31#define yytext d2_parser_text 
   32#define yywrap d2_parser_wrap 
   33#define yyalloc d2_parser_alloc 
   34#define yyrealloc d2_parser_realloc 
   35#define yyfree d2_parser_free 
   42#define YY_FLEX_MAJOR_VERSION 2 
   43#define YY_FLEX_MINOR_VERSION 6 
   44#define YY_FLEX_SUBMINOR_VERSION 4 
   45#if YY_FLEX_SUBMINOR_VERSION > 0 
   53#ifdef yy_create_buffer 
   54#define d2_parser__create_buffer_ALREADY_DEFINED 
   56#define yy_create_buffer d2_parser__create_buffer 
   59#ifdef yy_delete_buffer 
   60#define d2_parser__delete_buffer_ALREADY_DEFINED 
   62#define yy_delete_buffer d2_parser__delete_buffer 
   66#define d2_parser__scan_buffer_ALREADY_DEFINED 
   68#define yy_scan_buffer d2_parser__scan_buffer 
   72#define d2_parser__scan_string_ALREADY_DEFINED 
   74#define yy_scan_string d2_parser__scan_string 
   78#define d2_parser__scan_bytes_ALREADY_DEFINED 
   80#define yy_scan_bytes d2_parser__scan_bytes 
   84#define d2_parser__init_buffer_ALREADY_DEFINED 
   86#define yy_init_buffer d2_parser__init_buffer 
   90#define d2_parser__flush_buffer_ALREADY_DEFINED 
   92#define yy_flush_buffer d2_parser__flush_buffer 
   95#ifdef yy_load_buffer_state 
   96#define d2_parser__load_buffer_state_ALREADY_DEFINED 
   98#define yy_load_buffer_state d2_parser__load_buffer_state 
  101#ifdef yy_switch_to_buffer 
  102#define d2_parser__switch_to_buffer_ALREADY_DEFINED 
  104#define yy_switch_to_buffer d2_parser__switch_to_buffer 
  107#ifdef yypush_buffer_state 
  108#define d2_parser_push_buffer_state_ALREADY_DEFINED 
  110#define yypush_buffer_state d2_parser_push_buffer_state 
  113#ifdef yypop_buffer_state 
  114#define d2_parser_pop_buffer_state_ALREADY_DEFINED 
  116#define yypop_buffer_state d2_parser_pop_buffer_state 
  119#ifdef yyensure_buffer_stack 
  120#define d2_parser_ensure_buffer_stack_ALREADY_DEFINED 
  122#define yyensure_buffer_stack d2_parser_ensure_buffer_stack 
  126#define d2_parser_lex_ALREADY_DEFINED 
  128#define yylex d2_parser_lex 
  132#define d2_parser_restart_ALREADY_DEFINED 
  134#define yyrestart d2_parser_restart 
  138#define d2_parser_lex_init_ALREADY_DEFINED 
  140#define yylex_init d2_parser_lex_init 
  143#ifdef yylex_init_extra 
  144#define d2_parser_lex_init_extra_ALREADY_DEFINED 
  146#define yylex_init_extra d2_parser_lex_init_extra 
  150#define d2_parser_lex_destroy_ALREADY_DEFINED 
  152#define yylex_destroy d2_parser_lex_destroy 
  156#define d2_parser_get_debug_ALREADY_DEFINED 
  158#define yyget_debug d2_parser_get_debug 
  162#define d2_parser_set_debug_ALREADY_DEFINED 
  164#define yyset_debug d2_parser_set_debug 
  168#define d2_parser_get_extra_ALREADY_DEFINED 
  170#define yyget_extra d2_parser_get_extra 
  174#define d2_parser_set_extra_ALREADY_DEFINED 
  176#define yyset_extra d2_parser_set_extra 
  180#define d2_parser_get_in_ALREADY_DEFINED 
  182#define yyget_in d2_parser_get_in 
  186#define d2_parser_set_in_ALREADY_DEFINED 
  188#define yyset_in d2_parser_set_in 
  192#define d2_parser_get_out_ALREADY_DEFINED 
  194#define yyget_out d2_parser_get_out 
  198#define d2_parser_set_out_ALREADY_DEFINED 
  200#define yyset_out d2_parser_set_out 
  204#define d2_parser_get_leng_ALREADY_DEFINED 
  206#define yyget_leng d2_parser_get_leng 
  210#define d2_parser_get_text_ALREADY_DEFINED 
  212#define yyget_text d2_parser_get_text 
  216#define d2_parser_get_lineno_ALREADY_DEFINED 
  218#define yyget_lineno d2_parser_get_lineno 
  222#define d2_parser_set_lineno_ALREADY_DEFINED 
  224#define yyset_lineno d2_parser_set_lineno 
  228#define d2_parser_wrap_ALREADY_DEFINED 
  230#define yywrap d2_parser_wrap 
  236#define d2_parser_alloc_ALREADY_DEFINED 
  238#define yyalloc d2_parser_alloc 
  242#define d2_parser_realloc_ALREADY_DEFINED 
  244#define yyrealloc d2_parser_realloc 
  248#define d2_parser_free_ALREADY_DEFINED 
  250#define yyfree d2_parser_free 
  256#define d2_parser_text_ALREADY_DEFINED 
  258#define yytext d2_parser_text 
  262#define d2_parser_leng_ALREADY_DEFINED 
  264#define yyleng d2_parser_leng 
  268#define d2_parser_in_ALREADY_DEFINED 
  270#define yyin d2_parser_in 
  274#define d2_parser_out_ALREADY_DEFINED 
  276#define yyout d2_parser_out 
  280#define d2_parser__flex_debug_ALREADY_DEFINED 
  282#define yy_flex_debug d2_parser__flex_debug 
  286#define d2_parser_lineno_ALREADY_DEFINED 
  288#define yylineno d2_parser_lineno 
  315#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 
  320#ifndef __STDC_LIMIT_MACROS 
  321#define __STDC_LIMIT_MACROS 1 
  341#define INT8_MIN               (-128) 
  344#define INT16_MIN              (-32767-1) 
  347#define INT32_MIN              (-2147483647-1) 
  350#define INT8_MAX               (127) 
  353#define INT16_MAX              (32767) 
  356#define INT32_MAX              (2147483647) 
  359#define UINT8_MAX              (255U) 
  362#define UINT16_MAX             (65535U) 
  365#define UINT32_MAX             (4294967295U) 
  369#define SIZE_MAX               (~(size_t)0) 
  385#if defined(__GNUC__) && __GNUC__ >= 3 
  386#define yynoreturn __attribute__((__noreturn__)) 
  400#define YY_SC_TO_UI(c) ((YY_CHAR) (c)) 
  414#define BEGIN (yy_start) = 1 + 2 * 
  419#define YY_START (((yy_start) - 1) / 2) 
  420#define YYSTATE YY_START 
  422#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 
  424#define YY_NEW_FILE yyrestart( yyin  ) 
  425#define YY_END_OF_BUFFER_CHAR 0 
  434#define YY_BUF_SIZE 32768 
  436#define YY_BUF_SIZE 16384 
  442#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 
  444#ifndef YY_TYPEDEF_YY_BUFFER_STATE 
  445#define YY_TYPEDEF_YY_BUFFER_STATE 
  449#ifndef YY_TYPEDEF_YY_SIZE_T 
  450#define YY_TYPEDEF_YY_SIZE_T 
  464#define EOB_ACT_CONTINUE_SCAN 0 
  465#define EOB_ACT_END_OF_FILE 1 
  466#define EOB_ACT_LAST_MATCH 2 
  468    #define YY_LESS_LINENO(n) 
  469    #define YY_LINENO_REWIND_TO(ptr) 
  476        int yyless_macro_arg = (n); \ 
  477        YY_LESS_LINENO(yyless_macro_arg);\ 
  478        *yy_cp = (yy_hold_char); \ 
  479        YY_RESTORE_YY_MORE_OFFSET \ 
  480        (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 
  481        YY_DO_BEFORE_ACTION;  \ 
 
  484#define unput(c) yyunput( c, (yytext_ptr)  ) 
  486#ifndef YY_STRUCT_YY_BUFFER_STATE 
  487#define YY_STRUCT_YY_BUFFER_STATE 
  539#define YY_BUFFER_NEW 0 
  540#define YY_BUFFER_NORMAL 1 
  551#define YY_BUFFER_EOF_PENDING 2 
  561static size_t yy_buffer_stack_top = 0; 
 
  562static size_t yy_buffer_stack_max = 0; 
 
  575#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 
  576                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 
 
  581#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 
  588static char yy_hold_char;
 
  589static int yy_n_chars;      
 
  593static char *yy_c_buf_p = NULL;
 
  594static int yy_init = 0;     
 
  595static int yy_start = 0;    
 
  600static int yy_did_buffer_switch_on_eof;
 
  616#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) 
  628#define yy_new_buffer yy_create_buffer 
  629#define yy_set_interactive(is_interactive) \ 
  631    if ( ! YY_CURRENT_BUFFER ){ \ 
  632        yyensure_buffer_stack (); \ 
  633        YY_CURRENT_BUFFER_LVALUE =    \ 
  634            yy_create_buffer( yyin, YY_BUF_SIZE ); \ 
  636    YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 
 
  638#define yy_set_bol(at_bol) \ 
  640    if ( ! YY_CURRENT_BUFFER ){\ 
  641        yyensure_buffer_stack (); \ 
  642        YY_CURRENT_BUFFER_LVALUE =    \ 
  643            yy_create_buffer( yyin, YY_BUF_SIZE ); \ 
  645    YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 
 
  647#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 
  652#define d2_parser_wrap() (1) 
  653#define YY_SKIP_YYWRAP 
  669#define yytext_ptr yytext 
  677static int yy_get_next_buffer ( 
void );
 
  678static void yynoreturn yy_fatal_error ( 
const char* msg  );
 
  685#define YY_DO_BEFORE_ACTION \ 
  686    (yytext_ptr) = yy_bp; \ 
  688    yyleng = (int) (yy_cp - yy_bp); \ 
  689    (yy_hold_char) = *yy_cp; \ 
  692    (yy_c_buf_p) = yy_cp; 
 
  694#define YY_NUM_RULES 90 
  695#define YY_END_OF_BUFFER 91 
  705       83,   83,    0,    0,    0,    0,    0,    0,    0,    0,
 
  706       91,   89,   10,   11,   89,    1,   83,   80,   83,   83,
 
  707       89,   82,   81,   89,   89,   89,   89,   89,   76,   77,
 
  708       89,   89,   89,   78,   79,    5,    5,    5,   89,   89,
 
  709       89,   10,   11,    0,    0,   71,    0,    0,    0,    0,
 
  710        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  711        0,    0,    0,    0,    0,    0,    0,    0,    1,   83,
 
  712       83,    0,   82,   83,    3,    2,    6,    0,   83,    0,
 
  713        0,    0,    0,    0,    0,    4,    0,    0,    9,    0,
 
  714       72,    0,    0,    0,    0,    0,    0,   74,    0,    0,
 
  716        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  717        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  718        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  719        0,    2,    0,    0,    0,    0,    0,    0,    0,    8,
 
  720        0,    0,    0,    0,    0,   73,   75,    0,    0,    0,
 
  721        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  722        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  723        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  724        0,    0,    0,    0,    0,    0,    0,    0,   88,   86,
 
  725        0,   85,   84,    0,    0,    0,   19,   18,    0,    0,
 
  727        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  728        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  729        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  730        0,    0,    0,    0,    0,    0,    0,    0,    0,   87,
 
  731       84,    0,    0,   20,    0,    0,    0,    0,    0,    0,
 
  732        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  733        0,   38,    0,    0,    0,    0,    0,    0,    0,    0,
 
  734       68,    0,    0,    0,    0,    0,    0,   14,    0,    0,
 
  735        0,    0,    0,    0,    0,   44,   37,   49,    0,    0,
 
  736        0,    0,    0,   45,    0,    0,    0,    0,    0,    0,
 
  738        0,    0,    0,    0,   64,    0,    0,    0,   39,    0,
 
  739        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  740        0,    0,   46,    0,    0,    0,    0,    0,    0,    0,
 
  741        0,    7,    0,    0,    0,    0,    0,    0,    0,    0,
 
  742        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  743        0,    0,    0,    0,   66,    0,    0,   63,    0,    0,
 
  744        0,    0,    0,    0,   32,    0,    0,    0,    0,    0,
 
  745        0,    0,    0,    0,    0,    0,    0,   48,   22,    0,
 
  746        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  747        0,   59,   60,   65,    0,    0,    0,    0,    0,    0,
 
  749       67,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  750        0,    0,   12,    0,    0,    0,    0,    0,    0,    0,
 
  751        0,    0,    0,    0,    0,   28,    0,   55,   26,    0,
 
  752        0,    0,    0,    0,   51,    0,    0,    0,   70,    0,
 
  753        0,    0,    0,    0,    0,    0,    0,   30,    0,   54,
 
  754        0,    0,    0,    0,    0,   47,    0,    0,    0,    0,
 
  755        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
  756        0,    0,    0,   29,    0,   50,    0,    0,    0,    0,
 
  757       69,    0,    0,    0,    0,    0,   13,   17,    0,    0,
 
  758        0,   58,    0,    0,    0,    0,    0,    0,    0,    0,
 
  760        0,    0,    0,    0,    0,   31,    0,   27,    0,    0,
 
  761        0,    0,    0,    0,    0,   33,    0,   40,   42,   36,
 
  762        0,    0,    0,    0,    0,   25,    0,   23,    0,   16,
 
  763        0,    0,    0,   24,    0,   53,   21,    0,   56,    0,
 
  764        0,    0,    0,    0,   52,    0,   43,   34,    0,    0,
 
  765        0,   62,   61,   41,   35,    0,   57,    0,    0,   15,
 
  769static const YY_CHAR yy_ec[256] =
 
  771        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
 
  772        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
 
  773        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
  774        1,    4,    5,    6,    7,    5,    5,    5,    5,    5,
 
  775        5,    8,    9,   10,   11,   12,   13,   14,   14,   14,
 
  776       14,   14,   14,   14,   14,   14,   14,   15,    5,   16,
 
  777        5,   17,   18,    5,   19,   20,   21,   22,   23,   24,
 
  778        5,    5,    5,   25,    5,   26,    5,   27,   28,   29,
 
  779        5,   30,   31,   32,   33,    5,    5,    5,    5,    5,
 
  780       34,   35,   36,    5,   37,    5,   38,   39,   40,   41,
 
  782       42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
 
  783       52,   53,   54,   55,   56,   57,   58,   59,   60,   61,
 
  784       62,   63,   64,    5,   65,    5,    5,    5,    5,    5,
 
  785        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
 
  786        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
 
  787        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
 
  788        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
 
  789        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
 
  790        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
 
  791        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
 
  793        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
 
  794        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
 
  795        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
 
  796        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
 
  797        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
 
  801static const YY_CHAR yy_meta[66] =
 
  803        1,    1,    2,    1,    1,    3,    1,    1,    1,    1,
 
  804        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
  805        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
  806        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
  807        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
  808        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
  814        0,   64,   17,   27,   35,   43,   46,   52,   81,   90,
 
  815      815,  816,   24,  811,  129,    0,  183,  816,  184,   30,
 
  816        9,  187,  816,  795,  100,   21,   28,   65,  816,  816,
 
  817       22,   64,   71,  816,  816,  816,  100,  799,  760,    0,
 
  818      793,  101,  806,   27,  208,  816,  763,  171,   42,  178,
 
  819      232,   61,  769,   75,  162,   64,   66,  753,  763,  159,
 
  820      766,  174,  745,  171,  760,  176,  222,  247,    0,  208,
 
  821      258,  206,  262,  259,  816,    0,  816,  787,  786,  190,
 
  822      195,  235,  253,  260,  247,  816,  759,  792,  816,  285,
 
  823      816,  286,  757,  266,  266,  277,  790,    0,  339,  751,
 
  825      737,  737,  737,  745,  184,  739,  750,  252,  732,  729,
 
  826      731,  180,  728,  773,  721,  743,  737,  719,  729,  723,
 
  827      720,  255,  721,   31,  257,  735,  716,  727,  719,  725,
 
  828      728,    0,  277,  287,  292,  283,  291,  300,  720,  816,
 
  829      715,  295,  761,  760,  759,  816,  816,  369,  712,  718,
 
  830      716,  704,  718,  709,  701,  701,  698,  713,  712,  742,
 
  831      696,  691,  702,  692,  695,  709,  735,  690,  700,  268,
 
  832      701,  731,  688,  702,  683,  681,  680,  687,  693,  679,
 
  833      691,  684,  675,  686,  687,  667,  672,  305,  816,  816,
 
  834      308,  816,  816,  668,  703,  718,  816,  816,  399,  668,
 
  836      680,  681,  709,  668,  676,  662,  705,  671,  658,  673,
 
  837      656,  666,  672,  653,  657,  320,  666,  305,  668,  663,
 
  838      658,  661,  696,  199,  643,  650,  639,  656,  691,  646,
 
  839      640,  652,  638,  650,  634,  679,  683,  682,  343,  816,
 
  840      816,  646,  645,  816,  429,  639,  633,  677,  309,  625,
 
  841      630,  628,  638,  629,  620,  619,  633,  668,  618,  661,
 
  842      633,  816,  664,  628,  622,  629,  611,  610,  601,  608,
 
  843      816,  610,  606,  603,  617,  606,  602,  816,  650,  599,
 
  844      597,  607,  595,  640,  602,  816,  816,  816,  292,  607,
 
  845      597,  590,  589,  816,  599,  602,  587,  585,  592,  588,
 
  847      597,  627,  585,  581,  816,  594,  585,  583,  816,  577,
 
  848      582,  580,  567,  572,  585,  620,  570,  572,  359,  566,
 
  849      567,  570,  816,  578,  360,  562,  607,  579,  574,  563,
 
  850      568,  816,  557,  567,  565,  561,  555,  602,  601,  595,
 
  851      555,  545,  564,  547,  542,  589,  553,  556,  555,  554,
 
  852      553,  588,  587,  586,  816,  541,  533,  816,  537,  536,
 
  853      545,  545,  579,  573,  816,  540,  520,  346,  530,  518,
 
  854      528,  529,  571,  526,  535,  532,  515,  816,  816,  516,
 
  855      533,  528,  523,  506,  525,  525,  526,  558,  507,  556,
 
  856      555,  816,  816,  816,  522,  507,  505,  504,  501,  361,
 
  858      816,  514,  508,  547,  511,  513,  498,  487,  508,  491,
 
  859      489,  503,  816,  538,  505,  536,  495,  488,  493,  489,
 
  860      480,  530,  480,  493,  478,  816,  476,  816,  816,  474,
 
  861      490,  472,  471,  471,  816,  483,  484,  475,  816,  482,
 
  862      472,  466,  467,  474,  512,  475,  510,  816,  458,  816,
 
  863      459,  473,  461,  505,  454,  816,  344,  458,  470,  501,
 
  864      500,  453,  458,  457,  496,  455,  449,  457,  443,  455,
 
  865      439,  453,  442,  816,  428,  816,  434,  424,  417,  408,
 
  866      816,  457,  405,  455,  404,  404,  816,  816,  409,  405,
 
  867      404,  816,  406,  398,  441,  404,  439,  438,  430,  380,
 
  869      377,  381,  391,  389,  424,  816,  383,  816,  422,  381,
 
  870      420,  374,  373,  375,  410,  816,  359,  816,  816,  816,
 
  871      408,  400,  354,  398,  345,  816,  348,  816,  353,  816,
 
  872      338,  331,  380,  816,  329,  816,  816,  369,  816,  345,
 
  873      332,  317,  363,  362,  816,  351,  816,  816,  332,  185,
 
  874      218,  816,  816,  816,  816,   67,  816,   55,    2,  816,
 
  875      816,  472,  475,  478,    0,  481,  484,  487,  490
 
  880      562,  562,  563,  563,  562,  562,  562,  562,  562,  562,
 
  881      561,  561,  561,  561,  561,  564,  561,  561,  561,  561,
 
  882      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
 
  883      561,  561,  561,  561,  561,  561,  561,  561,  561,  565,
 
  884      561,  561,  561,  566,   15,  561,   45,   45,   45,   45,
 
  885      567,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  886       45,   45,   45,   45,   45,   45,   45,   45,  564,  561,
 
  887      561,  561,  561,  561,  561,  568,  561,  561,  561,  561,
 
  888      561,  561,  561,  561,  561,  561,  561,  565,  561,  566,
 
  889      561,  561,   45,   45,   45,   45,  569,   45,  567,   45,
 
  891       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  892       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  893       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  894       45,  568,  561,  561,  561,  561,  561,  561,  561,  561,
 
  895       45,   45,   45,   45,  569,  561,  561,   99,   45,   45,
 
  896       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  897       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  898       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  899       45,   45,   45,   45,   45,   45,   45,  561,  561,  561,
 
  900      561,  561,  561,  561,   45,   45,  561,  561,   99,   45,
 
  902       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  903       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  904       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  905       45,   45,   45,   45,   45,   45,   45,   45,   45,  561,
 
  906      561,  561,   45,  561,   99,   45,   45,   45,   45,   45,
 
  907       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  908       45,  561,   45,   45,   45,   45,   45,   45,   45,   45,
 
  909      561,   45,   45,   45,   45,   45,   45,  561,   45,   45,
 
  910       45,   45,   45,   45,   45,  561,  561,  561,   45,  561,
 
  911       45,   45,   45,  561,   45,   45,   45,   45,   45,   45,
 
  913       45,   45,   45,   45,  561,   45,   45,   45,  561,   45,
 
  914       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  915       45,   45,  561,   45,   45,   45,   45,   45,   45,   45,
 
  916       45,  561,   45,   45,   45,   45,   45,   45,   45,   45,
 
  917       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  918       45,   45,   45,   45,  561,   45,   45,  561,   45,   45,
 
  919       45,   45,   45,   45,  561,   45,   45,   45,   45,   45,
 
  920       45,   45,   45,   45,   45,   45,   45,  561,  561,   45,
 
  921       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  922       45,  561,  561,  561,   45,   45,   45,   45,   45,   45,
 
  924      561,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  925       45,   45,  561,   45,   45,   45,   45,   45,   45,   45,
 
  926       45,   45,   45,   45,   45,  561,   45,  561,  561,   45,
 
  927       45,   45,   45,   45,  561,   45,   45,   45,  561,   45,
 
  928       45,   45,   45,   45,   45,   45,   45,  561,   45,  561,
 
  929       45,   45,   45,   45,   45,  561,   45,   45,   45,   45,
 
  930       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  931       45,   45,   45,  561,   45,  561,   45,   45,   45,   45,
 
  932      561,   45,   45,   45,   45,   45,  561,  561,   45,   45,
 
  933       45,  561,   45,   45,   45,   45,   45,   45,   45,   45,
 
  935       45,   45,   45,   45,   45,  561,   45,  561,   45,   45,
 
  936       45,   45,   45,   45,   45,  561,   45,  561,  561,  561,
 
  937       45,   45,   45,   45,   45,  561,   45,  561,   45,  561,
 
  938       45,   45,   45,  561,   45,  561,  561,   45,  561,   45,
 
  939       45,   45,   45,   45,  561,   45,  561,  561,   45,   45,
 
  940       45,  561,  561,  561,  561,   45,  561,   45,   45,  561,
 
  941        0,  561,  561,  561,  561,  561,  561,  561,  561
 
  946       88,   13,   14,   13,  561,   15,   16,  560,   17,   18,
 
  947       19,   20,   21,   22,   23,   24,   75,  561,   37,   14,
 
  948       37,   76,   25,   26,   38,   42,   27,   42,   37,   14,
 
  949       37,   28,   91,   29,   38,   30,   13,   14,   13,   80,
 
  950       80,   25,   31,   74,   13,   14,   13,   13,   14,   13,
 
  951       32,   40,   72,   13,   14,   13,   33,   40,   80,   83,
 
  952       81,   92,   95,   34,   35,   13,   14,   13,  178,   15,
 
  953       16,   72,   17,   18,   19,   20,   21,   22,   23,   24,
 
  954       39,   95,   13,   14,   13,   81,   25,   26,   39,  179,
 
  955       27,   13,   14,   13,   82,   28,   81,   29,   41,   30,
 
  957       82,   42,   42,   42,   42,   25,   31,   41,   78,  100,
 
  958       78,  559,  110,   79,   32,  111,  103,  112,  101,   82,
 
  959       33,   84,  113,  104,  558,   85,  105,   34,   35,   44,
 
  960       44,   44,   45,   45,   46,   45,   45,   45,   45,   45,
 
  961       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
  962       47,   45,   45,   48,   45,   45,   45,   45,   45,   45,
 
  963       49,   50,   45,   51,   45,   45,   52,   53,   54,   55,
 
  964       45,   56,   45,   57,   58,   48,   59,   60,   61,   62,
 
  965       63,   64,   45,   65,   66,   67,   68,   45,   45,   45,
 
  966       45,   45,   45,   45,   70,   70,   71,   73,   70,   96,
 
  968       73,   94,  106,  107,  116,   72,   72,  108,  122,   72,
 
  969      117,  119,  109,  120,   78,  133,   78,  125,   96,   79,
 
  970      134,   74,  123,  557,   72,   72,   94,  126,   72,   45,
 
  971       72,  163,   45,  154,  155,  164,  556,   98,  133,   45,
 
  972       45,  272,   95,  134,   45,   45,   45,   45,   45,   72,
 
  973       45,  273,   45,   45,   45,   45,   45,   45,   45,   45,
 
  974       45,   95,   45,   45,   45,   45,   45,  135,   96,   70,
 
  975       45,   71,   74,   70,   45,   73,  127,  128,  133,  135,
 
  976       72,   72,   45,  129,   72,  134,   45,   96,   45,   99,
 
  977       91,   90,  135,  142,  143,  158,  180,  130,   90,   72,
 
  979       72,  136,  131,   72,  138,  144,  159,  188,  137,  174,
 
  980      175,  176,  189,  188,  190,  181,  189,  142,  143,   92,
 
  981       90,  196,  190,  221,   90,  262,  222,  240,   90,  144,
 
  982      240,  330,  188,  190,  331,  189,   90,  555,  191,  192,
 
  983       90,  193,   90,   90,  147,  196,  240,  265,  288,  241,
 
  984      548,  295,  148,  289,  483,  266,  554,  148,  148,  148,
 
  985      148,  148,  148,  296,  358,  365,  435,  553,  552,  359,
 
  986      366,  436,  551,  550,  547,  263,  148,  148,  148,  148,
 
  987      148,  148,  199,  405,  546,  545,  544,  199,  199,  199,
 
  988      199,  199,  199,  543,  542,  360,  406,  541,  407,  484,
 
  990      549,  540,  408,  539,  538,  537,  199,  199,  199,  199,
 
  991      199,  199,  245,  536,  535,  534,  533,  245,  245,  245,
 
  992      245,  245,  245,  532,  531,  530,  529,  528,  527,  526,
 
  993      525,  524,  523,  522,  521,  520,  245,  245,  245,  245,
 
  994      245,  245,   45,  519,  518,  517,  516,   45,   45,   45,
 
  995       45,   45,   45,  515,  514,  513,  512,  511,  510,  509,
 
  996      508,  507,  506,  505,  504,  503,   45,   45,   45,   45,
 
  997       45,   45,   12,   12,   12,   36,   36,   36,   69,  502,
 
  998       69,   90,   90,   90,   97,   97,   97,  132,  501,  132,
 
  999      145,  145,  145,  500,  499,  498,  497,  496,  495,  494,
 
 1001      493,  492,  491,  490,  489,  488,  487,  486,  485,  482,
 
 1002      481,  480,  479,  478,  477,  476,  475,  474,  473,  472,
 
 1003      471,  470,  469,  468,  467,  466,  465,  464,  463,  462,
 
 1004      461,  460,  459,  458,  457,  456,  455,  454,  453,  452,
 
 1005      451,  450,  449,  448,  447,  446,  445,  444,  443,  442,
 
 1006      441,  440,  439,  438,  437,  434,  433,  432,  431,  430,
 
 1007      429,  428,  427,  426,  425,  424,  423,  422,  421,  420,
 
 1008      419,  418,  417,  416,  415,  414,  413,  412,  411,  410,
 
 1009      409,  404,  403,  402,  401,  400,  399,  398,  397,  396,
 
 1010      395,  394,  393,  392,  391,  390,  389,  388,  387,  386,
 
 1012      385,  384,  383,  382,  381,  380,  379,  378,  377,  376,
 
 1013      375,  374,  373,  372,  371,  370,  369,  368,  367,  364,
 
 1014      363,  362,  361,  357,  356,  355,  354,  353,  352,  351,
 
 1015      350,  349,  348,  347,  346,  345,  344,  343,  342,  341,
 
 1016      340,  339,  338,  337,  336,  335,  334,  333,  332,  329,
 
 1017      328,  327,  326,  325,  324,  323,  322,  321,  320,  319,
 
 1018      318,  317,  316,  315,  314,  313,  312,  311,  310,  309,
 
 1019      308,  307,  306,  305,  304,  303,  302,  301,  300,  299,
 
 1020      298,  297,  294,  293,  292,  291,  290,  287,  286,  285,
 
 1021      284,  283,  282,  281,  280,  279,  278,  277,  276,  275,
 
 1023      274,  271,  270,  269,  268,  267,  264,  261,  260,  259,
 
 1024      258,  257,  256,  255,  254,  253,  252,  251,  250,  249,
 
 1025      248,  247,  246,  244,  243,  242,  239,  238,  237,  236,
 
 1026      235,  234,  233,  232,  231,  230,  229,  228,  227,  226,
 
 1027      225,  224,  223,  220,  219,  218,  217,  216,  215,  214,
 
 1028      213,  212,  211,  210,  209,  208,  207,  206,  205,  204,
 
 1029      203,  202,  201,  200,  146,  198,  197,  195,  194,  187,
 
 1030      186,  185,  184,  183,  182,  177,  173,  172,  171,  170,
 
 1031      169,  168,  167,  166,  165,  162,  161,  160,  157,  156,
 
 1032      153,  152,  151,  150,  149,  146,  141,  140,  139,   79,
 
 1034       79,  124,  121,  118,  115,  114,  102,   93,   43,   89,
 
 1035       87,   86,   77,   43,  561,   11,  561,  561,  561,  561,
 
 1036      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
 
 1037      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
 
 1038      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
 
 1039      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
 
 1040      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
 
 1041      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
 
 1047      565,    1,    1,    1,    0,    1,    1,  559,    1,    1,
 
 1048        1,    1,    1,    1,    1,    1,   21,    0,    3,    3,
 
 1049        3,   21,    1,    1,    3,   13,    1,   13,    4,    4,
 
 1050        4,    1,   44,    1,    4,    1,    5,    5,    5,   26,
 
 1051       31,    1,    1,   20,    6,    6,    6,    7,    7,    7,
 
 1052        1,    7,   20,    8,    8,    8,    1,    8,   26,   31,
 
 1053       27,   44,   49,    1,    1,    2,    2,    2,  124,    2,
 
 1054        2,   20,    2,    2,    2,    2,    2,    2,    2,    2,
 
 1055        5,   49,    9,    9,    9,   27,    2,    2,    6,  124,
 
 1056        2,   10,   10,   10,   28,    2,   32,    2,    9,    2,
 
 1058       33,   37,   42,   37,   42,    2,    2,   10,   25,   52,
 
 1059       25,  558,   56,   25,    2,   56,   54,   57,   52,   28,
 
 1060        2,   32,   57,   54,  556,   33,   54,    2,    2,   15,
 
 1061       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
 
 1062       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
 
 1063       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
 
 1064       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
 
 1065       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
 
 1066       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
 
 1067       15,   15,   15,   15,   17,   19,   17,   19,   22,   50,
 
 1069       22,   48,   55,   55,   60,   17,   19,   55,   64,   22,
 
 1070       60,   62,   55,   62,   72,   80,   72,   66,   50,   72,
 
 1071       81,   70,   64,  551,   17,   19,   48,   66,   22,   45,
 
 1072       70,  112,   45,  105,  105,  112,  550,   51,   80,   45,
 
 1073       45,  224,   67,   81,   51,   45,   45,   45,   45,   70,
 
 1074       45,  224,   45,   45,   45,   45,   45,   45,   45,   45,
 
 1075       45,   67,   45,   45,   45,   45,   51,   82,   68,   71,
 
 1076       51,   71,   74,   73,   51,   73,   67,   67,   83,   85,
 
 1077       71,   74,   51,   67,   73,   84,   51,   68,   51,   51,
 
 1078       90,   92,   82,   94,   95,  108,  125,   68,   92,   71,
 
 1080       74,   83,   68,   73,   85,   96,  108,  133,   84,  122,
 
 1081      122,  122,  134,  136,  135,  125,  137,   94,   95,   90,
 
 1082       92,  142,  138,  170,   92,  216,  170,  188,   92,   96,
 
 1083      191,  289,  133,  135,  289,  134,   92,  549,  136,  137,
 
 1084       92,  138,   92,   92,   99,  142,  188,  218,  239,  191,
 
 1085      540,  249,   99,  239,  457,  218,  546,   99,   99,   99,
 
 1086       99,   99,   99,  249,  319,  325,  400,  544,  543,  319,
 
 1087      325,  400,  542,  541,  538,  216,   99,   99,   99,   99,
 
 1088       99,   99,  148,  368,  535,  533,  532,  148,  148,  148,
 
 1089      148,  148,  148,  531,  529,  319,  368,  527,  368,  457,
 
 1091      540,  525,  368,  524,  523,  522,  148,  148,  148,  148,
 
 1092      148,  148,  199,  521,  517,  515,  514,  199,  199,  199,
 
 1093      199,  199,  199,  513,  512,  511,  510,  509,  507,  505,
 
 1094      504,  503,  502,  501,  500,  499,  199,  199,  199,  199,
 
 1095      199,  199,  245,  498,  497,  496,  495,  245,  245,  245,
 
 1096      245,  245,  245,  494,  493,  491,  490,  489,  486,  485,
 
 1097      484,  483,  482,  480,  479,  478,  245,  245,  245,  245,
 
 1098      245,  245,  562,  562,  562,  563,  563,  563,  564,  477,
 
 1099      564,  566,  566,  566,  567,  567,  567,  568,  475,  568,
 
 1100      569,  569,  569,  473,  472,  471,  470,  469,  468,  467,
 
 1102      466,  465,  464,  463,  462,  461,  460,  459,  458,  455,
 
 1103      454,  453,  452,  451,  449,  447,  446,  445,  444,  443,
 
 1104      442,  441,  440,  438,  437,  436,  434,  433,  432,  431,
 
 1105      430,  427,  425,  424,  423,  422,  421,  420,  419,  418,
 
 1106      417,  416,  415,  414,  412,  411,  410,  409,  408,  407,
 
 1107      406,  405,  404,  403,  402,  399,  398,  397,  396,  395,
 
 1108      391,  390,  389,  388,  387,  386,  385,  384,  383,  382,
 
 1109      381,  380,  377,  376,  375,  374,  373,  372,  371,  370,
 
 1110      369,  367,  366,  364,  363,  362,  361,  360,  359,  357,
 
 1111      356,  354,  353,  352,  351,  350,  349,  348,  347,  346,
 
 1113      345,  344,  343,  342,  341,  340,  339,  338,  337,  336,
 
 1114      335,  334,  333,  331,  330,  329,  328,  327,  326,  324,
 
 1115      322,  321,  320,  318,  317,  316,  315,  314,  313,  312,
 
 1116      311,  310,  308,  307,  306,  304,  303,  302,  301,  300,
 
 1117      299,  298,  297,  296,  295,  293,  292,  291,  290,  285,
 
 1118      284,  283,  282,  281,  280,  279,  277,  276,  275,  274,
 
 1119      273,  272,  270,  269,  268,  267,  266,  265,  264,  263,
 
 1120      261,  260,  259,  258,  257,  256,  255,  254,  253,  252,
 
 1121      251,  250,  248,  247,  246,  243,  242,  238,  237,  236,
 
 1122      235,  234,  233,  232,  231,  230,  229,  228,  227,  226,
 
 1124      225,  223,  222,  221,  220,  219,  217,  215,  214,  213,
 
 1125      212,  211,  210,  209,  208,  207,  206,  205,  204,  203,
 
 1126      202,  201,  200,  196,  195,  194,  187,  186,  185,  184,
 
 1127      183,  182,  181,  180,  179,  178,  177,  176,  175,  174,
 
 1128      173,  172,  171,  169,  168,  167,  166,  165,  164,  163,
 
 1129      162,  161,  160,  159,  158,  157,  156,  155,  154,  153,
 
 1130      152,  151,  150,  149,  145,  144,  143,  141,  139,  131,
 
 1131      130,  129,  128,  127,  126,  123,  121,  120,  119,  118,
 
 1132      117,  116,  115,  114,  113,  111,  110,  109,  107,  106,
 
 1133      104,  103,  102,  101,  100,   97,   93,   88,   87,   79,
 
 1135       78,   65,   63,   61,   59,   58,   53,   47,   43,   41,
 
 1136       39,   38,   24,   14,   11,  561,  561,  561,  561,  561,
 
 1137      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
 
 1138      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
 
 1139      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
 
 1140      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
 
 1141      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
 
 1142      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
 
 1147static char *yy_last_accepting_cpos;
 
 1154      139,  141,  143,  148,  149,  154,  155,  156,  168,  171,
 
 1155      176,  182,  191,  202,  213,  222,  231,  240,  250,  260,
 
 1156      270,  289,  308,  317,  326,  336,  348,  358,  369,  378,
 
 1157      388,  398,  408,  418,  427,  436,  445,  454,  463,  472,
 
 1158      481,  490,  499,  508,  517,  526,  535,  544,  553,  562,
 
 1159      571,  580,  589,  598,  607,  616,  625,  634,  643,  652,
 
 1160      661,  670,  679,  688,  697,  706,  715,  724,  737,  746,
 
 1161      755,  856,  872,  921,  929,  944,  945,  946,  947,  948,
 
 1162      949,  951,  969,  982,  987,  991,  993,  995,  997
 
 1168#define REJECT reject_used_but_not_detected 
 1169#define yymore() yymore_used_but_not_detected 
 1170#define YY_MORE_ADJ 0 
 1171#define YY_RESTORE_YY_MORE_OFFSET 
 1173#line 1 "d2_lexer.ll" 
 1179#line 8 "d2_lexer.ll" 
 1182#ifndef __clang_analyzer__ 
 1194#include <boost/lexical_cast.hpp> 
 1208bool start_token_flag = 
false;
 
 1211unsigned int comment_start_line = 0;
 
 1216#define YY_FATAL_ERROR(msg) isc::d2::D2ParserContext::fatal(msg) 
 1217#line 1217 "d2_lexer.cc" 
 1232#define YY_NO_INPUT 1 
 1238#line 96 "d2_lexer.ll" 
 1242#define YY_USER_ACTION  driver.loc_.columns(yyleng); 
 1243#line 1243 "d2_lexer.cc" 
 1244#line 1244 "d2_lexer.cc" 
 1249#define DIR_INCLUDE 3 
 1252#ifndef YY_NO_UNISTD_H 
 1264#ifndef YY_EXTRA_TYPE 
 1265#define YY_EXTRA_TYPE void * 
 1272static int yy_init_globals ( 
void );
 
 1315#ifndef YY_SKIP_YYWRAP 
 1317extern "C" int yywrap ( 
void );
 
 1319extern int yywrap ( 
void );
 
 1332static void yy_flex_strncpy ( 
char *, 
const char *, 
int );
 
 1335#ifdef YY_NEED_STRLEN 
 1336static int yy_flex_strlen ( 
const char * );
 
 1343static int yyinput ( 
void );
 
 1345static int input ( 
void );
 
 1357#ifndef YY_READ_BUF_SIZE 
 1360#define YY_READ_BUF_SIZE 16384 
 1362#define YY_READ_BUF_SIZE 8192 
 1372#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) 
 1382#define YY_INPUT(buf,result,max_size) \ 
 1384    if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 
 1388        for ( n = 0; n < max_size && \ 
 1389                 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 
 1390            buf[n] = (char) c; \ 
 1392            buf[n++] = (char) c; \ 
 1393        if ( c == EOF && ferror( yyin ) ) \ 
 1394            YY_FATAL_ERROR( "input in flex scanner failed" ); \ 
 1400        while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ 
 1402            if( errno != EINTR) \ 
 1404                YY_FATAL_ERROR( "input in flex scanner failed" ); \ 
 
 1422#define yyterminate() return YY_NULL 
 1426#ifndef YY_START_STACK_INCR 
 1427#define YY_START_STACK_INCR 25 
 1431#ifndef YY_FATAL_ERROR 
 1433#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 
 1454#define YY_DECL_IS_OURS 1 
 1457extern int yylex (
void);
 
 1459#define YY_DECL int yylex (void) 
 1468#ifndef YY_USER_ACTION 
 1469#define YY_USER_ACTION 
 1474#define YY_BREAK break; 
 1478#define YY_RULE_SETUP \ 
 
 1526#line 102 "d2_lexer.ll" 
 1530#line 106 "d2_lexer.ll" 
 1538    if (start_token_flag) {
 
 1539        start_token_flag = 
false;
 
 1540        switch (start_token_value) {
 
 
 1564#line 1564 "d2_lexer.cc" 
 1569        yy_cp = (yy_c_buf_p);
 
 1572        *
yy_cp = (yy_hold_char);
 
 1580        yy_current_state = (yy_start);
 
 1585            if ( yy_accept[yy_current_state] )
 
 1587                (yy_last_accepting_state) = yy_current_state;
 
 1588                (yy_last_accepting_cpos) = 
yy_cp;
 
 1590            while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 
 1592                yy_current_state = (int) yy_def[yy_current_state];
 
 1593                if ( yy_current_state >= 562 )
 
 1594                    yy_c = yy_meta[yy_c];
 
 1596            yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
 
 1599        while ( yy_current_state != 561 );
 
 1600        yy_cp = (yy_last_accepting_cpos);
 
 1601        yy_current_state = (yy_last_accepting_state);
 
 1605        yy_act = yy_accept[yy_current_state];
 
 1617                fprintf( stderr, 
"--scanner backing up\n" );
 
 1619                fprintf( stderr, 
"--accepting rule at line %ld (\"%s\")\n",
 
 1622                fprintf( stderr, 
"--accepting default rule (\"%s\")\n",
 
 1625                fprintf( stderr, 
"--(end of buffer or a NUL)\n" );
 
 1627                fprintf( stderr, 
"--EOF (start condition %d)\n", 
YY_START );
 
 1635            *
yy_cp = (yy_hold_char);
 
 1636            yy_cp = (yy_last_accepting_cpos);
 
 1637            yy_current_state = (yy_last_accepting_state);
 
 1638            goto yy_find_action;
 
 1642#line 139 "d2_lexer.ll" 
 1647#line 141 "d2_lexer.ll" 
 1652#line 143 "d2_lexer.ll" 
 1655  comment_start_line = driver.loc_.end.line;;
 
 1660#line 148 "d2_lexer.ll" 
 1665#line 149 "d2_lexer.ll" 
 1669#line 150 "d2_lexer.ll" 
 1676#line 154 "d2_lexer.ll" 
 1681#line 155 "d2_lexer.ll" 
 1686#line 156 "d2_lexer.ll" 
 1691    std::string tmp(
yytext+1);
 
 1692    tmp.resize(tmp.size() - 1);
 
 1694    driver.includeFile(tmp);
 
 1700#line 165 "d2_lexer.ll" 
 1707#line 168 "d2_lexer.ll" 
 1712#line 171 "d2_lexer.ll" 
 1721#line 176 "d2_lexer.ll" 
 1724    driver.loc_.lines(
yyleng);
 
 1730#line 182 "d2_lexer.ll" 
 1732    switch(driver.ctx_) {
 
 1742#line 191 "d2_lexer.ll" 
 1744    switch(driver.ctx_) {
 
 1756#line 202 "d2_lexer.ll" 
 1758    switch(driver.ctx_) {
 
 1770#line 213 "d2_lexer.ll" 
 1772    switch(driver.ctx_) {
 
 1782#line 222 "d2_lexer.ll" 
 1784    switch(driver.ctx_) {
 
 1794#line 231 "d2_lexer.ll" 
 1796    switch(driver.ctx_) {
 
 1806#line 240 "d2_lexer.ll" 
 1812    std::string tmp(
yytext+1);
 
 1813    tmp.resize(tmp.size() - 1);
 
 1819#line 250 "d2_lexer.ll" 
 1825    std::string tmp(
yytext+1);
 
 1826    tmp.resize(tmp.size() - 1);
 
 1832#line 260 "d2_lexer.ll" 
 1838    std::string tmp(
yytext+1);
 
 1839    tmp.resize(tmp.size() - 1);
 
 1845#line 270 "d2_lexer.ll" 
 1847    switch(driver.ctx_) {
 
 1867#line 289 "d2_lexer.ll" 
 1869    switch(driver.ctx_) {
 
 1889#line 308 "d2_lexer.ll" 
 1891    switch(driver.ctx_) {
 
 1901#line 317 "d2_lexer.ll" 
 1903    switch(driver.ctx_) {
 
 1913#line 326 "d2_lexer.ll" 
 1915    switch(driver.ctx_) {
 
 1926#line 336 "d2_lexer.ll" 
 1928    switch(driver.ctx_) {
 
 1941#line 348 "d2_lexer.ll" 
 1943    switch(driver.ctx_) {
 
 1954#line 358 "d2_lexer.ll" 
 1956    switch(driver.ctx_) {
 
 1967#line 369 "d2_lexer.ll" 
 1969    switch(driver.ctx_) {
 
 1979#line 378 "d2_lexer.ll" 
 1981    switch(driver.ctx_) {
 
 1992#line 388 "d2_lexer.ll" 
 1994    switch(driver.ctx_) {
 
 2005#line 398 "d2_lexer.ll" 
 2007    switch(driver.ctx_) {
 
 2018#line 408 "d2_lexer.ll" 
 2020    switch(driver.ctx_) {
 
 2031#line 418 "d2_lexer.ll" 
 2033    switch(driver.ctx_) {
 
 2043#line 427 "d2_lexer.ll" 
 2045    switch(driver.ctx_) {
 
 2055#line 436 "d2_lexer.ll" 
 2057    switch(driver.ctx_) {
 
 2067#line 445 "d2_lexer.ll" 
 2069    switch(driver.ctx_) {
 
 2079#line 454 "d2_lexer.ll" 
 2081    switch(driver.ctx_) {
 
 2091#line 463 "d2_lexer.ll" 
 2093    switch(driver.ctx_) {
 
 2103#line 472 "d2_lexer.ll" 
 2105    switch(driver.ctx_) {
 
 2115#line 481 "d2_lexer.ll" 
 2117    switch(driver.ctx_) {
 
 2127#line 490 "d2_lexer.ll" 
 2129    switch(driver.ctx_) {
 
 2139#line 499 "d2_lexer.ll" 
 2141    switch(driver.ctx_) {
 
 2151#line 508 "d2_lexer.ll" 
 2153    switch(driver.ctx_) {
 
 2163#line 517 "d2_lexer.ll" 
 2165    switch(driver.ctx_) {
 
 2175#line 526 "d2_lexer.ll" 
 2177    switch(driver.ctx_) {
 
 2187#line 535 "d2_lexer.ll" 
 2189    switch(driver.ctx_) {
 
 2199#line 544 "d2_lexer.ll" 
 2201    switch(driver.ctx_) {
 
 2211#line 553 "d2_lexer.ll" 
 2213    switch(driver.ctx_) {
 
 2223#line 562 "d2_lexer.ll" 
 2225    switch(driver.ctx_) {
 
 2235#line 571 "d2_lexer.ll" 
 2237    switch(driver.ctx_) {
 
 2247#line 580 "d2_lexer.ll" 
 2249    switch(driver.ctx_) {
 
 2259#line 589 "d2_lexer.ll" 
 2261    switch(driver.ctx_) {
 
 2271#line 598 "d2_lexer.ll" 
 2273    switch(driver.ctx_) {
 
 2283#line 607 "d2_lexer.ll" 
 2285    switch(driver.ctx_) {
 
 2295#line 616 "d2_lexer.ll" 
 2297    switch(driver.ctx_) {
 
 2307#line 625 "d2_lexer.ll" 
 2309    switch(driver.ctx_) {
 
 2319#line 634 "d2_lexer.ll" 
 2321    switch(driver.ctx_) {
 
 2331#line 643 "d2_lexer.ll" 
 2333    switch(driver.ctx_) {
 
 2343#line 652 "d2_lexer.ll" 
 2345    switch(driver.ctx_) {
 
 2355#line 661 "d2_lexer.ll" 
 2357    switch(driver.ctx_) {
 
 2367#line 670 "d2_lexer.ll" 
 2369    switch(driver.ctx_) {
 
 2379#line 679 "d2_lexer.ll" 
 2381    switch(driver.ctx_) {
 
 2391#line 688 "d2_lexer.ll" 
 2393    switch(driver.ctx_) {
 
 2403#line 697 "d2_lexer.ll" 
 2405    switch(driver.ctx_) {
 
 2415#line 706 "d2_lexer.ll" 
 2417    switch(driver.ctx_) {
 
 2427#line 715 "d2_lexer.ll" 
 2429    switch(driver.ctx_) {
 
 2439#line 724 "d2_lexer.ll" 
 2441    switch(driver.ctx_) {
 
 2455#line 737 "d2_lexer.ll" 
 2457    switch(driver.ctx_) {
 
 2467#line 746 "d2_lexer.ll" 
 2469    switch(driver.ctx_) {
 
 2479#line 755 "d2_lexer.ll" 
 2484    std::string raw(
yytext+1);
 
 2485    size_t len = raw.size() - 1;
 
 2487    std::string decoded;
 
 2488    decoded.reserve(len);
 
 2489    for (
size_t pos = 0; pos < len; ++pos) {
 
 2495            driver.error(driver.loc_, 
"Bad quote in \"" + raw + 
"\"");
 
 2501                driver.error(driver.loc_, 
"Overflow escape in \"" + raw + 
"\"");
 
 2508                decoded.push_back(c);
 
 2511                decoded.push_back(
'\b');
 
 2514                decoded.push_back(
'\f');
 
 2517                decoded.push_back(
'\n');
 
 2520                decoded.push_back(
'\r');
 
 2523                decoded.push_back(
'\t');
 
 2528                if (pos + 4 > len) {
 
 2530                    driver.error(driver.loc_,
 
 2531                                 "Overflow unicode escape in \"" + raw + 
"\"");
 
 2533                if ((raw[pos] != 
'0') || (raw[pos + 1] != 
'0')) {
 
 2534                    driver.error(driver.loc_,
 
 2535                    "Unsupported unicode escape in \"" + raw + 
"\"",
 
 2540                if ((c >= 
'0') && (c <= 
'9')) {
 
 2542                } 
else if ((c >= 
'A') && (c <= 
'F')) {
 
 2543                    b = (c - 
'A' + 10) << 4;
 
 2544                } 
else if ((c >= 
'a') && (c <= 
'f')) {
 
 2545                    b = (c - 
'a' + 10) << 4;
 
 2548                    driver.error(driver.loc_, 
"Not hexadecimal in unicode escape in \"" + raw + 
"\"");
 
 2552                if ((c >= 
'0') && (c <= 
'9')) {
 
 2554                } 
else if ((c >= 
'A') && (c <= 
'F')) {
 
 2556                } 
else if ((c >= 
'a') && (c <= 
'f')) {
 
 2560                    driver.error(driver.loc_, 
"Not hexadecimal in unicode escape in \"" + raw + 
"\"");
 
 2562                decoded.push_back(
static_cast<char>(b & 0xff));
 
 2566                driver.error(driver.loc_, 
"Bad escape in \"" + raw + 
"\"");
 
 2570            if ((c >= 0) && (c < 0x20)) {
 
 2572                driver.error(driver.loc_, 
"Invalid control in \"" + raw + 
"\"");
 
 2574            decoded.push_back(c);
 
 2584#line 856 "d2_lexer.ll" 
 2587    std::string raw(
yytext+1);
 
 2588    size_t len = raw.size() - 1;
 
 2590    for (; pos < len; ++pos) {
 
 2592        if ((c >= 0) && (c < 0x20)) {
 
 2596    driver.error(driver.loc_,
 
 2597                 "Invalid control in " + std::string(
yytext),
 
 2604#line 872 "d2_lexer.ll" 
 2607    std::string raw(
yytext+1);
 
 2608    size_t len = raw.size() - 1;
 
 2611    for (; pos < len; ++pos) {
 
 2630                if ((pos + 4 > len) ||
 
 2631                    !std::isxdigit(raw[pos + 1]) ||
 
 2632                    !std::isxdigit(raw[pos + 2]) ||
 
 2633                    !std::isxdigit(raw[pos + 3]) ||
 
 2634                    !std::isxdigit(raw[pos + 4])) {
 
 2645    std::string trailer = 
"";
 
 2646    if (raw[len - 1] == 
'\\') {
 
 2649    driver.error(driver.loc_,
 
 2650                 "Bad escape in " + std::string(
yytext) + trailer,
 
 2656#line 921 "d2_lexer.ll" 
 2659    std::string raw(
yytext+1);
 
 2660    driver.error(driver.loc_,
 
 2661                 "Overflow escape in " + std::string(
yytext),
 
 2667#line 929 "d2_lexer.ll" 
 2670    std::string raw(
yytext+1);
 
 2671    size_t pos = raw.size() - 1;
 
 2672    for (; pos > 0; --pos) {
 
 2678    driver.error(driver.loc_,
 
 2679                 "Overflow unicode escape in " + std::string(
yytext),
 
 2685#line 944 "d2_lexer.ll" 
 2690#line 945 "d2_lexer.ll" 
 2695#line 946 "d2_lexer.ll" 
 2700#line 947 "d2_lexer.ll" 
 2705#line 948 "d2_lexer.ll" 
 2710#line 949 "d2_lexer.ll" 
 2715#line 951 "d2_lexer.ll" 
 2719    int64_t integer = 0;
 
 2725        integer = boost::lexical_cast<int64_t>(tmp);
 
 2726    } 
catch (
const boost::bad_lexical_cast &) {
 
 2727        driver.error(driver.loc_, 
"Failed to convert " + tmp + 
" to an integer.");
 
 2736#line 969 "d2_lexer.ll" 
 2742        fp = boost::lexical_cast<double>(tmp);
 
 2743    } 
catch (
const boost::bad_lexical_cast &) {
 
 2744        driver.error(driver.loc_, 
"Failed to convert " + tmp + 
" to a floating point.");
 
 2752#line 982 "d2_lexer.ll" 
 2760#line 987 "d2_lexer.ll" 
 2767#line 991 "d2_lexer.ll" 
 2768driver.error (driver.loc_, 
"JSON true reserved keyword is lower case only");
 
 2772#line 993 "d2_lexer.ll" 
 2773driver.error (driver.loc_, 
"JSON false reserved keyword is lower case only");
 
 2777#line 995 "d2_lexer.ll" 
 2778driver.error (driver.loc_, 
"JSON null reserved keyword is lower case only");
 
 2782#line 997 "d2_lexer.ll" 
 2783driver.error (driver.loc_, 
"Invalid character: " + std::string(
yytext));
 
 2786#line 999 "d2_lexer.ll" 
 2788    if (driver.states_.empty()) {
 
 2791    driver.loc_ = driver.locs_.back();
 
 2792    driver.locs_.pop_back();
 
 2793    driver.file_ = driver.files_.back();
 
 2794    driver.files_.pop_back();
 
 2795    if (driver.sfile_) {
 
 2796        fclose(driver.sfile_);
 
 2799    if (!driver.sfiles_.empty()) {
 
 2800        driver.sfile_ = driver.sfiles_.back();
 
 2801        driver.sfiles_.pop_back();
 
 2804    d2_parser__switch_to_buffer(driver.states_.back());
 
 2805    driver.states_.pop_back();
 
 2812#line 1022 "d2_lexer.ll" 
 2815#line 2815 "d2_lexer.cc" 
 2823        *
yy_cp = (yy_hold_char);
 
 2857            (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
 
 2859            yy_current_state = yy_get_previous_state(  );
 
 2870            yy_next_state = yy_try_NUL_trans( yy_current_state );
 
 2874            if ( yy_next_state )
 
 2877                yy_cp = ++(yy_c_buf_p);
 
 2878                yy_current_state = yy_next_state;
 
 2885                yy_cp = (yy_last_accepting_cpos);
 
 2886                yy_current_state = (yy_last_accepting_state);
 
 2887                goto yy_find_action;
 
 2891        else switch ( yy_get_next_buffer(  ) )
 
 2895                (yy_did_buffer_switch_on_eof) = 0;
 
 2916                    if ( ! (yy_did_buffer_switch_on_eof) )
 
 2926                yy_current_state = yy_get_previous_state(  );
 
 2928                yy_cp = (yy_c_buf_p);
 
 2936                yy_current_state = yy_get_previous_state(  );
 
 2938                yy_cp = (yy_c_buf_p);
 
 2940                goto yy_find_action;
 
 2947            "fatal flex scanner internal error--no action found" );
 
 
 2968static int yy_get_next_buffer (
void)
 
 2975    int number_to_move, i;
 
 2980        "fatal flex scanner internal error--end of buffer missed" );
 
 3004    number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
 
 3006    for ( i = 0; i < number_to_move; ++i )
 
 3007        *(dest++) = *(source++);
 
 3020        while ( num_to_read <= 0 )
 
 3026            int yy_c_buf_p_offset =
 
 3033                if ( new_size <= 0 )
 
 3049                "fatal error - scanner input buffer overflow" );
 
 3051            (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
 
 3063            (yy_n_chars), num_to_read );
 
 3068    if ( (yy_n_chars) == 0 )
 
 3089        int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
 
 3093            YY_FATAL_ERROR( 
"out of dynamic memory in yy_get_next_buffer()" );
 
 3098    (yy_n_chars) += number_to_move;
 
 3120    yy_current_state = (yy_start);
 
 3126        if ( yy_accept[yy_current_state] )
 
 3128            (yy_last_accepting_state) = yy_current_state;
 
 3129            (yy_last_accepting_cpos) = 
yy_cp;
 
 3131        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 
 3133            yy_current_state = (int) yy_def[yy_current_state];
 
 3134            if ( yy_current_state >= 562 )
 
 3135                yy_c = yy_meta[yy_c];
 
 3137        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
 
 3140    return yy_current_state;
 
 3156    char *
yy_cp = (yy_c_buf_p);
 
 3159    if ( yy_accept[yy_current_state] )
 
 3161        (yy_last_accepting_state) = yy_current_state;
 
 3162        (yy_last_accepting_cpos) = 
yy_cp;
 
 3164    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 
 3166        yy_current_state = (int) yy_def[yy_current_state];
 
 3167        if ( yy_current_state >= 562 )
 
 3168            yy_c = yy_meta[yy_c];
 
 3170    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
 
 3171    yy_is_jam = (yy_current_state == 561);
 
 3173        return yy_is_jam ? 0 : yy_current_state;
 
 3185    static int yyinput (
void)
 
 3187    static int input  (
void)
 
 3196    *(yy_c_buf_p) = (yy_hold_char);
 
 3206            *(yy_c_buf_p) = 
'\0';
 
 3210            int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
 
 3213            switch ( yy_get_next_buffer(  ) )
 
 3236                    if ( ! (yy_did_buffer_switch_on_eof) )
 
 3252    c = *(
unsigned char *) (yy_c_buf_p);    
 
 3253    *(yy_c_buf_p) = 
'\0';   
 
 3254    (yy_hold_char) = *++(yy_c_buf_p);
 
 3312        *(yy_c_buf_p) = (yy_hold_char);
 
 3325    (yy_did_buffer_switch_on_eof) = 1;
 
 
 3341    (yy_hold_char) = *(yy_c_buf_p);
 
 
 3489        if (new_buffer == NULL)
 
 3498        *(yy_c_buf_p) = (yy_hold_char);
 
 3505        (yy_buffer_stack_top)++;
 
 3510    (yy_did_buffer_switch_on_eof) = 1;
 
 
 3530    if ((yy_buffer_stack_top) > 0)
 
 3531        --(yy_buffer_stack_top);
 
 3535        (yy_did_buffer_switch_on_eof) = 1;
 
 
 3552    if (!(yy_buffer_stack)) {
 
 3562        if ( ! (yy_buffer_stack) )
 
 3563            YY_FATAL_ERROR( 
"out of dynamic memory in yyensure_buffer_stack()" );
 
 3565        memset((yy_buffer_stack), 0, num_to_alloc * 
sizeof(
struct yy_buffer_state*));
 
 3567        (yy_buffer_stack_max) = num_to_alloc;
 
 3568        (yy_buffer_stack_top) = 0;
 
 3572    if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
 
 3577        num_to_alloc = (yy_buffer_stack_max) + grow_size;
 
 3582        if ( ! (yy_buffer_stack) )
 
 3583            YY_FATAL_ERROR( 
"out of dynamic memory in yyensure_buffer_stack()" );
 
 3586        memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * 
sizeof(
struct yy_buffer_state*));
 
 3587        (yy_buffer_stack_max) = num_to_alloc;
 
 
 3666    for ( i = 0; i < _yybytes_len; ++i )
 
 3667        buf[i] = yybytes[i];
 
 
 3684#ifndef YY_EXIT_FAILURE 
 3685#define YY_EXIT_FAILURE 2 
 3689static void yynoreturn yy_fatal_error (
const char* msg )
 
 3691            fprintf( stderr, 
"%s\n", msg );
 
 3705        int yyless_macro_arg = (n); \ 
 3706        YY_LESS_LINENO(yyless_macro_arg);\ 
 3707        yytext[yyleng] = (yy_hold_char); \ 
 3708        (yy_c_buf_p) = yytext + yyless_macro_arg; \ 
 3709        (yy_hold_char) = *(yy_c_buf_p); \ 
 3710        *(yy_c_buf_p) = '\0'; \ 
 3711        yyleng = yyless_macro_arg; \ 
 3810static int yy_init_globals (
void)
 
 3816    (yy_buffer_stack) = NULL;
 
 3817    (yy_buffer_stack_top) = 0;
 
 3818    (yy_buffer_stack_max) = 0;
 
 3819    (yy_c_buf_p) = NULL;
 
 3852    yyfree((yy_buffer_stack) );
 
 3853    (yy_buffer_stack) = NULL;
 
 
 3870static void yy_flex_strncpy (
char* s1, 
const char * s2, 
int n )
 
 3874    for ( i = 0; i < n; ++i )
 
 3879#ifdef YY_NEED_STRLEN 
 3880static int yy_flex_strlen (
const char * s )
 
 3883    for ( n = 0; s[n]; ++n )
 
 3892            return malloc(size);
 
 
 3905    return realloc(ptr, size);
 
 
 3910            free( (
char *) ptr );   
 
 
 3915#define YYTABLES_NAME "yytables" 
 3920#line 1022 "d2_lexer.ll" 
 3928    start_token_flag = 
true;
 
 3929    start_token_value = parser_type;
 
 3936    buffer = d2_parser__scan_bytes(
str.c_str(), 
str.size());
 
 3938        fatal(
"cannot scan string");
 
 
 3945                              const std::string& filename,
 
 3948    start_token_flag = 
true;
 
 3949    start_token_value = parser_type;
 
 3958    buffer = d2_parser__create_buffer(f, 65536 );
 
 3960        fatal(
"cannot scan file " + filename);
 
 3962    d2_parser__switch_to_buffer(buffer);
 
 
 3970    static_cast<void>(d2_parser_lex_destroy());
 
 3981        d2_parser__delete_buffer(
states_.back());
 
 
 3989        fatal(
"Too many nested include.");
 
 3992    FILE* f = fopen(filename.c_str(), 
"r");
 
 3994        fatal(
"Can't open include file " + filename);
 
 4002    buffer = d2_parser__create_buffer(f, 65536 );
 
 4004        fatal( 
"Can't scan include file " + filename);
 
 4006    d2_parser__switch_to_buffer(buffer);
 
 
 4019    void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
 
unsigned char flex_uint8_t
unsigned int flex_uint32_t
struct yy_buffer_state * YY_BUFFER_STATE
#define YY_RESTORE_YY_MORE_OFFSET
#define EOB_ACT_END_OF_FILE
#define YY_CURRENT_BUFFER_LVALUE
#define YY_CURRENT_BUFFER
#define YY_END_OF_BUFFER_CHAR
unsigned short int flex_uint16_t
#define YY_DO_BEFORE_ACTION
#define EOB_ACT_LAST_MATCH
#define YY_BUFFER_EOF_PENDING
#define EOB_ACT_CONTINUE_SCAN
Evaluation error exception raised when trying to parse.
ParserType
Defines currently supported scopes.
@ PARSER_TSIG_KEY
Used for parsing a list of TSIG Keys.
@ PARSER_DDNS_DOMAINS
Used for parsing content of a DNS Server.
@ PARSER_DDNS_DOMAIN
Used for parsing a list a DDNS Domains.
@ PARSER_DNS_SERVER
Used for parsing a list of DNS servers.
@ PARSER_SUB_DHCPDDNS
Used for parsing content of a TSIG key.
@ PARSER_JSON
This parser will parse the content as generic JSON.
@ PARSER_TSIG_KEYS
Used for parsing content of a DDNS Domain.
@ PARSER_DHCPDDNS
Used for parsing content of DhcpDdns.
isc::d2::location loc_
Location of the current token.
std::string file_
File name.
void includeFile(const std::string &filename)
Divert input to an include file.
@ AUTHENTICATION
Used while parsing content of an authentication type.
@ DDNS_DOMAIN
Used while parsing a list of ddns-domains.
@ DNS_SERVERS
Used while parsing content of a control-socket.
@ DDNS_DOMAINS
Used while parsing content of a dns-server.
@ AUTH_TYPE
Used while parsing content of a client.
@ NCR_FORMAT
Used while parsing DhcpDdns/ncr-format.
@ NCR_PROTOCOL
Used while parsing DhcpDdns/ncr-protocol.
@ DHCPDDNS
Used while parsing content of a tsig-key.
@ OUTPUT_OPTIONS
Used while parsing DhcpDdns/loggers/output-options structures.
@ FORWARD_DDNS
Used while parsing content of DhcpDdns/reverse-ddns.
@ CONTROL_SOCKET_TYPE
Used while parsing content of an authentication.
@ TSIG_KEY
Used while parsing a list of tsig-keys.
@ REVERSE_DDNS
Used while parsing content of a ddns-domain.
@ LOGGERS
Used while parsing DhcpDdns/loggers structures.
@ HOOKS_LIBRARIES
Used while parsing DhcpDdns/hooks-libraries.
@ TSIG_KEYS
Used while parsing content of DhcpDdns/tsig-keys/algorithm.
@ CONTROL_SOCKET
Used while parsing content of a socket-type.
@ CONFIG
Used while parsing content of DhcpDdns.
@ DNS_SERVER
Used while parsing content of list of dns-servers.
std::vector< FILE * > sfiles_
sFile (aka FILE) stack
FILE * sfile_
sFile (aka FILE)
void scanStringBegin(const std::string &str, ParserType type)
Method called before scanning starts on a string.
void scanFileBegin(FILE *f, const std::string &filename, ParserType type)
Method called before scanning starts on a file.
std::vector< isc::d2::location > locs_
Location stack.
std::vector< struct yy_buffer_state * > states_
Lexer state stack.
std::vector< std::string > files_
File name stack.
void scanEnd()
Method called after the last tokens are scanned.
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_AUTHENTICATION(const location_type &l)
static symbol_type make_STRING(const std::string &v, const location_type &l)
static symbol_type make_SUB_DDNS_DOMAIN(const location_type &l)
static symbol_type make_SUB_HOOKS_LIBRARY(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_KEY_NAME(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_SUB_TSIG_KEYS(const location_type &l)
static symbol_type make_FORWARD_DDNS(const location_type &l)
static symbol_type make_TOPLEVEL_DHCPDDNS(const location_type &l)
static symbol_type make_SOCKET_TYPE(const location_type &l)
static symbol_type make_SUB_DDNS_DOMAINS(const location_type &l)
static symbol_type make_TCP(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_PASSWORD_FILE(const location_type &l)
static symbol_type make_HTTPS(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
static symbol_type make_PASSWORD(const location_type &l)
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_DIGEST_BITS(const location_type &l)
static symbol_type make_SOCKET_ADDRESS(const location_type &l)
static symbol_type make_CERT_FILE(const location_type &l)
static symbol_type make_TOPLEVEL_JSON(const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
static symbol_type make_DNS_SERVER_TIMEOUT(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_UDP(const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_SECRET(const location_type &l)
static symbol_type make_SUB_TSIG_KEY(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_UNIX(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_SUB_DHCPDDNS(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_DHCPDDNS(const location_type &l)
static symbol_type make_CONTROL_SOCKETS(const location_type &l)
static symbol_type make_SUB_DNS_SERVER(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_SECRET_FILE(const location_type &l)
static symbol_type make_DDNS_DOMAINS(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
static symbol_type make_REALM(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_HTTP(const location_type &l)
static symbol_type make_HOSTNAME(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_USER(const location_type &l)
static symbol_type make_SOCKET_PORT(const location_type &l)
static symbol_type make_BASIC(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_REVERSE_DDNS(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_KEY_FILE(const location_type &l)
static symbol_type make_ALGORITHM(const location_type &l)
static symbol_type make_IP_ADDRESS(const location_type &l)
static symbol_type make_PORT(const location_type &l)
static symbol_type make_CLIENTS(const location_type &l)
static symbol_type make_CERT_REQUIRED(const location_type &l)
static symbol_type make_TYPE(const location_type &l)
static symbol_type make_TRUST_ANCHOR(const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_DIRECTORY(const location_type &l)
static symbol_type make_JSON(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_NCR_PROTOCOL(const location_type &l)
static symbol_type make_DNS_SERVERS(const location_type &l)
static symbol_type make_USER_FILE(const location_type &l)
static symbol_type make_TSIG_KEYS(const location_type &l)
static symbol_type make_NCR_FORMAT(const location_type &l)
#define yy_load_buffer_state
#define yypush_buffer_state
#define yyget_in
Get the input stream.
#define yyget_leng
Get the length of the current token.
#define yyget_out
Get the output stream.
#define yyensure_buffer_stack
#define yyget_text
Get the current token.
#define yy_switch_to_buffer
#define YY_INPUT(buf, result, max_size)
#define YY_STATE_EOF(state)
#define YY_FATAL_ERROR(msg)
#define yypop_buffer_state
Removes and deletes the top of the stack, if present.
#define yyget_lineno
Get the current line number.
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
int yy_bs_column
The column count.
int yy_bs_lineno
The line count.