From: Tomek Mrugalski Date: Tue, 20 Dec 2016 13:29:52 +0000 (+0100) Subject: [5017] Updated regenerated dhcp4_lexer.cc X-Git-Tag: trac5088_base~1^2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a8b7ea9f104d4c1b9235863ecc6bfa94c9033ae;p=thirdparty%2Fkea.git [5017] Updated regenerated dhcp4_lexer.cc --- diff --git a/src/bin/dhcp4/dhcp4_lexer.cc b/src/bin/dhcp4/dhcp4_lexer.cc index aa2b9e976b..4ea992a5b8 100644 --- a/src/bin/dhcp4/dhcp4_lexer.cc +++ b/src/bin/dhcp4/dhcp4_lexer.cc @@ -1,6 +1,3 @@ -#line 2 "dhcp4_lexer.cc" - -#line 4 "dhcp4_lexer.cc" #define YY_INT_ALIGNED short int @@ -36,7 +33,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 6 -#define YY_FLEX_SUBMINOR_VERSION 1 +#define YY_FLEX_SUBMINOR_VERSION 0 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -136,13 +133,25 @@ typedef unsigned int flex_uint32_t; /* %if-c++-only */ /* %endif */ -/* TODO: this is always defined, so inline it */ -#define yyconst const +#ifdef __cplusplus -#if defined(__GNUC__) && __GNUC__ >= 3 -#define yynoreturn __attribute__((__noreturn__)) +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) + +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const #else -#define yynoreturn +#define yyconst #endif /* %not-for-header */ @@ -217,7 +226,7 @@ typedef size_t yy_size_t; #endif /* %if-not-reentrant */ -extern int parser4_leng; +extern yy_size_t parser4_leng; /* %endif */ /* %if-c-only */ @@ -266,7 +275,7 @@ struct yy_buffer_state /* Size of input buffer in bytes, not including room for EOB * characters. */ - int yy_buf_size; + yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. @@ -327,7 +336,7 @@ struct yy_buffer_state /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ +static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* %endif */ /* %ok-for-header */ @@ -356,10 +365,10 @@ static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ /* yy_hold_char holds the character lost when parser4_text is formed. */ static char yy_hold_char; static int yy_n_chars; /* number of characters read into yy_ch_buf */ -int parser4_leng; +yy_size_t parser4_leng; /* Points to current character in buffer. */ -static char *yy_c_buf_p = NULL; +static char *yy_c_buf_p = (char *) 0; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ @@ -387,7 +396,7 @@ static void parser4__init_buffer (YY_BUFFER_STATE b,FILE *file ); YY_BUFFER_STATE parser4__scan_buffer (char *base,yy_size_t size ); YY_BUFFER_STATE parser4__scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE parser4__scan_bytes (yyconst char *bytes,int len ); +YY_BUFFER_STATE parser4__scan_bytes (yyconst char *bytes,yy_size_t len ); /* %endif */ @@ -429,7 +438,7 @@ void parser4_free (void * ); typedef unsigned char YY_CHAR; -FILE *parser4_in = NULL, *parser4_out = NULL; +FILE *parser4_in = (FILE *) 0, *parser4_out = (FILE *) 0; typedef int yy_state_type; @@ -450,7 +459,10 @@ extern char *parser4_text; static yy_state_type yy_get_previous_state (void ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); static int yy_get_next_buffer (void ); -static void yynoreturn yy_fatal_error (yyconst char* msg ); +#if defined(__GNUC__) && __GNUC__ >= 3 +__attribute__((__noreturn__)) +#endif +static void yy_fatal_error (yyconst char msg[] ); /* %endif */ @@ -460,15 +472,15 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ); #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ /* %% [2.0] code to fiddle parser4_text and parser4_leng for yymore() goes here \ */\ - parser4_leng = (int) (yy_cp - yy_bp); \ + parser4_leng = (size_t) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ /* %% [3.0] code to copy yytext_ptr to parser4_text[] goes here, if %array \ */\ (yy_c_buf_p) = yy_cp; /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 105 -#define YY_END_OF_BUFFER 106 +#define YY_NUM_RULES 108 +#define YY_END_OF_BUFFER 109 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -476,91 +488,93 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[761] = +static yyconst flex_int16_t yy_accept[775] = { 0, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, - 106, 104, 10, 11, 104, 1, 101, 98, 101, 101, - 104, 100, 99, 104, 104, 94, 95, 104, 104, 104, - 96, 97, 5, 5, 5, 104, 104, 104, 10, 11, - 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 101, 101, 0, 100, 101, - 3, 2, 6, 0, 101, 0, 0, 0, 4, 0, - 0, 9, 0, 91, 0, 0, 0, 0, 0, 93, + 109, 107, 10, 11, 107, 1, 101, 98, 101, 101, + 107, 100, 99, 107, 107, 107, 107, 107, 94, 95, + 107, 107, 107, 96, 97, 5, 5, 5, 107, 107, + 107, 10, 11, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 101, 101, + 0, 100, 101, 3, 2, 6, 0, 101, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 9, 0, 91, + 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, 0, 0, 0, 8, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 103, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 106, 104, 0, 103, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, - 0, 32, 0, 0, 0, 0, 53, 0, 0, 0, - 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, - 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 71, 18, - 19, 0, 0, 0, 0, 0, 0, 12, 80, 0, - 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, + 0, 0, 0, 0, 0, 0, 0, 105, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, - 63, 0, 0, 0, 0, 0, 58, 0, 0, 0, - 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 41, 0, 0, 32, 0, 0, 0, 0, + 53, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 31, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, - 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, + 0, 51, 71, 18, 19, 0, 0, 0, 0, 0, + 0, 12, 80, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, - 44, 0, 0, 0, 0, 0, 0, 22, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, - 0, 75, 0, 0, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, + 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, + 58, 0, 0, 0, 7, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 20, 0, 17, 0, 0, - 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 55, 0, 0, 0, 0, 79, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, + 0, 35, 0, 0, 0, 0, 0, 0, 43, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 67, 44, 0, 0, 0, 0, 0, + 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 28, 0, 75, 0, 0, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, + 0, 17, 0, 0, 0, 0, 0, 0, 48, 0, + 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, + 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 68, 0, 0, 0, 0, 84, 0, 56, 0, + + 0, 59, 47, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 54, 69, 0, 14, 0, 64, 0, 0, + 0, 0, 0, 29, 0, 66, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 87, 30, 0, 0, 0, 0, 25, + 0, 0, 0, 78, 77, 0, 0, 0, 50, 0, + 0, 0, 74, 0, 0, 0, 0, 0, 0, 37, + 0, 0, 23, 0, 0, 39, 26, 60, 0, 52, + 0, 0, 82, 0, 0, 0, 0, 0, 0, 72, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, - 0, 0, 84, 0, 56, 0, 0, 59, 47, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 54, 69, - - 0, 14, 0, 64, 0, 0, 0, 0, 0, 29, - 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, - 30, 0, 0, 0, 0, 25, 0, 0, 0, 78, - 77, 0, 0, 0, 50, 0, 0, 0, 74, 0, - 0, 0, 0, 0, 0, 37, 0, 0, 23, 0, - 0, 39, 26, 60, 0, 52, 0, 0, 82, 0, - 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 89, 49, - - 76, 0, 85, 0, 0, 0, 16, 0, 15, 0, - 45, 0, 0, 24, 0, 0, 0, 65, 0, 0, - 86, 0, 88, 83, 0, 0, 0, 0, 40, 0, - 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 89, 49, 76, 0, 85, 0, 0, 0, + 16, 0, 15, 0, 45, 0, 0, 24, 0, 0, + 0, 65, 0, 0, 86, 0, 88, 83, 0, 0, + 0, 0, 40, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 27, 0, 0, 73, 0, 0, 0, 42, 0 + 0, 0, 0, 0, 0, 27, 0, 0, 73, 0, + 0, 0, 42, 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -571,14 +585,14 @@ static yyconst YY_CHAR yy_ec[256] = 1, 4, 5, 6, 7, 5, 5, 5, 5, 5, 5, 8, 9, 10, 11, 12, 13, 14, 14, 14, 14, 15, 14, 16, 14, 14, 14, 17, 5, 18, - 5, 19, 20, 5, 21, 21, 21, 22, 23, 21, - 5, 5, 5, 5, 5, 24, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 25, 26, 27, 5, 28, 5, 29, 30, 31, 32, - - 33, 34, 35, 36, 37, 5, 38, 39, 40, 41, - 42, 43, 5, 44, 45, 46, 47, 48, 49, 50, - 51, 5, 52, 5, 53, 5, 5, 5, 5, 5, + 5, 19, 20, 5, 21, 22, 22, 23, 24, 25, + 5, 5, 5, 5, 5, 26, 5, 27, 5, 5, + 5, 28, 29, 30, 31, 5, 5, 5, 5, 5, + 32, 33, 34, 5, 35, 5, 36, 37, 38, 39, + + 40, 41, 42, 43, 44, 5, 45, 46, 47, 48, + 49, 50, 5, 51, 52, 53, 54, 55, 56, 57, + 58, 5, 59, 5, 60, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -595,436 +609,452 @@ static yyconst YY_CHAR yy_ec[256] = 5, 5, 5, 5, 5 } ; -static yyconst YY_CHAR yy_meta[54] = +static yyconst YY_CHAR yy_meta[61] = { 0, 1, 1, 2, 3, 3, 4, 3, 3, 3, 3, 3, 3, 5, 6, 6, 6, 3, 3, 3, 3, - 6, 6, 6, 3, 3, 5, 3, 3, 6, 7, - 6, 6, 6, 7, 3, 3, 3, 3, 3, 3, - 5, 3, 3, 5, 3, 5, 5, 3, 3, 3, - 3, 3, 3 + 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, + 3, 3, 5, 3, 3, 6, 7, 6, 6, 6, + 7, 3, 3, 3, 3, 3, 3, 5, 3, 3, + 5, 3, 5, 5, 3, 3, 3, 3, 3, 3 } ; -static yyconst flex_uint16_t yy_base[773] = +static yyconst flex_uint16_t yy_base[787] = { 0, - 0, 0, 52, 55, 58, 0, 56, 60, 41, 57, - 1023, 1024, 78, 1019, 111, 0, 153, 1024, 158, 73, - 71, 173, 1024, 1001, 168, 1024, 1024, 991, 972, 974, - 1024, 1024, 1024, 96, 1004, 975, 0, 996, 99, 1011, - 169, 192, 1024, 971, 976, 969, 235, 966, 967, 155, - 172, 149, 169, 161, 209, 979, 57, 62, 184, 216, - 211, 219, 962, 226, 0, 252, 272, 282, 287, 257, - 1024, 0, 1024, 248, 292, 967, 966, 957, 1024, 972, - 996, 1024, 172, 1024, 954, 984, 968, 963, 991, 0, - 307, 952, 953, 950, 956, 171, 944, 945, 77, 959, - - 952, 952, 243, 944, 185, 935, 974, 214, 938, 972, - 953, 950, 950, 944, 932, 937, 926, 929, 928, 165, - 929, 930, 928, 286, 256, 939, 940, 938, 922, 926, - 922, 931, 924, 918, 0, 916, 921, 926, 919, 1024, - 0, 946, 913, 920, 948, 1024, 328, 924, 906, 920, - 917, 916, 902, 936, 917, 898, 905, 900, 910, 899, - 911, 906, 901, 899, 890, 892, 905, 1024, 892, 899, - 902, 885, 918, 884, 892, 895, 892, 878, 886, 879, - 892, 875, 874, 879, 880, 884, 878, 872, 884, 879, - 878, 862, 876, 870, 876, 865, 859, 871, 870, 858, - - 864, 855, 866, 1024, 1024, 851, 0, 274, 330, 860, - 349, 845, 884, 847, 852, 886, 847, 856, 883, 853, - 850, 298, 880, 874, 841, 839, 838, 836, 362, 847, - 847, 832, 833, 844, 842, 837, 844, 839, 835, 864, - 858, 826, 820, 826, 816, 827, 288, 831, 820, 820, - 816, 808, 809, 813, 823, 811, 821, 820, 819, 845, - 844, 843, 842, 815, 809, 813, 0, 803, 796, 836, - 835, 808, 798, 394, 832, 803, 799, 789, 1024, 792, - 791, 1024, 793, 790, 798, 787, 1024, 797, 782, 783, - 792, 813, 1024, 779, 793, 810, 814, 787, 781, 783, - - 784, 804, 773, 769, 768, 800, 1024, 765, 768, 762, - 774, 764, 760, 1024, 798, 792, 761, 769, 768, 793, - 787, 749, 752, 758, 748, 787, 746, 1024, 1024, 1024, - 1024, 780, 748, 756, 0, 742, 757, 1024, 1024, 745, - 750, 1024, 747, 737, 771, 742, 736, 746, 745, 745, - 760, 736, 727, 729, 740, 732, 737, 729, 736, 1024, - 723, 732, 736, 720, 731, 716, 710, 715, 728, 725, - 746, 286, 710, 711, 708, 1024, 722, 713, 740, 739, - 1024, 703, 719, 736, 700, 734, 1024, 320, 705, 702, - 1024, 709, 700, 695, 733, 699, 726, 246, 725, 695, - - 686, 722, 691, 720, 693, 690, 691, 716, 689, 680, - 691, 694, 689, 684, 689, 686, 689, 684, 710, 709, - 675, 669, 680, 1024, 669, 677, 677, 702, 665, 655, - 659, 658, 666, 656, 311, 650, 125, 1024, 694, 662, - 692, 653, 663, 689, 1024, 661, 656, 653, 659, 645, - 660, 655, 644, 641, 642, 651, 654, 637, 642, 650, - 646, 672, 631, 631, 642, 641, 628, 626, 627, 1024, - 1024, 633, 621, 355, 625, 623, 660, 1024, 625, 658, - 626, 611, 621, 623, 617, 626, 651, 627, 604, 1024, - 620, 1024, 619, 606, 1024, 640, 618, 620, 642, 605, - - 600, 606, 600, 637, 600, 600, 594, 606, 605, 593, - 592, 1024, 606, 589, 589, 384, 587, 602, 582, 596, - 595, 581, 592, 579, 579, 1024, 583, 1024, 582, 578, - 587, 577, 573, 611, 1024, 576, 572, 581, 584, 606, - 570, 604, 564, 1024, 577, 601, 600, 563, 1024, 560, - 557, 569, 590, 571, 570, 550, 567, 590, 589, 1024, - 557, 363, 587, 562, 562, 549, 545, 559, 581, 549, - 579, 547, 550, 549, 537, 539, 533, 1024, 545, 544, - 530, 544, 1024, 545, 1024, 528, 534, 1024, 1024, 541, - 524, 558, 562, 530, 521, 521, 535, 534, 1024, 1024, - - 530, 1024, 530, 1024, 531, 520, 512, 551, 550, 1024, - 513, 1024, 508, 509, 507, 545, 267, 509, 543, 542, - 510, 513, 505, 360, 511, 514, 536, 504, 1024, 508, - 506, 501, 491, 491, 529, 492, 488, 526, 520, 1024, - 1024, 489, 509, 501, 482, 1024, 446, 473, 73, 1024, - 1024, 210, 380, 224, 1024, 215, 272, 278, 1024, 300, - 328, 308, 321, 318, 323, 1024, 326, 342, 1024, 339, - 332, 1024, 1024, 1024, 343, 1024, 347, 356, 1024, 355, - 388, 390, 391, 361, 393, 1024, 389, 356, 360, 398, - 371, 400, 379, 406, 381, 381, 412, 387, 1024, 1024, - - 1024, 378, 1024, 378, 416, 389, 1024, 394, 1024, 426, - 1024, 400, 428, 1024, 429, 395, 393, 1024, 427, 404, - 1024, 434, 1024, 1024, 430, 400, 406, 438, 1024, 402, - 415, 415, 1024, 415, 416, 417, 407, 407, 412, 417, - 410, 410, 415, 421, 422, 428, 420, 428, 457, 429, - 428, 1024, 460, 434, 1024, 424, 424, 464, 1024, 1024, - 470, 477, 484, 491, 498, 505, 509, 514, 516, 518, - 520, 522 + 0, 0, 59, 62, 65, 0, 63, 67, 64, 66, + 1078, 1079, 83, 1074, 125, 0, 174, 1079, 179, 185, + 80, 192, 1079, 1056, 87, 79, 37, 66, 1079, 1079, + 83, 156, 164, 1079, 1079, 1079, 110, 1062, 1026, 0, + 1054, 118, 1069, 190, 218, 1079, 1022, 1027, 1020, 246, + 1017, 1018, 178, 177, 164, 186, 190, 236, 1030, 207, + 195, 242, 210, 252, 246, 1013, 248, 0, 293, 298, + 309, 315, 320, 1079, 0, 1079, 326, 331, 202, 249, + 180, 270, 302, 206, 1079, 1026, 1057, 1079, 220, 1079, + 1008, 1045, 1022, 1017, 1052, 0, 347, 1006, 1007, 1004, + + 1010, 250, 998, 999, 312, 1013, 1006, 1006, 198, 998, + 302, 989, 1035, 275, 992, 1033, 1007, 1004, 1004, 998, + 986, 991, 980, 983, 982, 301, 983, 984, 982, 328, + 322, 993, 994, 992, 976, 980, 976, 985, 978, 972, + 0, 274, 311, 281, 327, 332, 319, 976, 1079, 0, + 1010, 970, 977, 1012, 1079, 375, 981, 963, 977, 974, + 973, 959, 1000, 974, 955, 962, 957, 967, 956, 968, + 963, 958, 956, 947, 949, 962, 1079, 949, 956, 959, + 942, 982, 941, 949, 952, 949, 935, 943, 936, 949, + 932, 931, 936, 937, 941, 935, 929, 941, 936, 935, + + 919, 933, 927, 933, 922, 916, 928, 927, 915, 921, + 912, 368, 1079, 1079, 369, 1079, 1079, 909, 0, 153, + 379, 918, 403, 903, 949, 905, 910, 951, 905, 914, + 948, 911, 908, 390, 945, 939, 899, 897, 896, 894, + 423, 905, 905, 890, 891, 902, 900, 895, 902, 897, + 893, 929, 923, 884, 878, 884, 874, 885, 369, 889, + 878, 878, 874, 866, 867, 871, 881, 869, 879, 878, + 877, 910, 909, 908, 907, 873, 867, 1079, 1079, 871, + 0, 861, 854, 901, 900, 866, 856, 462, 897, 861, + 857, 847, 1079, 850, 849, 1079, 851, 848, 856, 845, + + 1079, 855, 840, 841, 850, 878, 1079, 837, 851, 875, + 879, 845, 839, 841, 842, 869, 831, 827, 826, 865, + 1079, 823, 826, 820, 832, 822, 818, 1079, 863, 857, + 819, 827, 826, 858, 852, 807, 810, 816, 806, 852, + 804, 1079, 1079, 1079, 1079, 845, 806, 814, 0, 800, + 815, 1079, 1079, 803, 808, 1079, 805, 795, 836, 800, + 794, 804, 803, 803, 825, 794, 785, 787, 798, 790, + 795, 787, 794, 1079, 781, 790, 794, 778, 789, 774, + 768, 773, 786, 783, 811, 375, 768, 769, 766, 1079, + 780, 771, 805, 804, 1079, 761, 777, 801, 758, 799, + + 1079, 416, 763, 760, 1079, 767, 758, 753, 798, 757, + 791, 392, 790, 753, 744, 787, 749, 785, 751, 748, + 749, 781, 747, 738, 749, 752, 747, 742, 747, 744, + 747, 742, 775, 774, 733, 727, 738, 1079, 727, 735, + 735, 767, 723, 713, 717, 716, 724, 714, 360, 708, + 68, 1079, 759, 720, 757, 711, 721, 754, 1079, 719, + 714, 711, 717, 703, 718, 713, 702, 699, 700, 709, + 712, 695, 700, 708, 704, 737, 689, 689, 700, 699, + 686, 684, 685, 1079, 1079, 691, 679, 397, 683, 681, + 725, 1079, 683, 723, 684, 669, 679, 681, 675, 684, + + 716, 685, 662, 1079, 678, 1079, 677, 664, 1079, 705, + 676, 678, 707, 663, 658, 664, 658, 702, 658, 658, + 652, 664, 663, 651, 650, 1079, 664, 647, 647, 439, + 645, 660, 640, 654, 653, 639, 650, 637, 637, 1079, + 641, 1079, 640, 636, 645, 635, 631, 676, 1079, 634, + 630, 639, 642, 671, 628, 669, 622, 1079, 635, 666, + 665, 621, 1079, 618, 615, 627, 655, 629, 628, 608, + 625, 655, 654, 1079, 615, 440, 652, 620, 620, 607, + 603, 617, 646, 607, 644, 605, 608, 607, 595, 597, + 591, 1079, 603, 602, 588, 602, 1079, 603, 1079, 586, + + 592, 1079, 1079, 599, 582, 623, 627, 588, 579, 579, + 593, 592, 1079, 1079, 588, 1079, 588, 1079, 589, 578, + 570, 616, 615, 1079, 571, 1079, 566, 567, 565, 610, + 371, 567, 608, 607, 568, 571, 563, 414, 569, 572, + 601, 562, 1079, 566, 564, 559, 549, 549, 594, 550, + 546, 591, 585, 1079, 1079, 547, 588, 587, 586, 1079, + 544, 584, 553, 1079, 1079, 541, 441, 547, 1079, 534, + 532, 517, 1079, 523, 537, 489, 494, 79, 178, 1079, + 215, 234, 1079, 249, 259, 1079, 1079, 1079, 270, 1079, + 285, 327, 1079, 362, 401, 426, 429, 394, 442, 1079, + + 438, 401, 406, 450, 416, 452, 420, 454, 422, 422, + 457, 425, 1079, 1079, 1079, 416, 1079, 416, 461, 420, + 1079, 425, 1079, 464, 1079, 432, 467, 1079, 468, 431, + 429, 1079, 470, 440, 1079, 482, 1079, 1079, 478, 441, + 448, 487, 1079, 444, 457, 457, 1079, 457, 464, 465, + 455, 455, 460, 465, 458, 458, 463, 469, 470, 476, + 468, 476, 512, 477, 476, 1079, 515, 482, 1079, 472, + 472, 519, 1079, 1079, 525, 532, 539, 546, 553, 560, + 564, 569, 571, 573, 575, 577 } ; -static yyconst flex_int16_t yy_def[773] = +static yyconst flex_int16_t yy_def[787] = { 0, - 760, 1, 761, 761, 1, 5, 5, 5, 5, 5, - 760, 760, 760, 760, 760, 762, 760, 760, 760, 760, - 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - 760, 760, 760, 760, 760, 760, 763, 760, 760, 760, - 764, 15, 760, 42, 42, 42, 765, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 762, 760, 760, 760, 760, 760, - 760, 766, 760, 760, 760, 760, 760, 760, 760, 760, - 763, 760, 764, 760, 767, 42, 42, 42, 768, 42, - 765, 42, 42, 42, 42, 42, 42, 42, 42, 42, - - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 766, 760, 760, 760, 760, 760, - 769, 42, 42, 42, 768, 760, 765, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 760, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - - 42, 42, 760, 760, 760, 760, 770, 42, 42, 42, - 765, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 760, 771, 42, 42, 42, - 42, 42, 42, 765, 42, 42, 42, 42, 760, 42, - 42, 760, 42, 42, 42, 42, 760, 42, 42, 42, - 42, 42, 760, 42, 42, 42, 42, 42, 42, 42, - - 42, 42, 42, 42, 42, 42, 760, 42, 42, 42, - 42, 42, 42, 760, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 760, 760, 760, - 760, 42, 42, 760, 772, 42, 42, 760, 760, 42, - 42, 760, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 760, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 760, 42, 42, 42, 42, - 760, 42, 42, 42, 42, 42, 760, 42, 42, 42, - 760, 42, 42, 42, 42, 42, 42, 42, 42, 42, - - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 760, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 760, 42, 42, - 42, 42, 42, 42, 760, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 760, - 760, 42, 42, 42, 42, 42, 42, 760, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 760, - 42, 760, 42, 42, 760, 42, 42, 42, 42, 42, - - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 760, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 760, 42, 760, 42, 42, - 42, 42, 42, 42, 760, 42, 42, 42, 42, 42, - 42, 42, 42, 760, 42, 42, 42, 42, 760, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 760, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 760, 42, 42, - 42, 42, 760, 42, 760, 42, 42, 760, 760, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 760, 760, - - 42, 760, 42, 760, 42, 42, 42, 42, 42, 760, - 42, 760, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 760, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 760, - 760, 42, 42, 42, 42, 760, 42, 42, 42, 760, - 760, 42, 42, 42, 760, 42, 42, 42, 760, 42, - 42, 42, 42, 42, 42, 760, 42, 42, 760, 42, - 42, 760, 760, 760, 42, 760, 42, 42, 760, 42, - 42, 42, 42, 42, 42, 760, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 760, 760, - - 760, 42, 760, 42, 42, 42, 760, 42, 760, 42, - 760, 42, 42, 760, 42, 42, 42, 760, 42, 42, - 760, 42, 760, 760, 42, 42, 42, 42, 760, 42, - 42, 42, 760, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 760, 42, 42, 760, 42, 42, 42, 760, 0, - 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - 760, 760 + 774, 1, 775, 775, 1, 5, 5, 5, 5, 5, + 774, 774, 774, 774, 774, 776, 774, 774, 774, 774, + 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, + 774, 774, 774, 774, 774, 774, 774, 774, 774, 777, + 774, 774, 774, 778, 15, 774, 45, 45, 45, 779, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 776, 774, 774, + 774, 774, 774, 774, 780, 774, 774, 774, 774, 774, + 774, 774, 774, 774, 774, 774, 777, 774, 778, 774, + 781, 45, 45, 45, 782, 45, 779, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 780, 774, 774, 774, 774, 774, 774, 774, 774, 783, + 45, 45, 45, 782, 774, 779, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 774, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 774, 774, 774, 774, 774, 774, 774, 784, 45, + 45, 45, 779, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 774, 774, 774, + 785, 45, 45, 45, 45, 45, 45, 779, 45, 45, + 45, 45, 774, 45, 45, 774, 45, 45, 45, 45, + + 774, 45, 45, 45, 45, 45, 774, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 774, 45, 45, 45, 45, 45, 45, 774, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 774, 774, 774, 774, 45, 45, 774, 786, 45, + 45, 774, 774, 45, 45, 774, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 774, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 774, + 45, 45, 45, 45, 774, 45, 45, 45, 45, 45, + + 774, 45, 45, 45, 774, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 774, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 774, 45, 45, 45, 45, 45, 45, 774, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 774, 774, 45, 45, 45, 45, 45, + 45, 774, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 774, 45, 774, 45, 45, 774, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 774, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 774, + 45, 774, 45, 45, 45, 45, 45, 45, 774, 45, + 45, 45, 45, 45, 45, 45, 45, 774, 45, 45, + 45, 45, 774, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 774, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 774, 45, 45, 45, 45, 774, 45, 774, 45, + + 45, 774, 774, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 774, 774, 45, 774, 45, 774, 45, 45, + 45, 45, 45, 774, 45, 774, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 774, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 774, 774, 45, 45, 45, 45, 774, + 45, 45, 45, 774, 774, 45, 45, 45, 774, 45, + 45, 45, 774, 45, 45, 45, 45, 45, 45, 774, + 45, 45, 774, 45, 45, 774, 774, 774, 45, 774, + 45, 45, 774, 45, 45, 45, 45, 45, 45, 774, + + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 774, 774, 774, 45, 774, 45, 45, 45, + 774, 45, 774, 45, 774, 45, 45, 774, 45, 45, + 45, 774, 45, 45, 774, 45, 774, 774, 45, 45, + 45, 45, 774, 45, 45, 45, 774, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 774, 45, 45, 774, 45, + 45, 45, 774, 0, 774, 774, 774, 774, 774, 774, + 774, 774, 774, 774, 774, 774 } ; -static yyconst flex_uint16_t yy_nxt[1078] = +static yyconst flex_uint16_t yy_nxt[1140] = { 0, 12, 13, 14, 13, 12, 15, 16, 12, 17, 18, 19, 20, 21, 22, 22, 22, 23, 24, 12, 12, - 12, 12, 25, 12, 26, 12, 27, 12, 12, 12, - 12, 12, 25, 28, 12, 12, 12, 12, 12, 12, - 29, 12, 12, 12, 12, 30, 12, 12, 12, 12, - 12, 31, 32, 34, 14, 34, 34, 14, 34, 35, - 38, 37, 35, 12, 12, 37, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 38, 12, 71, 39, - 12, 39, 12, 72, 12, 116, 70, 70, 70, 117, - 12, 12, 12, 12, 36, 68, 12, 39, 12, 39, - - 39, 677, 39, 12, 118, 68, 156, 157, 119, 12, - 12, 41, 41, 41, 42, 42, 43, 42, 42, 42, - 42, 42, 42, 42, 42, 44, 42, 42, 42, 42, - 42, 42, 45, 42, 46, 42, 47, 42, 42, 48, - 49, 50, 51, 52, 42, 42, 53, 54, 42, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 42, - 42, 42, 42, 42, 66, 488, 67, 67, 67, 66, - 489, 69, 69, 69, 84, 68, 74, 84, 74, 102, - 68, 75, 75, 75, 66, 68, 69, 69, 69, 103, - 68, 94, 108, 95, 85, 68, 96, 85, 104, 97, - - 98, 109, 152, 110, 99, 68, 42, 100, 181, 182, - 105, 153, 120, 42, 106, 42, 121, 107, 101, 168, - 42, 42, 42, 42, 42, 122, 164, 42, 42, 165, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 90, 111, 112, 125, 123, 113, 169, 42, 124, 678, - 114, 129, 126, 127, 133, 130, 681, 128, 134, 682, - 42, 75, 75, 75, 42, 70, 70, 70, 42, 131, - 70, 70, 70, 161, 68, 42, 448, 647, 42, 68, - 42, 91, 449, 66, 68, 67, 67, 67, 162, 68, - 74, 424, 74, 314, 68, 75, 75, 75, 66, 192, - - 69, 69, 69, 193, 68, 75, 75, 75, 285, 68, - 268, 648, 286, 425, 186, 187, 188, 683, 269, 68, - 147, 147, 147, 684, 189, 438, 190, 147, 147, 147, - 191, 685, 315, 686, 439, 147, 147, 147, 147, 147, - 147, 211, 211, 211, 270, 271, 485, 486, 211, 211, - 211, 272, 687, 688, 689, 690, 211, 211, 211, 211, - 211, 211, 274, 274, 274, 655, 691, 293, 602, 274, - 274, 274, 294, 603, 692, 693, 694, 274, 274, 274, - 274, 274, 274, 522, 695, 679, 696, 523, 697, 560, - 680, 698, 656, 699, 561, 700, 701, 702, 703, 704, - - 705, 706, 295, 707, 708, 709, 296, 42, 42, 42, - 710, 711, 712, 713, 42, 42, 42, 714, 715, 716, - 717, 718, 42, 42, 42, 42, 42, 42, 562, 719, - 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, - 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, - 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, - 33, 33, 33, 33, 33, 33, 33, 65, 676, 65, - 65, 65, 65, 65, 81, 675, 81, 674, 81, 81, - 81, 83, 83, 83, 83, 83, 83, 83, 89, 89, - - 89, 89, 89, 89, 89, 135, 673, 135, 135, 135, - 135, 135, 83, 83, 672, 83, 145, 145, 145, 145, - 145, 207, 207, 267, 267, 335, 335, 83, 83, 671, - 670, 669, 668, 667, 666, 665, 664, 663, 662, 661, - 660, 659, 658, 657, 654, 653, 652, 651, 650, 649, - 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, - 636, 635, 634, 633, 632, 631, 630, 629, 628, 627, - 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, - 616, 615, 614, 613, 612, 611, 610, 609, 608, 607, - 606, 605, 604, 601, 600, 599, 598, 597, 596, 595, - - 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, - 584, 583, 582, 581, 580, 579, 578, 577, 576, 575, - 574, 573, 572, 571, 570, 569, 568, 567, 566, 565, - 564, 563, 559, 558, 557, 556, 555, 554, 553, 552, - 551, 550, 549, 548, 547, 546, 545, 544, 543, 542, - 541, 540, 539, 538, 537, 536, 535, 534, 533, 532, - 531, 530, 529, 528, 527, 526, 525, 524, 521, 520, - 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, - 509, 508, 507, 506, 505, 504, 503, 502, 501, 500, - 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, - - 487, 484, 483, 482, 481, 480, 479, 478, 477, 476, - 475, 474, 473, 472, 471, 470, 469, 468, 467, 466, - 465, 464, 463, 462, 461, 460, 459, 458, 457, 456, - 455, 454, 453, 452, 451, 450, 447, 446, 445, 444, - 443, 442, 441, 440, 437, 436, 435, 434, 433, 432, - 431, 430, 429, 428, 427, 426, 423, 422, 421, 420, - 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, - 409, 408, 407, 406, 405, 404, 403, 402, 401, 400, - 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, - 389, 388, 387, 386, 385, 384, 383, 382, 381, 380, - - 379, 378, 377, 376, 375, 374, 373, 372, 371, 370, - 369, 368, 367, 366, 365, 364, 363, 362, 361, 360, - 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, - 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, - 339, 338, 337, 336, 334, 333, 332, 331, 330, 329, - 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, - 318, 317, 316, 313, 312, 311, 310, 309, 308, 307, - 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, - 292, 291, 290, 289, 288, 287, 284, 283, 282, 281, - 280, 279, 278, 277, 276, 275, 273, 266, 205, 265, - - 264, 263, 262, 261, 260, 259, 258, 257, 256, 255, - 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, - 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, - 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, - 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, - 214, 213, 212, 146, 210, 209, 208, 206, 205, 204, - 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, - 185, 184, 183, 180, 179, 178, 177, 176, 175, 174, - 173, 172, 171, 170, 167, 166, 163, 160, 159, 158, - 155, 154, 151, 150, 149, 148, 146, 144, 143, 142, - - 141, 140, 139, 138, 137, 136, 132, 115, 93, 92, - 88, 87, 86, 40, 82, 80, 79, 78, 77, 76, - 73, 40, 760, 11, 760, 760, 760, 760, 760, 760, - 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - 760, 760, 760, 760, 760, 760, 760 + 12, 12, 12, 25, 26, 12, 27, 12, 12, 28, + 12, 29, 12, 30, 12, 12, 12, 12, 12, 25, + 31, 12, 12, 12, 12, 12, 12, 32, 12, 12, + 12, 12, 33, 12, 12, 12, 12, 12, 34, 35, + 37, 14, 37, 37, 14, 37, 38, 80, 40, 38, + 12, 12, 40, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 41, 42, 41, 42, 74, 12, 12, + 80, 12, 75, 81, 12, 77, 12, 77, 12, 79, + + 78, 78, 78, 79, 12, 12, 12, 12, 39, 12, + 12, 42, 12, 42, 79, 502, 81, 12, 82, 42, + 503, 42, 703, 12, 12, 44, 44, 44, 45, 45, + 46, 45, 45, 45, 45, 45, 45, 45, 45, 47, + 45, 45, 45, 45, 45, 45, 45, 48, 45, 45, + 49, 45, 45, 45, 45, 45, 45, 50, 45, 45, + 51, 52, 53, 54, 55, 45, 45, 56, 57, 45, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 45, 45, 45, 45, 45, 69, 80, 70, 70, 70, + 69, 81, 72, 72, 72, 90, 282, 71, 73, 73, + + 73, 108, 71, 69, 283, 72, 72, 72, 71, 83, + 144, 109, 104, 71, 84, 71, 105, 704, 71, 106, + 110, 100, 91, 101, 71, 90, 102, 142, 114, 103, + 107, 71, 45, 144, 111, 170, 144, 115, 112, 116, + 45, 113, 122, 45, 124, 129, 123, 142, 125, 130, + 171, 96, 91, 45, 45, 45, 45, 45, 45, 147, + 45, 45, 705, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 706, 143, 117, 118, 126, 45, 119, + 177, 127, 45, 139, 120, 135, 45, 140, 161, 136, + 128, 131, 707, 45, 143, 142, 45, 162, 45, 97, + + 132, 133, 212, 137, 214, 134, 73, 73, 73, 69, + 708, 70, 70, 70, 178, 145, 71, 77, 709, 77, + 214, 71, 78, 78, 78, 212, 69, 143, 72, 72, + 72, 710, 71, 73, 73, 73, 213, 71, 71, 78, + 78, 78, 214, 71, 78, 78, 78, 146, 165, 166, + 173, 190, 191, 174, 71, 212, 213, 213, 217, 71, + 156, 156, 156, 195, 196, 197, 711, 156, 156, 156, + 156, 156, 201, 198, 328, 199, 202, 216, 215, 200, + 438, 661, 156, 156, 156, 156, 156, 156, 223, 223, + 223, 278, 278, 284, 285, 223, 223, 223, 223, 223, + + 299, 286, 499, 500, 300, 712, 713, 278, 279, 439, + 223, 223, 223, 223, 223, 223, 288, 288, 288, 669, + 329, 452, 662, 288, 288, 288, 288, 288, 307, 462, + 453, 714, 536, 308, 715, 463, 537, 716, 288, 288, + 288, 288, 288, 288, 574, 616, 693, 717, 718, 575, + 617, 694, 719, 670, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 309, 736, 737, 738, 310, 45, 45, 45, 739, 740, + 741, 742, 45, 45, 45, 45, 45, 743, 744, 745, + 576, 746, 747, 748, 749, 750, 751, 45, 45, 45, + + 45, 45, 45, 752, 753, 754, 755, 756, 757, 758, + 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, + 769, 770, 771, 772, 773, 36, 36, 36, 36, 36, + 36, 36, 68, 702, 68, 68, 68, 68, 68, 87, + 701, 87, 700, 87, 87, 87, 89, 89, 89, 89, + 89, 89, 89, 95, 95, 95, 95, 95, 95, 95, + 141, 699, 141, 141, 141, 141, 141, 89, 89, 698, + 89, 154, 154, 154, 154, 154, 219, 219, 281, 281, + 349, 349, 89, 89, 697, 696, 695, 692, 691, 690, + 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, + + 679, 678, 677, 676, 675, 674, 673, 672, 671, 668, + 667, 666, 665, 664, 663, 660, 659, 658, 657, 656, + 655, 654, 653, 652, 651, 650, 649, 648, 647, 646, + 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, + 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, + 625, 624, 623, 622, 621, 620, 619, 618, 615, 614, + 613, 612, 611, 610, 609, 608, 607, 606, 605, 604, + 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, + 593, 592, 591, 590, 589, 588, 587, 586, 585, 584, + 583, 582, 581, 580, 579, 578, 577, 573, 572, 571, + + 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, + 560, 559, 558, 557, 556, 555, 554, 553, 552, 551, + 550, 549, 548, 547, 546, 545, 544, 543, 542, 541, + 540, 539, 538, 535, 534, 533, 532, 531, 530, 529, + 528, 527, 526, 525, 524, 523, 522, 521, 520, 519, + 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, + 508, 507, 506, 505, 504, 501, 498, 497, 496, 495, + 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, + 484, 483, 482, 481, 480, 479, 478, 477, 476, 475, + 474, 473, 472, 471, 470, 469, 468, 467, 466, 465, + + 464, 461, 460, 459, 458, 457, 456, 455, 454, 451, + 450, 449, 448, 447, 446, 445, 444, 443, 442, 441, + 440, 437, 436, 435, 434, 433, 432, 431, 430, 429, + 428, 427, 426, 425, 424, 423, 422, 421, 420, 419, + 418, 417, 416, 415, 414, 413, 412, 411, 410, 409, + 408, 407, 406, 405, 404, 403, 402, 401, 400, 399, + 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, + 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, + 378, 377, 376, 375, 374, 373, 372, 371, 370, 369, + 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, + + 358, 357, 356, 355, 354, 353, 352, 351, 350, 348, + 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, + 337, 336, 335, 334, 333, 332, 331, 330, 327, 326, + 325, 324, 323, 322, 321, 320, 319, 318, 317, 316, + 315, 314, 313, 312, 311, 306, 305, 304, 303, 302, + 301, 298, 297, 296, 295, 294, 293, 292, 291, 290, + 289, 287, 280, 277, 276, 275, 274, 273, 272, 271, + 270, 269, 268, 267, 266, 265, 264, 263, 262, 261, + 260, 259, 258, 257, 256, 255, 254, 253, 252, 251, + 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, + + 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, + 230, 229, 228, 227, 226, 225, 224, 155, 222, 221, + 220, 218, 211, 210, 209, 208, 207, 206, 205, 204, + 203, 194, 193, 192, 189, 188, 187, 186, 185, 184, + 183, 182, 181, 180, 179, 176, 175, 172, 169, 168, + 167, 164, 163, 160, 159, 158, 157, 155, 153, 152, + 151, 150, 149, 148, 138, 121, 99, 98, 94, 93, + 92, 43, 88, 86, 85, 76, 43, 774, 11, 774, + 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, + 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, + + 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, + 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, + 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, + 774, 774, 774, 774, 774, 774, 774, 774, 774 } ; -static yyconst flex_int16_t yy_chk[1078] = +static yyconst flex_int16_t yy_chk[1140] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 4, 4, 4, 3, - 9, 7, 4, 5, 5, 8, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 10, 9, 21, 13, - 5, 13, 5, 21, 5, 57, 20, 20, 20, 57, - 5, 5, 7, 10, 5, 20, 8, 34, 5, 34, - - 39, 649, 39, 5, 58, 20, 99, 99, 58, 5, - 5, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 3, 3, 3, 4, 4, 4, 3, 27, 7, 4, + 5, 5, 8, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 9, 13, 10, 13, 21, 5, 5, + 27, 5, 21, 28, 5, 25, 5, 25, 5, 26, + + 25, 25, 25, 31, 5, 5, 7, 9, 5, 10, + 8, 37, 5, 37, 26, 451, 28, 5, 31, 42, + 451, 42, 678, 5, 5, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 17, 437, 17, 17, 17, 19, - 437, 19, 19, 19, 41, 17, 25, 83, 25, 52, - 19, 25, 25, 25, 22, 17, 22, 22, 22, 52, - 19, 50, 54, 50, 41, 22, 50, 83, 52, 50, - - 51, 54, 96, 54, 51, 22, 42, 51, 120, 120, - 53, 96, 59, 42, 53, 42, 59, 53, 51, 108, - 42, 42, 42, 42, 42, 59, 105, 42, 42, 105, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 47, 55, 55, 61, 60, 55, 108, 47, 60, 652, - 55, 62, 61, 61, 64, 62, 654, 61, 64, 656, - 47, 74, 74, 74, 47, 66, 66, 66, 47, 62, - 70, 70, 70, 103, 66, 47, 398, 617, 47, 70, - 47, 47, 398, 67, 66, 67, 67, 67, 103, 70, - 68, 372, 68, 247, 67, 68, 68, 68, 69, 125, - - 69, 69, 69, 125, 67, 75, 75, 75, 222, 69, - 208, 617, 222, 372, 124, 124, 124, 657, 208, 69, - 91, 91, 91, 658, 124, 388, 124, 91, 91, 91, - 124, 660, 247, 661, 388, 91, 91, 91, 91, 91, - 91, 147, 147, 147, 209, 209, 435, 435, 147, 147, - 147, 209, 662, 663, 664, 665, 147, 147, 147, 147, - 147, 147, 211, 211, 211, 624, 667, 229, 562, 211, - 211, 211, 229, 562, 668, 670, 671, 211, 211, 211, - 211, 211, 211, 474, 675, 653, 677, 474, 678, 516, - 653, 680, 624, 681, 516, 682, 683, 684, 685, 687, - - 688, 689, 229, 690, 691, 692, 229, 274, 274, 274, - 693, 694, 695, 696, 274, 274, 274, 697, 698, 702, - 704, 705, 274, 274, 274, 274, 274, 274, 516, 706, - 708, 710, 712, 713, 715, 716, 717, 719, 720, 722, - 725, 726, 727, 728, 730, 731, 732, 734, 735, 736, - 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, - 747, 748, 749, 750, 751, 753, 754, 756, 757, 758, - 761, 761, 761, 761, 761, 761, 761, 762, 648, 762, - 762, 762, 762, 762, 763, 647, 763, 645, 763, 763, - 763, 764, 764, 764, 764, 764, 764, 764, 765, 765, - - 765, 765, 765, 765, 765, 766, 644, 766, 766, 766, - 766, 766, 767, 767, 643, 767, 768, 768, 768, 768, - 768, 769, 769, 770, 770, 771, 771, 772, 772, 642, - 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, - 628, 627, 626, 625, 623, 622, 621, 620, 619, 618, - 616, 615, 614, 613, 611, 609, 608, 607, 606, 605, - 603, 601, 598, 597, 596, 595, 594, 593, 592, 591, - 590, 587, 586, 584, 582, 581, 580, 579, 577, 576, - 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, - 565, 564, 563, 561, 559, 558, 557, 556, 555, 554, - - 553, 552, 551, 550, 548, 547, 546, 545, 543, 542, - 541, 540, 539, 538, 537, 536, 534, 533, 532, 531, - 530, 529, 527, 525, 524, 523, 522, 521, 520, 519, - 518, 517, 515, 514, 513, 511, 510, 509, 508, 507, - 506, 505, 504, 503, 502, 501, 500, 499, 498, 497, - 496, 494, 493, 491, 489, 488, 487, 486, 485, 484, - 483, 482, 481, 480, 479, 477, 476, 475, 473, 472, - 469, 468, 467, 466, 465, 464, 463, 462, 461, 460, - 459, 458, 457, 456, 455, 454, 453, 452, 451, 450, - 449, 448, 447, 446, 444, 443, 442, 441, 440, 439, - - 436, 434, 433, 432, 431, 430, 429, 428, 427, 426, - 425, 423, 422, 421, 420, 419, 418, 417, 416, 415, - 414, 413, 412, 411, 410, 409, 408, 407, 406, 405, - 404, 403, 402, 401, 400, 399, 397, 396, 395, 394, - 393, 392, 390, 389, 386, 385, 384, 383, 382, 380, - 379, 378, 377, 375, 374, 373, 371, 370, 369, 368, - 367, 366, 365, 364, 363, 362, 361, 359, 358, 357, - 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, - 346, 345, 344, 343, 341, 340, 337, 336, 334, 333, - 332, 327, 326, 325, 324, 323, 322, 321, 320, 319, - - 318, 317, 316, 315, 313, 312, 311, 310, 309, 308, - 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, - 296, 295, 294, 292, 291, 290, 289, 288, 286, 285, - 284, 283, 281, 280, 278, 277, 276, 275, 273, 272, - 271, 270, 269, 268, 266, 265, 264, 263, 262, 261, - 260, 259, 258, 257, 256, 255, 254, 253, 252, 251, - 250, 249, 248, 246, 245, 244, 243, 242, 241, 240, - 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, - 228, 227, 226, 225, 224, 223, 221, 220, 219, 218, - 217, 216, 215, 214, 213, 212, 210, 206, 203, 202, - - 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, - 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, - 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, - 171, 170, 169, 167, 166, 165, 164, 163, 162, 161, - 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, - 150, 149, 148, 145, 144, 143, 142, 139, 138, 137, - 136, 134, 133, 132, 131, 130, 129, 128, 127, 126, - 123, 122, 121, 119, 118, 117, 116, 115, 114, 113, - 112, 111, 110, 109, 107, 106, 104, 102, 101, 100, - 98, 97, 95, 94, 93, 92, 89, 88, 87, 86, - - 85, 81, 80, 78, 77, 76, 63, 56, 49, 48, - 46, 45, 44, 40, 38, 36, 35, 30, 29, 28, - 24, 14, 11, 760, 760, 760, 760, 760, 760, 760, - 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - 760, 760, 760, 760, 760, 760, 760 + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 17, 32, 17, 17, 17, + 19, 33, 19, 19, 19, 44, 220, 17, 20, 20, + + 20, 55, 19, 22, 220, 22, 22, 22, 20, 32, + 81, 55, 54, 17, 33, 22, 54, 679, 19, 54, + 55, 53, 44, 53, 20, 89, 53, 79, 57, 53, + 54, 22, 45, 81, 56, 109, 84, 57, 56, 57, + 45, 56, 60, 45, 61, 63, 60, 79, 61, 63, + 109, 50, 89, 45, 45, 45, 45, 45, 50, 84, + 45, 45, 681, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 682, 80, 58, 58, 62, 50, 58, + 114, 62, 50, 67, 58, 65, 50, 67, 102, 65, + 62, 64, 684, 50, 80, 82, 50, 102, 50, 50, + + 64, 64, 142, 65, 144, 64, 69, 69, 69, 70, + 685, 70, 70, 70, 114, 82, 69, 71, 689, 71, + 144, 70, 71, 71, 71, 142, 72, 83, 72, 72, + 72, 691, 69, 73, 73, 73, 143, 70, 72, 77, + 77, 77, 147, 73, 78, 78, 78, 83, 105, 105, + 111, 126, 126, 111, 72, 145, 143, 146, 147, 73, + 97, 97, 97, 130, 130, 130, 692, 97, 97, 97, + 97, 97, 131, 130, 259, 130, 131, 146, 145, 130, + 386, 631, 97, 97, 97, 97, 97, 97, 156, 156, + 156, 212, 215, 221, 221, 156, 156, 156, 156, 156, + + 234, 221, 449, 449, 234, 694, 695, 212, 215, 386, + 156, 156, 156, 156, 156, 156, 223, 223, 223, 638, + 259, 402, 631, 223, 223, 223, 223, 223, 241, 412, + 402, 696, 488, 241, 697, 412, 488, 698, 223, 223, + 223, 223, 223, 223, 530, 576, 667, 699, 701, 530, + 576, 667, 702, 638, 703, 704, 705, 706, 707, 708, + 709, 710, 711, 712, 716, 718, 719, 720, 722, 724, + 241, 726, 727, 729, 241, 288, 288, 288, 730, 731, + 733, 734, 288, 288, 288, 288, 288, 736, 739, 740, + 530, 741, 742, 744, 745, 746, 748, 288, 288, 288, + + 288, 288, 288, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, + 767, 768, 770, 771, 772, 775, 775, 775, 775, 775, + 775, 775, 776, 677, 776, 776, 776, 776, 776, 777, + 676, 777, 675, 777, 777, 777, 778, 778, 778, 778, + 778, 778, 778, 779, 779, 779, 779, 779, 779, 779, + 780, 674, 780, 780, 780, 780, 780, 781, 781, 672, + 781, 782, 782, 782, 782, 782, 783, 783, 784, 784, + 785, 785, 786, 786, 671, 670, 668, 666, 663, 662, + 661, 659, 658, 657, 656, 653, 652, 651, 650, 649, + + 648, 647, 646, 645, 644, 642, 641, 640, 639, 637, + 636, 635, 634, 633, 632, 630, 629, 628, 627, 625, + 623, 622, 621, 620, 619, 617, 615, 612, 611, 610, + 609, 608, 607, 606, 605, 604, 601, 600, 598, 596, + 595, 594, 593, 591, 590, 589, 588, 587, 586, 585, + 584, 583, 582, 581, 580, 579, 578, 577, 575, 573, + 572, 571, 570, 569, 568, 567, 566, 565, 564, 562, + 561, 560, 559, 557, 556, 555, 554, 553, 552, 551, + 550, 548, 547, 546, 545, 544, 543, 541, 539, 538, + 537, 536, 535, 534, 533, 532, 531, 529, 528, 527, + + 525, 524, 523, 522, 521, 520, 519, 518, 517, 516, + 515, 514, 513, 512, 511, 510, 508, 507, 505, 503, + 502, 501, 500, 499, 498, 497, 496, 495, 494, 493, + 491, 490, 489, 487, 486, 483, 482, 481, 480, 479, + 478, 477, 476, 475, 474, 473, 472, 471, 470, 469, + 468, 467, 466, 465, 464, 463, 462, 461, 460, 458, + 457, 456, 455, 454, 453, 450, 448, 447, 446, 445, + 444, 443, 442, 441, 440, 439, 437, 436, 435, 434, + 433, 432, 431, 430, 429, 428, 427, 426, 425, 424, + 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, + + 413, 411, 410, 409, 408, 407, 406, 404, 403, 400, + 399, 398, 397, 396, 394, 393, 392, 391, 389, 388, + 387, 385, 384, 383, 382, 381, 380, 379, 378, 377, + 376, 375, 373, 372, 371, 370, 369, 368, 367, 366, + 365, 364, 363, 362, 361, 360, 359, 358, 357, 355, + 354, 351, 350, 348, 347, 346, 341, 340, 339, 338, + 337, 336, 335, 334, 333, 332, 331, 330, 329, 327, + 326, 325, 324, 323, 322, 320, 319, 318, 317, 316, + 315, 314, 313, 312, 311, 310, 309, 308, 306, 305, + 304, 303, 302, 300, 299, 298, 297, 295, 294, 292, + + 291, 290, 289, 287, 286, 285, 284, 283, 282, 280, + 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, + 267, 266, 265, 264, 263, 262, 261, 260, 258, 257, + 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, + 246, 245, 244, 243, 242, 240, 239, 238, 237, 236, + 235, 233, 232, 231, 230, 229, 228, 227, 226, 225, + 224, 222, 218, 211, 210, 209, 208, 207, 206, 205, + 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, + 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, + 184, 183, 182, 181, 180, 179, 178, 176, 175, 174, + + 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, + 163, 162, 161, 160, 159, 158, 157, 154, 153, 152, + 151, 148, 140, 139, 138, 137, 136, 135, 134, 133, + 132, 129, 128, 127, 125, 124, 123, 122, 121, 120, + 119, 118, 117, 116, 115, 113, 112, 110, 108, 107, + 106, 104, 103, 101, 100, 99, 98, 95, 94, 93, + 92, 91, 87, 86, 66, 59, 52, 51, 49, 48, + 47, 43, 41, 39, 38, 24, 14, 11, 774, 774, + 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, + 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, + + 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, + 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, + 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, + 774, 774, 774, 774, 774, 774, 774, 774, 774 } ; static yy_state_type yy_last_accepting_state; @@ -1033,7 +1063,7 @@ static char *yy_last_accepting_cpos; extern int parser4__flex_debug; int parser4__flex_debug = 1; -static yyconst flex_int16_t yy_rule_linenum[105] = +static yyconst flex_int16_t yy_rule_linenum[108] = { 0, 128, 130, 132, 137, 138, 143, 144, 145, 157, 160, 165, 172, 181, 190, 199, 208, 217, 226, 238, 248, @@ -1044,9 +1074,9 @@ static yyconst flex_int16_t yy_rule_linenum[105] = 645, 654, 663, 672, 682, 692, 701, 710, 719, 728, 737, 746, 755, 764, 773, 782, 791, 800, 809, 818, 827, 836, 845, 854, 863, 873, 883, 895, 906, 919, - 982, 987, 992, 997, 998, 999, 1000, 1001, 1002, 1004, + 1017, 1022, 1027, 1032, 1033, 1034, 1035, 1036, 1037, 1039, - 1022, 1035, 1040, 1044 + 1057, 1070, 1075, 1079, 1081, 1083, 1085 } ; /* The intent behind this definition is that it'll catch @@ -1057,13 +1087,11 @@ static yyconst flex_int16_t yy_rule_linenum[105] = #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *parser4_text; -#line 1 "dhcp4_lexer.ll" /* Copyright (C) 2016 Internet Systems Consortium, Inc. ("ISC") This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#line 8 "dhcp4_lexer.ll" #include #include #include @@ -1107,17 +1135,14 @@ unsigned int comment_start_line = 0; be on the safe side and keep it. */ #define YY_NO_INPUT 1 - /* These are not token expressions yet, just convenience expressions that can be used during actual token definitions. Note some can match incorrect inputs (e.g., IP addresses) which must be checked. */ /* for errors */ -#line 86 "dhcp4_lexer.ll" // This code run each time a pattern is matched. It updates the location // by moving it ahead by parser4_leng bytes. parser4_leng specifies the length of the // currently matched token. #define YY_USER_ACTION driver.loc_.columns(parser4_leng); -#line 1121 "dhcp4_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -1173,7 +1198,7 @@ FILE *parser4_get_out (void ); void parser4_set_out (FILE * _out_str ); - int parser4_get_leng (void ); +yy_size_t parser4_get_leng (void ); char *parser4_get_text (void ); @@ -1247,7 +1272,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( parser4_text, (size_t) parser4_leng, 1, parser4_out )) {} } while (0) +#define ECHO do { if (fwrite( parser4_text, parser4_leng, 1, parser4_out )) {} } while (0) /* %endif */ /* %if-c++-only C++ definition */ /* %endif */ @@ -1275,7 +1300,7 @@ static int input (void ); else \ { \ errno=0; \ - while ( (result = (int) fread(buf, 1, max_size, parser4_in))==0 && ferror(parser4_in)) \ + while ( (result = fread(buf, 1, max_size, parser4_in))==0 && ferror(parser4_in)) \ { \ if( errno != EINTR) \ { \ @@ -1404,9 +1429,6 @@ YY_DECL { /* %% [7.0] user's declarations go here */ -#line 92 "dhcp4_lexer.ll" - - // This part of the code is copied over to the verbatim to the top // of the generated parser4_lex function. Explanation: @@ -1440,9 +1462,6 @@ YY_DECL } } - -#line 1445 "dhcp4_lexer.cc" - while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { /* %% [8.0] yymore()-related code goes here */ @@ -1470,13 +1489,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 761 ) + if ( yy_current_state >= 775 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 760 ); + while ( yy_current_state != 774 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -1495,13 +1514,13 @@ do_action: /* This label is used only to access EOF actions. */ { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 105 ) + else if ( yy_act < 108 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], parser4_text ); - else if ( yy_act == 105 ) + else if ( yy_act == 108 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", parser4_text ); - else if ( yy_act == 106 ) + else if ( yy_act == 109 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -1519,17 +1538,14 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 128 "dhcp4_lexer.ll" ; YY_BREAK case 2: YY_RULE_SETUP -#line 130 "dhcp4_lexer.ll" ; YY_BREAK case 3: YY_RULE_SETUP -#line 132 "dhcp4_lexer.ll" { BEGIN(COMMENT); comment_start_line = driver.loc_.end.line;; @@ -1537,33 +1553,27 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 137 "dhcp4_lexer.ll" BEGIN(INITIAL); YY_BREAK case 5: YY_RULE_SETUP -#line 138 "dhcp4_lexer.ll" ; YY_BREAK case YY_STATE_EOF(COMMENT): -#line 139 "dhcp4_lexer.ll" { isc_throw(Dhcp4ParseError, "Comment not closed. (/* in line " << comment_start_line); } YY_BREAK case 6: YY_RULE_SETUP -#line 143 "dhcp4_lexer.ll" BEGIN(DIR_ENTER); YY_BREAK case 7: YY_RULE_SETUP -#line 144 "dhcp4_lexer.ll" BEGIN(DIR_INCLUDE); YY_BREAK case 8: YY_RULE_SETUP -#line 145 "dhcp4_lexer.ll" { // Include directive. @@ -1577,19 +1587,16 @@ YY_RULE_SETUP case YY_STATE_EOF(DIR_ENTER): case YY_STATE_EOF(DIR_INCLUDE): case YY_STATE_EOF(DIR_EXIT): -#line 154 "dhcp4_lexer.ll" { isc_throw(Dhcp4ParseError, "Directive not closed."); } YY_BREAK case 9: YY_RULE_SETUP -#line 157 "dhcp4_lexer.ll" BEGIN(INITIAL); YY_BREAK case 10: YY_RULE_SETUP -#line 160 "dhcp4_lexer.ll" { // Ok, we found a with space. Let's ignore it and update loc variable. driver.loc_.step(); @@ -1598,7 +1605,6 @@ YY_RULE_SETUP case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 165 "dhcp4_lexer.ll" { // Newline found. Let's update the location and continue. driver.loc_.lines(parser4_leng); @@ -1607,7 +1613,6 @@ YY_RULE_SETUP YY_BREAK case 12: YY_RULE_SETUP -#line 172 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -1619,7 +1624,6 @@ YY_RULE_SETUP YY_BREAK case 13: YY_RULE_SETUP -#line 181 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -1631,7 +1635,6 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 190 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::INTERFACES_CONFIG: @@ -1643,7 +1646,6 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 199 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -1655,7 +1657,6 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 208 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -1667,7 +1668,6 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 217 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOSTS_DATABASE: @@ -1679,7 +1679,6 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 226 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -1694,7 +1693,6 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 238 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -1707,7 +1705,6 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 248 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -1720,7 +1717,6 @@ YY_RULE_SETUP YY_BREAK case 21: YY_RULE_SETUP -#line 258 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -1733,7 +1729,6 @@ YY_RULE_SETUP YY_BREAK case 22: YY_RULE_SETUP -#line 268 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -1747,7 +1742,6 @@ YY_RULE_SETUP YY_BREAK case 23: YY_RULE_SETUP -#line 279 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -1760,7 +1754,6 @@ YY_RULE_SETUP YY_BREAK case 24: YY_RULE_SETUP -#line 289 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -1773,7 +1766,6 @@ YY_RULE_SETUP YY_BREAK case 25: YY_RULE_SETUP -#line 299 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -1786,7 +1778,6 @@ YY_RULE_SETUP YY_BREAK case 26: YY_RULE_SETUP -#line 309 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -1799,7 +1790,6 @@ YY_RULE_SETUP YY_BREAK case 27: YY_RULE_SETUP -#line 319 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -1811,7 +1801,6 @@ YY_RULE_SETUP YY_BREAK case 28: YY_RULE_SETUP -#line 328 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -1823,7 +1812,6 @@ YY_RULE_SETUP YY_BREAK case 29: YY_RULE_SETUP -#line 337 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -1835,7 +1823,6 @@ YY_RULE_SETUP YY_BREAK case 30: YY_RULE_SETUP -#line 346 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -1852,7 +1839,6 @@ YY_RULE_SETUP YY_BREAK case 31: YY_RULE_SETUP -#line 360 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -1870,7 +1856,6 @@ YY_RULE_SETUP YY_BREAK case 32: YY_RULE_SETUP -#line 375 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -1882,7 +1867,6 @@ YY_RULE_SETUP YY_BREAK case 33: YY_RULE_SETUP -#line 384 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -1894,7 +1878,6 @@ YY_RULE_SETUP YY_BREAK case 34: YY_RULE_SETUP -#line 393 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::POOLS: @@ -1906,7 +1889,6 @@ YY_RULE_SETUP YY_BREAK case 35: YY_RULE_SETUP -#line 402 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -1918,7 +1900,6 @@ YY_RULE_SETUP YY_BREAK case 36: YY_RULE_SETUP -#line 411 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -1930,7 +1911,6 @@ YY_RULE_SETUP YY_BREAK case 37: YY_RULE_SETUP -#line 420 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -1942,7 +1922,6 @@ YY_RULE_SETUP YY_BREAK case 38: YY_RULE_SETUP -#line 429 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -1954,7 +1933,6 @@ YY_RULE_SETUP YY_BREAK case 39: YY_RULE_SETUP -#line 438 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -1966,7 +1944,6 @@ YY_RULE_SETUP YY_BREAK case 40: YY_RULE_SETUP -#line 447 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -1978,7 +1955,6 @@ YY_RULE_SETUP YY_BREAK case 41: YY_RULE_SETUP -#line 456 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -1991,7 +1967,6 @@ YY_RULE_SETUP YY_BREAK case 42: YY_RULE_SETUP -#line 466 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2003,7 +1978,6 @@ YY_RULE_SETUP YY_BREAK case 43: YY_RULE_SETUP -#line 475 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -2015,7 +1989,6 @@ YY_RULE_SETUP YY_BREAK case 44: YY_RULE_SETUP -#line 484 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGING: @@ -2027,7 +2000,6 @@ YY_RULE_SETUP YY_BREAK case 45: YY_RULE_SETUP -#line 493 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -2039,7 +2011,6 @@ YY_RULE_SETUP YY_BREAK case 46: YY_RULE_SETUP -#line 502 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -2051,7 +2022,6 @@ YY_RULE_SETUP YY_BREAK case 47: YY_RULE_SETUP -#line 511 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -2063,7 +2033,6 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 520 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -2075,7 +2044,6 @@ YY_RULE_SETUP YY_BREAK case 49: YY_RULE_SETUP -#line 529 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2088,7 +2056,6 @@ YY_RULE_SETUP YY_BREAK case 50: YY_RULE_SETUP -#line 539 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2101,7 +2068,6 @@ YY_RULE_SETUP YY_BREAK case 51: YY_RULE_SETUP -#line 549 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: @@ -2114,7 +2080,6 @@ YY_RULE_SETUP YY_BREAK case 52: YY_RULE_SETUP -#line 559 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2126,7 +2091,6 @@ YY_RULE_SETUP YY_BREAK case 53: YY_RULE_SETUP -#line 568 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -2139,7 +2103,6 @@ YY_RULE_SETUP YY_BREAK case 54: YY_RULE_SETUP -#line 578 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -2152,7 +2115,6 @@ YY_RULE_SETUP YY_BREAK case 55: YY_RULE_SETUP -#line 588 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -2165,7 +2127,6 @@ YY_RULE_SETUP YY_BREAK case 56: YY_RULE_SETUP -#line 598 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -2178,7 +2139,6 @@ YY_RULE_SETUP YY_BREAK case 57: YY_RULE_SETUP -#line 608 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATIONS: @@ -2190,7 +2150,6 @@ YY_RULE_SETUP YY_BREAK case 58: YY_RULE_SETUP -#line 617 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -2203,7 +2162,6 @@ YY_RULE_SETUP YY_BREAK case 59: YY_RULE_SETUP -#line 627 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -2215,7 +2173,6 @@ YY_RULE_SETUP YY_BREAK case 60: YY_RULE_SETUP -#line 636 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -2227,7 +2184,6 @@ YY_RULE_SETUP YY_BREAK case 61: YY_RULE_SETUP -#line 645 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -2239,7 +2195,6 @@ YY_RULE_SETUP YY_BREAK case 62: YY_RULE_SETUP -#line 654 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -2251,7 +2206,6 @@ YY_RULE_SETUP YY_BREAK case 63: YY_RULE_SETUP -#line 663 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2263,7 +2217,6 @@ YY_RULE_SETUP YY_BREAK case 64: YY_RULE_SETUP -#line 672 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RELAY: @@ -2276,7 +2229,6 @@ YY_RULE_SETUP YY_BREAK case 65: YY_RULE_SETUP -#line 682 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2288,7 +2240,6 @@ YY_RULE_SETUP YY_BREAK case 66: YY_RULE_SETUP -#line 692 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -2300,7 +2251,6 @@ YY_RULE_SETUP YY_BREAK case 67: YY_RULE_SETUP -#line 701 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -2312,7 +2262,6 @@ YY_RULE_SETUP YY_BREAK case 68: YY_RULE_SETUP -#line 710 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2324,7 +2273,6 @@ YY_RULE_SETUP YY_BREAK case 69: YY_RULE_SETUP -#line 719 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SERVER_ID: @@ -2336,7 +2284,6 @@ YY_RULE_SETUP YY_BREAK case 70: YY_RULE_SETUP -#line 728 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SERVER_ID: @@ -2348,7 +2295,6 @@ YY_RULE_SETUP YY_BREAK case 71: YY_RULE_SETUP -#line 737 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SERVER_ID: @@ -2360,7 +2306,6 @@ YY_RULE_SETUP YY_BREAK case 72: YY_RULE_SETUP -#line 746 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SERVER_ID: @@ -2372,7 +2317,6 @@ YY_RULE_SETUP YY_BREAK case 73: YY_RULE_SETUP -#line 755 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2384,7 +2328,6 @@ YY_RULE_SETUP YY_BREAK case 74: YY_RULE_SETUP -#line 764 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2396,7 +2339,6 @@ YY_RULE_SETUP YY_BREAK case 75: YY_RULE_SETUP -#line 773 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2408,7 +2350,6 @@ YY_RULE_SETUP YY_BREAK case 76: YY_RULE_SETUP -#line 782 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2420,7 +2361,6 @@ YY_RULE_SETUP YY_BREAK case 77: YY_RULE_SETUP -#line 791 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -2432,7 +2372,6 @@ YY_RULE_SETUP YY_BREAK case 78: YY_RULE_SETUP -#line 800 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -2444,7 +2383,6 @@ YY_RULE_SETUP YY_BREAK case 79: YY_RULE_SETUP -#line 809 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2456,7 +2394,6 @@ YY_RULE_SETUP YY_BREAK case 80: YY_RULE_SETUP -#line 818 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -2468,7 +2405,6 @@ YY_RULE_SETUP YY_BREAK case 81: YY_RULE_SETUP -#line 827 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -2480,7 +2416,6 @@ YY_RULE_SETUP YY_BREAK case 82: YY_RULE_SETUP -#line 836 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2492,7 +2427,6 @@ YY_RULE_SETUP YY_BREAK case 83: YY_RULE_SETUP -#line 845 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2504,7 +2438,6 @@ YY_RULE_SETUP YY_BREAK case 84: YY_RULE_SETUP -#line 854 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2516,7 +2449,6 @@ YY_RULE_SETUP YY_BREAK case 85: YY_RULE_SETUP -#line 863 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2529,7 +2461,6 @@ YY_RULE_SETUP YY_BREAK case 86: YY_RULE_SETUP -#line 873 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2542,7 +2473,6 @@ YY_RULE_SETUP YY_BREAK case 87: YY_RULE_SETUP -#line 883 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2557,7 +2487,6 @@ YY_RULE_SETUP YY_BREAK case 88: YY_RULE_SETUP -#line 895 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2571,7 +2500,6 @@ YY_RULE_SETUP YY_BREAK case 89: YY_RULE_SETUP -#line 906 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2585,7 +2513,6 @@ YY_RULE_SETUP YY_BREAK case 90: YY_RULE_SETUP -#line 919 "dhcp4_lexer.ll" { // A string has been matched. It contains the actual string and single quotes. // We need to get those quotes out of the way and just use its content, e.g. @@ -2596,6 +2523,7 @@ YY_RULE_SETUP std::string decoded; decoded.reserve(len); for (size_t pos = 0; pos < len; ++pos) { + int b = 0; char c = raw[pos]; switch (c) { case '"': @@ -2630,8 +2558,42 @@ YY_RULE_SETUP decoded.push_back('\t'); break; case 'u': - // not yet implemented - driver.error(driver.loc_, "Unsupported unicode escape in \"" + raw + "\""); + // support only \u0000 to \u00ff + ++pos; + if (pos + 4 > len) { + // impossible condition + driver.error(driver.loc_, + "Overflow unicode escape in \"" + raw + "\""); + } + if ((raw[pos] != '0') || (raw[pos + 1] != '0')) { + driver.error(driver.loc_, "Unsupported unicode escape in \"" + raw + "\""); + } + pos += 2; + c = raw[pos]; + if ((c >= '0') && (c <= '9')) { + b = (c - '0') << 4; + } else if ((c >= 'A') && (c <= 'F')) { + b = (c - 'A' + 10) << 4; + } else if ((c >= 'a') && (c <= 'f')) { + b = (c - 'a' + 10) << 4; + } else { + // impossible condition + driver.error(driver.loc_, "Not hexadecimal in unicode escape in \"" + raw + "\""); + } + pos++; + c = raw[pos]; + if ((c >= '0') && (c <= '9')) { + b |= c - '0'; + } else if ((c >= 'A') && (c <= 'F')) { + b |= c - 'A' + 10; + } else if ((c >= 'a') && (c <= 'f')) { + b |= c - 'a' + 10; + } else { + // impossible condition + driver.error(driver.loc_, "Not hexadecimal in unicode escape in \"" + raw + "\""); + } + decoded.push_back(static_cast(b & 0xff)); + break; default: // impossible condition driver.error(driver.loc_, "Bad escape in \"" + raw + "\""); @@ -2652,7 +2614,6 @@ YY_RULE_SETUP case 91: /* rule 91 can match eol */ YY_RULE_SETUP -#line 982 "dhcp4_lexer.ll" { // Bad string with a forbidden control character inside driver.error(driver.loc_, "Invalid control in " + std::string(parser4_text)); @@ -2661,7 +2622,6 @@ YY_RULE_SETUP case 92: /* rule 92 can match eol */ YY_RULE_SETUP -#line 987 "dhcp4_lexer.ll" { // Bad string with a bad escape inside driver.error(driver.loc_, "Bad escape in " + std::string(parser4_text)); @@ -2669,7 +2629,6 @@ YY_RULE_SETUP YY_BREAK case 93: YY_RULE_SETUP -#line 992 "dhcp4_lexer.ll" { // Bad string with an open escape at the end driver.error(driver.loc_, "Overflow escape in " + std::string(parser4_text)); @@ -2677,37 +2636,30 @@ YY_RULE_SETUP YY_BREAK case 94: YY_RULE_SETUP -#line 997 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK case 95: YY_RULE_SETUP -#line 998 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK case 96: YY_RULE_SETUP -#line 999 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK case 97: YY_RULE_SETUP -#line 1000 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK case 98: YY_RULE_SETUP -#line 1001 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } YY_BREAK case 99: YY_RULE_SETUP -#line 1002 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } YY_BREAK case 100: YY_RULE_SETUP -#line 1004 "dhcp4_lexer.ll" { // An integer was found. std::string tmp(parser4_text); @@ -2728,7 +2680,6 @@ YY_RULE_SETUP YY_BREAK case 101: YY_RULE_SETUP -#line 1022 "dhcp4_lexer.ll" { // A floating point was found. std::string tmp(parser4_text); @@ -2744,7 +2695,6 @@ YY_RULE_SETUP YY_BREAK case 102: YY_RULE_SETUP -#line 1035 "dhcp4_lexer.ll" { string tmp(parser4_text); return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_); @@ -2752,18 +2702,27 @@ YY_RULE_SETUP YY_BREAK case 103: YY_RULE_SETUP -#line 1040 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK case 104: YY_RULE_SETUP -#line 1044 "dhcp4_lexer.ll" +driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); + YY_BREAK +case 105: +YY_RULE_SETUP +driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); + YY_BREAK +case 106: +YY_RULE_SETUP +driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); + YY_BREAK +case 107: +YY_RULE_SETUP driver.error (driver.loc_, "Invalid character: " + std::string(parser4_text)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 1046 "dhcp4_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp4Parser::make_END(driver.loc_); @@ -2787,12 +2746,10 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 105: +case 108: YY_RULE_SETUP -#line 1069 "dhcp4_lexer.ll" ECHO; YY_BREAK -#line 2796 "dhcp4_lexer.cc" case YY_END_OF_BUFFER: { @@ -2995,7 +2952,7 @@ static int yy_get_next_buffer (void) else { - int num_to_read = + yy_size_t num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) @@ -3009,7 +2966,7 @@ static int yy_get_next_buffer (void) if ( b->yy_is_our_buffer ) { - int new_size = b->yy_buf_size * 2; + yy_size_t new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -3022,7 +2979,7 @@ static int yy_get_next_buffer (void) } else /* Can't grow it, we don't own it. */ - b->yy_ch_buf = NULL; + b->yy_ch_buf = 0; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -3109,10 +3066,10 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 761 ) + if ( yy_current_state >= 775 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } return yy_current_state; @@ -3142,11 +3099,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 761 ) + if ( yy_current_state >= 775 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 760); + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_is_jam = (yy_current_state == 774); return yy_is_jam ? 0 : yy_current_state; } @@ -3185,7 +3142,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - int offset = (yy_c_buf_p) - (yytext_ptr); + yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -3209,7 +3166,7 @@ static int yy_get_next_buffer (void) case EOB_ACT_END_OF_FILE: { if ( parser4_wrap( ) ) - return 0; + return EOF; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -3525,7 +3482,7 @@ static void parser4_ensure_buffer_stack (void) /* %if-c++-only */ /* %endif */ { - int num_to_alloc; + yy_size_t num_to_alloc; if (!(yy_buffer_stack)) { @@ -3533,7 +3490,7 @@ static void parser4_ensure_buffer_stack (void) * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ (yy_buffer_stack) = (struct yy_buffer_state**)parser4_alloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); @@ -3582,7 +3539,7 @@ YY_BUFFER_STATE parser4__scan_buffer (char * base, yy_size_t size ) base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ - return NULL; + return 0; b = (YY_BUFFER_STATE) parser4_alloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) @@ -3591,7 +3548,7 @@ YY_BUFFER_STATE parser4__scan_buffer (char * base, yy_size_t size ) b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; - b->yy_input_file = NULL; + b->yy_input_file = 0; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; @@ -3616,7 +3573,7 @@ YY_BUFFER_STATE parser4__scan_buffer (char * base, yy_size_t size ) YY_BUFFER_STATE parser4__scan_string (yyconst char * yystr ) { - return parser4__scan_bytes(yystr,(int) strlen(yystr) ); + return parser4__scan_bytes(yystr,strlen(yystr) ); } /* %endif */ @@ -3628,7 +3585,7 @@ YY_BUFFER_STATE parser4__scan_string (yyconst char * yystr ) * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE parser4__scan_bytes (yyconst char * yybytes, int _yybytes_len ) +YY_BUFFER_STATE parser4__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) { YY_BUFFER_STATE b; char *buf; @@ -3636,7 +3593,7 @@ YY_BUFFER_STATE parser4__scan_bytes (yyconst char * yybytes, int _yybytes_len yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ - n = (yy_size_t) _yybytes_len + 2; + n = _yybytes_len + 2; buf = (char *) parser4_alloc(n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in parser4__scan_bytes()" ); @@ -3664,7 +3621,7 @@ YY_BUFFER_STATE parser4__scan_bytes (yyconst char * yybytes, int _yybytes_len #endif /* %if-c-only */ -static void yynoreturn yy_fatal_error (yyconst char* msg ) +static void yy_fatal_error (yyconst char* msg ) { (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); @@ -3724,7 +3681,7 @@ FILE *parser4_get_out (void) /** Get the length of the current token. * */ -int parser4_get_leng (void) +yy_size_t parser4_get_leng (void) { return parser4_leng; } @@ -3791,10 +3748,10 @@ static int yy_init_globals (void) * This function is called from parser4_lex_destroy(), so don't allocate here. */ - (yy_buffer_stack) = NULL; + (yy_buffer_stack) = 0; (yy_buffer_stack_top) = 0; (yy_buffer_stack_max) = 0; - (yy_c_buf_p) = NULL; + (yy_c_buf_p) = (char *) 0; (yy_init) = 0; (yy_start) = 0; @@ -3803,8 +3760,8 @@ static int yy_init_globals (void) parser4_in = stdin; parser4_out = stdout; #else - parser4_in = NULL; - parser4_out = NULL; + parser4_in = (FILE *) 0; + parser4_out = (FILE *) 0; #endif /* For future reference: Set errno on error, since we are called by @@ -3867,7 +3824,7 @@ static int yy_flex_strlen (yyconst char * s ) void *parser4_alloc (yy_size_t size ) { - return malloc(size); + return (void *) malloc( size ); } void *parser4_realloc (void * ptr, yy_size_t size ) @@ -3880,7 +3837,7 @@ void *parser4_realloc (void * ptr, yy_size_t size ) * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return realloc(ptr, size); + return (void *) realloc( (char *) ptr, size ); } void parser4_free (void * ptr ) @@ -3895,10 +3852,6 @@ void parser4_free (void * ptr ) /* %ok-for-header */ -#line 1069 "dhcp4_lexer.ll" - - - using namespace isc::dhcp; void