"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "lexer.c" between
jq-1.5.tar.gz and jq-1.6.tar.gz

About: jq is a lightweight and flexible command-line JSON processor.

lexer.c  (jq-1.5):lexer.c  (jq-1.6)
#line 2 "lexer.c" #line 2 "src/lexer.c"
#line 4 "lexer.c" #line 4 "src/lexer.c"
#define YY_INT_ALIGNED short int #define YY_INT_ALIGNED short int
/* A lexical scanner generated by flex */ /* A lexical scanner generated by flex */
#define FLEX_SCANNER #define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5 #define YY_FLEX_MINOR_VERSION 6
#define YY_FLEX_SUBMINOR_VERSION 35 #define YY_FLEX_SUBMINOR_VERSION 0
#if YY_FLEX_SUBMINOR_VERSION > 0 #if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA #define FLEX_BETA
#endif #endif
/* First, we deal with platform-specific or compiler-specific issues. */ /* First, we deal with platform-specific or compiler-specific issues. */
/* begin standard C headers. */ /* begin standard C headers. */
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <errno.h> #include <errno.h>
skipping to change at line 182 skipping to change at line 182
/* The state buf must be large enough to hold one state per character in the mai n buffer. /* The state buf must be large enough to hold one state per character in the mai n buffer.
*/ */
#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
#ifndef YY_TYPEDEF_YY_BUFFER_STATE #ifndef YY_TYPEDEF_YY_BUFFER_STATE
#define YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE
typedef struct yy_buffer_state *YY_BUFFER_STATE; typedef struct yy_buffer_state *YY_BUFFER_STATE;
#endif #endif
#ifndef YY_TYPEDEF_YY_SIZE_T
#define YY_TYPEDEF_YY_SIZE_T
typedef size_t yy_size_t;
#endif
#define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2 #define EOB_ACT_LAST_MATCH 2
#define YY_LESS_LINENO(n) #define YY_LESS_LINENO(n)
#define YY_LINENO_REWIND_TO(ptr)
/* Return all but the first "n" matched characters back to the input stream. */ /* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \ #define yyless(n) \
do \ do \
{ \ { \
/* Undo effects of setting up yytext. */ \ /* Undo effects of setting up yytext. */ \
int yyless_macro_arg = (n); \ int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\ YY_LESS_LINENO(yyless_macro_arg);\
*yy_cp = yyg->yy_hold_char; \ *yy_cp = yyg->yy_hold_char; \
YY_RESTORE_YY_MORE_OFFSET \ YY_RESTORE_YY_MORE_OFFSET \
yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
YY_DO_BEFORE_ACTION; /* set up yytext again */ \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \ } \
while ( 0 ) while ( 0 )
#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
#ifndef YY_TYPEDEF_YY_SIZE_T
#define YY_TYPEDEF_YY_SIZE_T
typedef size_t yy_size_t;
#endif
#ifndef YY_STRUCT_YY_BUFFER_STATE #ifndef YY_STRUCT_YY_BUFFER_STATE
#define YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE
struct yy_buffer_state struct yy_buffer_state
{ {
FILE *yy_input_file; FILE *yy_input_file;
char *yy_ch_buf; /* input buffer */ char *yy_ch_buf; /* input buffer */
char *yy_buf_pos; /* current position in input buffer */ char *yy_buf_pos; /* current position in input buffer */
/* Size of input buffer in bytes, not including room for EOB /* Size of input buffer in bytes, not including room for EOB
skipping to change at line 305 skipping to change at line 306
void jq_yypop_buffer_state (yyscan_t yyscanner ); void jq_yypop_buffer_state (yyscan_t yyscanner );
static void jq_yyensure_buffer_stack (yyscan_t yyscanner ); static void jq_yyensure_buffer_stack (yyscan_t yyscanner );
static void jq_yy_load_buffer_state (yyscan_t yyscanner ); static void jq_yy_load_buffer_state (yyscan_t yyscanner );
static void jq_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner ); static void jq_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
#define YY_FLUSH_BUFFER jq_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner) #define YY_FLUSH_BUFFER jq_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
YY_BUFFER_STATE jq_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); YY_BUFFER_STATE jq_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
YY_BUFFER_STATE jq_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); YY_BUFFER_STATE jq_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
YY_BUFFER_STATE jq_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanne r ); YY_BUFFER_STATE jq_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yy scanner );
void *jq_yyalloc (yy_size_t ,yyscan_t yyscanner ); void *jq_yyalloc (yy_size_t ,yyscan_t yyscanner );
void *jq_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); void *jq_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
void jq_yyfree (void * ,yyscan_t yyscanner ); void jq_yyfree (void * ,yyscan_t yyscanner );
#define yy_new_buffer jq_yy_create_buffer #define yy_new_buffer jq_yy_create_buffer
#define yy_set_interactive(is_interactive) \ #define yy_set_interactive(is_interactive) \
{ \ { \
if ( ! YY_CURRENT_BUFFER ){ \ if ( ! YY_CURRENT_BUFFER ){ \
skipping to change at line 337 skipping to change at line 338
YY_CURRENT_BUFFER_LVALUE = \ YY_CURRENT_BUFFER_LVALUE = \
jq_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \ jq_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
} \ } \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
} }
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
/* Begin user sect3 */ /* Begin user sect3 */
#define jq_yywrap(n) 1 #define jq_yywrap(yyscanner) (/*CONSTCOND*/1)
#define YY_SKIP_YYWRAP #define YY_SKIP_YYWRAP
typedef unsigned char YY_CHAR; typedef unsigned char YY_CHAR;
typedef int yy_state_type; typedef int yy_state_type;
#define yytext_ptr yytext_r #define yytext_ptr yytext_r
static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yy scanner); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yy scanner);
static int yy_get_next_buffer (yyscan_t yyscanner ); static int yy_get_next_buffer (yyscan_t yyscanner );
#if defined(__GNUC__) && __GNUC__ >= 3
__attribute__((__noreturn__))
#endif
static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
/* Done after the current pattern has been matched and before the /* Done after the current pattern has been matched and before the
* corresponding action - sets up yytext. * corresponding action - sets up yytext.
*/ */
#define YY_DO_BEFORE_ACTION \ #define YY_DO_BEFORE_ACTION \
yyg->yytext_ptr = yy_bp; \ yyg->yytext_ptr = yy_bp; \
yyleng = (size_t) (yy_cp - yy_bp); \ yyleng = (size_t) (yy_cp - yy_bp); \
yyg->yy_hold_char = *yy_cp; \ yyg->yy_hold_char = *yy_cp; \
*yy_cp = '\0'; \ *yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp; yyg->yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 49 #define YY_NUM_RULES 50
#define YY_END_OF_BUFFER 50 #define YY_END_OF_BUFFER 51
/* This struct is not used in this scanner, /* This struct is not used in this scanner,
but its presence is necessary. */ but its presence is necessary. */
struct yy_trans_info struct yy_trans_info
{ {
flex_int32_t yy_verify; flex_int32_t yy_verify;
flex_int32_t yy_nxt; flex_int32_t yy_nxt;
}; };
static yyconst flex_int16_t yy_accept[154] = static yyconst flex_int16_t yy_accept[157] =
{ 0, { 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 50, 48, 47, 47, 48, 39, 1, 34, 0, 0, 51, 49, 48, 48, 49, 40, 1, 35,
34, 35, 36, 34, 34, 34, 34, 34, 38, 34, 35, 36, 37, 35, 35, 35, 35, 35, 39, 35,
34, 34, 48, 45, 45, 45, 45, 45, 45, 45, 35, 35, 35, 49, 46, 46, 46, 46, 46, 46,
45, 45, 45, 45, 45, 45, 45, 34, 43, 43, 46, 46, 46, 46, 46, 46, 46, 46, 35, 44,
41, 44, 47, 2, 1, 29, 27, 25, 26, 33, 44, 42, 45, 48, 2, 1, 29, 27, 25, 26,
38, 46, 46, 18, 28, 0, 31, 3, 32, 37, 33, 39, 47, 47, 18, 28, 0, 31, 3, 32,
45, 0, 45, 45, 4, 45, 45, 45, 45, 45, 0, 38, 46, 0, 46, 46, 4, 46, 46, 46,
45, 9, 45, 45, 45, 45, 14, 45, 45, 45, 46, 46, 46, 9, 46, 46, 46, 46, 14, 46,
24, 43, 42, 40, 42, 46, 0, 38, 30, 38, 46, 46, 24, 44, 43, 41, 43, 47, 0, 39,
0, 45, 13, 45, 45, 8, 45, 45, 15, 45, 30, 39, 34, 0, 46, 13, 46, 46, 8, 46,
45, 45, 45, 45, 45, 45, 19, 0, 42, 45, 46, 15, 46, 46, 46, 46, 46, 46, 46, 19,
45, 45, 45, 12, 11, 45, 45, 45, 45, 45, 0, 43, 46, 46, 46, 46, 12, 11, 46, 46,
45, 10, 42, 45, 22, 20, 45, 45, 45, 21, 46, 46, 46, 46, 10, 43, 46, 22, 20, 46,
45, 45, 42, 45, 45, 5, 45, 7, 16, 23, 46, 46, 21, 46, 46, 43, 46, 46, 5, 46,
17, 6, 0 7, 16, 23, 17, 6, 0
} ; } ;
static yyconst flex_int32_t yy_ec[256] = static yyconst YY_CHAR yy_ec[256] =
{ 0, { 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 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, 2, 5, 6, 7, 8, 9, 1, 1, 10, 1, 2, 5, 6, 7, 8, 9, 1, 1, 10,
11, 12, 13, 14, 15, 16, 17, 18, 18, 18, 11, 12, 13, 14, 15, 16, 17, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 19, 20, 21, 18, 18, 18, 18, 18, 18, 18, 19, 20, 21,
22, 23, 24, 25, 26, 26, 26, 26, 27, 26, 22, 23, 24, 25, 26, 26, 26, 26, 27, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
skipping to change at line 423 skipping to change at line 427
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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1 1, 1, 1, 1, 1
} ; } ;
static yyconst flex_int32_t yy_meta[54] = static yyconst YY_CHAR yy_meta[54] =
{ 0, { 0,
1, 1, 2, 2, 1, 3, 1, 1, 1, 1, 1, 1, 2, 2, 1, 3, 1, 1, 1, 1,
1, 1, 1, 1, 1, 4, 1, 5, 6, 1, 1, 1, 1, 1, 1, 4, 1, 5, 6, 1,
1, 1, 1, 1, 1, 7, 7, 1, 8, 1, 1, 1, 1, 1, 1, 7, 7, 1, 8, 1,
9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1, 1, 1 1, 1, 1
} ; } ;
static yyconst flex_int16_t yy_base[167] = static yyconst flex_uint16_t yy_base[170] =
{ 0, { 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
51, 52, 318, 319, 57, 59, 295, 319, 0, 319, 51, 52, 320, 321, 57, 59, 297, 321, 0, 321,
294, 319, 319, 293, 292, 291, 47, 47, 50, 290, 296, 321, 321, 295, 294, 293, 47, 47, 50, 292,
289, 288, 0, 290, 48, 51, 53, 52, 37, 59, 291, 290, 294, 0, 291, 48, 51, 53, 52, 37,
57, 66, 56, 63, 68, 70, 72, 286, 0, 0, 59, 57, 66, 56, 63, 68, 70, 72, 287, 0,
319, 80, 90, 319, 0, 319, 319, 319, 319, 95, 0, 321, 80, 90, 321, 0, 321, 321, 321, 321,
99, 0, 106, 285, 319, 110, 319, 319, 319, 0, 95, 99, 0, 106, 286, 321, 110, 321, 321, 321,
285, 281, 86, 77, 277, 97, 101, 111, 113, 115, 290, 0, 285, 281, 86, 77, 277, 97, 101, 111,
117, 274, 119, 120, 118, 121, 270, 122, 123, 124, 113, 115, 117, 274, 119, 120, 118, 121, 270, 122,
319, 0, 257, 319, 255, 0, 254, 249, 319, 245, 123, 124, 321, 0, 257, 321, 255, 0, 254, 249,
0, 125, 239, 126, 127, 237, 128, 134, 234, 136, 321, 245, 321, 0, 125, 239, 126, 127, 237, 128,
143, 147, 148, 149, 152, 154, 232, 165, 212, 210, 134, 234, 136, 143, 147, 148, 149, 152, 154, 232,
157, 159, 158, 209, 208, 160, 161, 162, 163, 164, 165, 212, 210, 157, 159, 158, 209, 208, 160, 161,
166, 207, 196, 171, 205, 204, 174, 167, 175, 201, 162, 163, 164, 166, 207, 196, 171, 205, 204, 174,
170, 176, 190, 190, 184, 199, 194, 198, 197, 85, 167, 175, 201, 170, 176, 190, 190, 184, 199, 194,
78, 76, 319, 230, 239, 245, 250, 255, 264, 273, 198, 197, 85, 78, 76, 321, 230, 239, 245, 250,
278, 283, 285, 290, 294, 298 255, 264, 273, 278, 283, 285, 290, 294, 298
} ; } ;
static yyconst flex_int16_t yy_def[167] = static yyconst flex_int16_t yy_def[170] =
{ 0, { 0,
153, 1, 1, 1, 1, 1, 1, 1, 1, 1, 156, 1, 1, 1, 1, 1, 1, 1, 1, 1,
154, 154, 153, 153, 153, 153, 153, 153, 155, 153, 157, 157, 156, 156, 156, 156, 156, 156, 158, 156,
153, 153, 153, 153, 153, 153, 156, 153, 153, 153, 156, 156, 156, 156, 156, 156, 159, 156, 156, 156,
153, 153, 157, 158, 158, 158, 158, 158, 158, 158, 156, 156, 156, 160, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 153, 159, 159, 161, 161, 161, 161, 161, 161, 161, 161, 156, 162,
153, 160, 153, 153, 155, 153, 153, 153, 153, 153, 162, 156, 163, 156, 156, 158, 156, 156, 156, 156,
153, 161, 161, 153, 153, 153, 153, 153, 153, 157, 156, 156, 164, 164, 156, 156, 156, 156, 156, 156,
158, 153, 158, 158, 158, 158, 158, 158, 158, 158, 156, 160, 161, 156, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
153, 159, 153, 153, 162, 161, 153, 161, 153, 153, 161, 161, 156, 162, 156, 156, 165, 164, 156, 164,
163, 158, 158, 158, 158, 158, 158, 158, 158, 158, 156, 156, 156, 166, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 160, 164, 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 163, 167, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 165, 158, 158, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 168, 161, 161, 161, 161,
158, 158, 166, 158, 158, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 169, 161, 161, 161, 161,
158, 158, 0, 153, 153, 153, 153, 153, 153, 153, 161, 161, 161, 161, 161, 0, 156, 156, 156, 156,
153, 153, 153, 153, 153, 153 156, 156, 156, 156, 156, 156, 156, 156, 156
} ; } ;
static yyconst flex_int16_t yy_nxt[373] = static yyconst flex_uint16_t yy_nxt[375] =
{ 0, { 0,
14, 15, 16, 14, 17, 18, 19, 20, 21, 22, 14, 15, 16, 14, 17, 18, 19, 20, 21, 22,
23, 24, 25, 20, 26, 27, 28, 29, 20, 20, 23, 24, 25, 20, 26, 27, 28, 29, 20, 20,
30, 31, 32, 20, 33, 34, 34, 22, 14, 23, 30, 31, 32, 33, 34, 35, 35, 22, 14, 23,
35, 36, 37, 38, 39, 40, 41, 34, 42, 34, 36, 37, 38, 39, 40, 41, 42, 35, 43, 35,
43, 44, 34, 45, 34, 46, 34, 47, 34, 34, 44, 45, 35, 46, 35, 47, 35, 48, 35, 35,
22, 48, 23, 50, 50, 72, 51, 51, 53, 53, 22, 49, 23, 51, 51, 74, 52, 52, 54, 54,
53, 53, 60, 64, 61, 61, 72, 61, 65, 72, 54, 54, 61, 65, 62, 62, 74, 62, 66, 74,
72, 72, 78, 63, 72, 72, 66, 72, 73, 52, 74, 74, 80, 64, 74, 74, 67, 74, 75, 53,
52, 72, 63, 77, 72, 66, 72, 85, 72, 94, 53, 74, 64, 79, 74, 67, 74, 87, 74, 96,
72, 53, 53, 74, 72, 72, 72, 75, 76, 79, 74, 54, 54, 76, 74, 74, 74, 77, 78, 81,
81, 80, 82, 72, 72, 88, 86, 83, 84, 89, 83, 82, 84, 74, 74, 90, 88, 85, 86, 91,
61, 103, 61, 87, 61, 72, 61, 90, 97, 72, 62, 106, 62, 89, 62, 74, 62, 92, 99, 74,
97, 66, 97, 98, 97, 66, 102, 100, 95, 72, 99, 67, 99, 100, 99, 67, 105, 102, 97, 74,
66, 72, 104, 72, 66, 72, 72, 72, 72, 72, 67, 74, 107, 74, 67, 74, 74, 74, 74, 74,
72, 72, 72, 72, 72, 72, 72, 106, 105, 109, 74, 74, 74, 74, 74, 74, 74, 109, 108, 112,
113, 107, 72, 112, 72, 114, 115, 122, 116, 108, 116, 110, 74, 115, 74, 117, 118, 125, 119, 111,
123, 72, 110, 111, 124, 72, 72, 72, 121, 125, 126, 74, 113, 114, 127, 74, 74, 74, 124, 128,
72, 126, 72, 117, 153, 72, 72, 72, 72, 72, 74, 129, 74, 120, 156, 74, 74, 74, 74, 74,
72, 72, 72, 129, 72, 72, 127, 128, 72, 72, 74, 74, 74, 132, 74, 74, 130, 131, 74, 74,
134, 137, 72, 72, 72, 136, 132, 130, 135, 142, 137, 140, 74, 74, 74, 139, 135, 133, 138, 145,
131, 144, 72, 140, 141, 148, 138, 145, 72, 147, 134, 147, 74, 143, 144, 151, 141, 148, 74, 150,
139, 149, 72, 95, 146, 72, 72, 72, 118, 72, 142, 152, 74, 97, 149, 74, 74, 74, 121, 74,
150, 151, 72, 72, 118, 72, 72, 72, 72, 152, 153, 154, 74, 74, 121, 74, 74, 74, 74, 155,
49, 49, 49, 49, 49, 49, 49, 49, 49, 55, 50, 50, 50, 50, 50, 50, 50, 50, 50, 56,
118, 55, 55, 55, 55, 55, 55, 55, 62, 62, 121, 56, 56, 56, 56, 56, 56, 56, 63, 63,
72, 62, 72, 62, 70, 72, 70, 72, 70, 71, 74, 63, 74, 63, 72, 74, 72, 74, 72, 73,
71, 71, 100, 71, 92, 92, 98, 92, 92, 92, 73, 73, 102, 73, 94, 94, 100, 94, 94, 94,
92, 100, 92, 93, 93, 93, 93, 93, 93, 93, 94, 102, 94, 95, 95, 95, 95, 95, 95, 95,
93, 93, 96, 118, 96, 118, 96, 119, 72, 119, 95, 95, 98, 121, 98, 121, 98, 122, 74, 122,
119, 120, 72, 120, 133, 72, 133, 133, 143, 101, 122, 123, 74, 123, 136, 74, 136, 136, 146, 104,
143, 143, 93, 72, 93, 93, 99, 91, 72, 69, 146, 146, 95, 74, 95, 95, 103, 101, 93, 74,
68, 67, 59, 58, 57, 56, 54, 153, 13, 153, 71, 70, 69, 68, 60, 59, 58, 57, 55, 156,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 13, 156, 156, 156, 156, 156, 156, 156, 156, 156,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
153, 153 156, 156, 156, 156
} ; } ;
static yyconst flex_int16_t yy_chk[373] = static yyconst flex_int16_t yy_chk[375] =
{ 0, { 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, 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, 11, 12, 39, 11, 12, 15, 15, 1, 1, 1, 11, 12, 40, 11, 12, 15, 15,
16, 16, 27, 28, 27, 29, 35, 29, 28, 36, 16, 16, 27, 28, 27, 29, 36, 29, 28, 37,
38, 37, 39, 27, 43, 41, 29, 40, 35, 11, 39, 38, 40, 27, 44, 42, 29, 41, 36, 11,
12, 44, 27, 38, 42, 29, 45, 43, 46, 52, 12, 45, 27, 39, 43, 29, 46, 44, 47, 53,
47, 53, 53, 36, 152, 74, 151, 36, 37, 40, 48, 54, 54, 37, 155, 76, 154, 37, 38, 41,
41, 40, 42, 150, 73, 46, 44, 42, 42, 47, 42, 41, 43, 153, 75, 47, 45, 43, 43, 48,
60, 74, 60, 45, 61, 76, 61, 47, 63, 77, 61, 76, 61, 46, 62, 78, 62, 48, 64, 79,
63, 60, 66, 63, 66, 61, 73, 66, 52, 78, 64, 61, 67, 64, 67, 62, 75, 67, 53, 80,
60, 79, 76, 80, 61, 81, 85, 83, 84, 86, 61, 81, 78, 82, 62, 83, 87, 85, 86, 88,
88, 89, 90, 102, 104, 105, 107, 78, 77, 80, 90, 91, 92, 105, 107, 108, 110, 80, 79, 82,
85, 79, 108, 84, 110, 86, 88, 104, 89, 79, 87, 81, 111, 86, 113, 88, 90, 107, 91, 81,
105, 111, 81, 83, 107, 112, 113, 114, 102, 108, 108, 114, 83, 85, 110, 115, 116, 117, 105, 111,
115, 110, 116, 90, 118, 121, 123, 122, 126, 127, 118, 113, 119, 92, 121, 124, 126, 125, 129, 130,
128, 129, 130, 113, 131, 138, 111, 112, 141, 134, 131, 132, 133, 116, 134, 141, 114, 115, 144, 137,
121, 126, 137, 139, 142, 123, 116, 114, 122, 131, 124, 129, 140, 142, 145, 126, 119, 117, 125, 134,
115, 134, 145, 129, 130, 141, 127, 137, 144, 139, 118, 137, 148, 132, 133, 144, 130, 140, 147, 142,
128, 142, 147, 118, 138, 149, 148, 146, 143, 140, 131, 145, 150, 121, 141, 152, 151, 149, 146, 143,
144, 145, 136, 135, 133, 132, 125, 124, 120, 147, 147, 148, 139, 138, 136, 135, 128, 127, 123, 150,
154, 154, 154, 154, 154, 154, 154, 154, 154, 155, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158,
119, 155, 155, 155, 155, 155, 155, 155, 156, 156, 122, 158, 158, 158, 158, 158, 158, 158, 159, 159,
117, 156, 109, 156, 157, 106, 157, 103, 157, 158, 120, 159, 112, 159, 160, 109, 160, 106, 160, 161,
158, 158, 100, 158, 159, 159, 98, 159, 159, 159, 161, 161, 102, 161, 162, 162, 100, 162, 162, 162,
159, 97, 159, 160, 160, 160, 160, 160, 160, 160, 162, 99, 162, 163, 163, 163, 163, 163, 163, 163,
160, 160, 161, 95, 161, 93, 161, 162, 87, 162, 163, 163, 164, 97, 164, 95, 164, 165, 89, 165,
162, 163, 82, 163, 164, 75, 164, 164, 165, 72, 165, 166, 84, 166, 167, 77, 167, 167, 168, 74,
165, 165, 166, 71, 166, 166, 64, 48, 34, 32, 168, 168, 169, 73, 169, 169, 71, 65, 49, 35,
31, 30, 26, 25, 24, 21, 17, 13, 153, 153, 33, 32, 31, 30, 26, 25, 24, 21, 17, 13,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
153, 153 156, 156, 156, 156
} ; } ;
/* The intent behind this definition is that it'll catch /* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed. * any uses of REJECT which flex missed.
*/ */
#define REJECT reject_used_but_not_detected #define REJECT reject_used_but_not_detected
#define yymore() yymore_used_but_not_detected #define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0 #define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET #define YY_RESTORE_YY_MORE_OFFSET
#line 1 "lexer.l" #line 1 "src/lexer.l"
#line 2 "lexer.l" #line 2 "src/lexer.l"
#include <assert.h> #include <assert.h>
#include "jv_alloc.h" #include "jv_alloc.h"
#include "compile.h" #include "compile.h"
struct lexer_param; struct lexer_param;
#include "parser.h" /* Generated by bison. */ #include "parser.h" /* Generated by bison. */
#define YY_USER_ACTION \ #define YY_USER_ACTION \
do { \ do { \
yylloc->start = jq_yyget_extra(yyscanner); \ yylloc->start = jq_yyget_extra(yyscanner); \
yylloc->end = yylloc->start + yyleng; \ yylloc->end = yylloc->start + yyleng; \
jq_yyset_extra(yylloc->end,yyscanner); \ jq_yyset_extra(yylloc->end,yyscanner); \
} while (0); } while (0);
#line 25 "lexer.l" #line 25 "src/lexer.l"
static int enter(int opening, int state, yyscan_t yyscanner); static int enter(int opening, int state, yyscan_t yyscanner);
static int try_exit(int closing, int state, yyscan_t yyscanner); static int try_exit(int closing, int state, yyscan_t yyscanner);
#define YY_NO_INPUT 1 #define YY_NO_INPUT 1
#line 601 "lexer.c" #line 605 "src/lexer.c"
#define INITIAL 0 #define INITIAL 0
#define IN_PAREN 1 #define IN_PAREN 1
#define IN_BRACKET 2 #define IN_BRACKET 2
#define IN_BRACE 3 #define IN_BRACE 3
#define IN_QQINTERP 4 #define IN_QQINTERP 4
#define IN_QQSTRING 5 #define IN_QQSTRING 5
#ifndef YY_NO_UNISTD_H #ifndef YY_NO_UNISTD_H
/* Special case for "unistd.h", since it is non-ANSI. We include it way /* Special case for "unistd.h", since it is non-ANSI. We include it way
skipping to change at line 628 skipping to change at line 632
/* User-defined. Not touched by flex. */ /* User-defined. Not touched by flex. */
YY_EXTRA_TYPE yyextra_r; YY_EXTRA_TYPE yyextra_r;
/* The rest are the same as the globals declared in the non-reentrant scanne r. */ /* The rest are the same as the globals declared in the non-reentrant scanne r. */
FILE *yyin_r, *yyout_r; FILE *yyin_r, *yyout_r;
size_t yy_buffer_stack_top; /**< index of top of stack. */ size_t yy_buffer_stack_top; /**< index of top of stack. */
size_t yy_buffer_stack_max; /**< capacity of stack. */ size_t yy_buffer_stack_max; /**< capacity of stack. */
YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
char yy_hold_char; char yy_hold_char;
int yy_n_chars; int yy_n_chars;
int yyleng_r; yy_size_t yyleng_r;
char *yy_c_buf_p; char *yy_c_buf_p;
int yy_init; int yy_init;
int yy_start; int yy_start;
int yy_did_buffer_switch_on_eof; int yy_did_buffer_switch_on_eof;
int yy_start_stack_ptr; int yy_start_stack_ptr;
int yy_start_stack_depth; int yy_start_stack_depth;
int *yy_start_stack; int *yy_start_stack;
yy_state_type yy_last_accepting_state; yy_state_type yy_last_accepting_state;
char* yy_last_accepting_cpos; char* yy_last_accepting_cpos;
skipping to change at line 679 skipping to change at line 683
int jq_yyget_debug (yyscan_t yyscanner ); int jq_yyget_debug (yyscan_t yyscanner );
void jq_yyset_debug (int debug_flag ,yyscan_t yyscanner ); void jq_yyset_debug (int debug_flag ,yyscan_t yyscanner );
YY_EXTRA_TYPE jq_yyget_extra (yyscan_t yyscanner ); YY_EXTRA_TYPE jq_yyget_extra (yyscan_t yyscanner );
void jq_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); void jq_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
FILE *jq_yyget_in (yyscan_t yyscanner ); FILE *jq_yyget_in (yyscan_t yyscanner );
void jq_yyset_in (FILE * in_str ,yyscan_t yyscanner ); void jq_yyset_in (FILE * _in_str ,yyscan_t yyscanner );
FILE *jq_yyget_out (yyscan_t yyscanner ); FILE *jq_yyget_out (yyscan_t yyscanner );
void jq_yyset_out (FILE * out_str ,yyscan_t yyscanner ); void jq_yyset_out (FILE * _out_str ,yyscan_t yyscanner );
int jq_yyget_leng (yyscan_t yyscanner ); yy_size_t jq_yyget_leng (yyscan_t yyscanner );
char *jq_yyget_text (yyscan_t yyscanner ); char *jq_yyget_text (yyscan_t yyscanner );
int jq_yyget_lineno (yyscan_t yyscanner ); int jq_yyget_lineno (yyscan_t yyscanner );
void jq_yyset_lineno (int line_number ,yyscan_t yyscanner ); void jq_yyset_lineno (int _line_number ,yyscan_t yyscanner );
int jq_yyget_column (yyscan_t yyscanner );
void jq_yyset_column (int _column_no ,yyscan_t yyscanner );
YYSTYPE * jq_yyget_lval (yyscan_t yyscanner ); YYSTYPE * jq_yyget_lval (yyscan_t yyscanner );
void jq_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); void jq_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
YYLTYPE *jq_yyget_lloc (yyscan_t yyscanner ); YYLTYPE *jq_yyget_lloc (yyscan_t yyscanner );
void jq_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner ); void jq_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
/* Macros after this point can all be overridden by user definitions in /* Macros after this point can all be overridden by user definitions in
skipping to change at line 713 skipping to change at line 721
*/ */
#ifndef YY_SKIP_YYWRAP #ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus #ifdef __cplusplus
extern "C" int jq_yywrap (yyscan_t yyscanner ); extern "C" int jq_yywrap (yyscan_t yyscanner );
#else #else
extern int jq_yywrap (yyscan_t yyscanner ); extern int jq_yywrap (yyscan_t yyscanner );
#endif #endif
#endif #endif
#ifndef YY_NO_UNPUT
#endif
#ifndef yytext_ptr #ifndef yytext_ptr
static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
#endif #endif
#ifdef YY_NEED_STRLEN #ifdef YY_NEED_STRLEN
static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner); static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
#endif #endif
#ifndef YY_NO_INPUT #ifndef YY_NO_INPUT
#ifdef __cplusplus #ifdef __cplusplus
static int yyinput (yyscan_t yyscanner ); static int yyinput (yyscan_t yyscanner );
#else #else
static int input (yyscan_t yyscanner ); static int input (yyscan_t yyscanner );
#endif #endif
#endif #endif
static void yy_push_state (int new_state ,yyscan_t yyscanner); static void yy_push_state (int _new_state ,yyscan_t yyscanner);
static void yy_pop_state (yyscan_t yyscanner ); static void yy_pop_state (yyscan_t yyscanner );
static int yy_top_state (yyscan_t yyscanner ); static int yy_top_state (yyscan_t yyscanner );
/* Amount of stuff to slurp up with each read. */ /* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE #ifndef YY_READ_BUF_SIZE
#ifdef __ia64__ #ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k */ /* On IA-64, the buffer size is 16k, not 8k */
#define YY_READ_BUF_SIZE 16384 #define YY_READ_BUF_SIZE 16384
skipping to change at line 833 skipping to change at line 845
/* Code executed at the beginning of each rule, after yytext and yyleng /* Code executed at the beginning of each rule, after yytext and yyleng
* have been set up. * have been set up.
*/ */
#ifndef YY_USER_ACTION #ifndef YY_USER_ACTION
#define YY_USER_ACTION #define YY_USER_ACTION
#endif #endif
/* Code executed at the end of each rule. */ /* Code executed at the end of each rule. */
#ifndef YY_BREAK #ifndef YY_BREAK
#define YY_BREAK break; #define YY_BREAK /*LINTED*/break;
#endif #endif
#define YY_RULE_SETUP \ #define YY_RULE_SETUP \
YY_USER_ACTION YY_USER_ACTION
/** The main scanner function which does all the work. /** The main scanner function which does all the work.
*/ */
YY_DECL YY_DECL
{ {
register yy_state_type yy_current_state; yy_state_type yy_current_state;
register char *yy_cp, *yy_bp; char *yy_cp, *yy_bp;
register int yy_act; int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
#line 38 "lexer.l"
#line 857 "lexer.c"
yylval = yylval_param; yylval = yylval_param;
yylloc = yylloc_param; yylloc = yylloc_param;
if ( !yyg->yy_init ) if ( !yyg->yy_init )
{ {
yyg->yy_init = 1; yyg->yy_init = 1;
#ifdef YY_USER_INIT #ifdef YY_USER_INIT
YY_USER_INIT; YY_USER_INIT;
skipping to change at line 882 skipping to change at line 890
if ( ! YY_CURRENT_BUFFER ) { if ( ! YY_CURRENT_BUFFER ) {
jq_yyensure_buffer_stack (yyscanner); jq_yyensure_buffer_stack (yyscanner);
YY_CURRENT_BUFFER_LVALUE = YY_CURRENT_BUFFER_LVALUE =
jq_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); jq_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
} }
jq_yy_load_buffer_state(yyscanner ); jq_yy_load_buffer_state(yyscanner );
} }
while ( 1 ) /* loops until end-of-file is reached */ {
#line 38 "src/lexer.l"
#line 900 "src/lexer.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is rea
ched */
{ {
yy_cp = yyg->yy_c_buf_p; yy_cp = yyg->yy_c_buf_p;
/* Support of yytext. */ /* Support of yytext. */
*yy_cp = yyg->yy_hold_char; *yy_cp = yyg->yy_hold_char;
/* yy_bp points to the position in yy_ch_buf of the start of /* yy_bp points to the position in yy_ch_buf of the start of
* the current run. * the current run.
*/ */
yy_bp = yy_cp; yy_bp = yy_cp;
yy_current_state = yyg->yy_start; yy_current_state = yyg->yy_start;
yy_match: yy_match:
do do
{ {
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
if ( yy_accept[yy_current_state] ) if ( yy_accept[yy_current_state] )
{ {
yyg->yy_last_accepting_state = yy_current_state; yyg->yy_last_accepting_state = yy_current_state;
yyg->yy_last_accepting_cpos = yy_cp; yyg->yy_last_accepting_cpos = yy_cp;
} }
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_cu rrent_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_cu rrent_state )
{ {
yy_current_state = (int) yy_def[yy_current_state] ; yy_current_state = (int) yy_def[yy_current_state] ;
if ( yy_current_state >= 154 ) if ( yy_current_state >= 157 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (un signed int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (un signed int) yy_c];
++yy_cp; ++yy_cp;
} }
while ( yy_base[yy_current_state] != 319 ); while ( yy_base[yy_current_state] != 321 );
yy_find_action: yy_find_action:
yy_act = yy_accept[yy_current_state]; yy_act = yy_accept[yy_current_state];
if ( yy_act == 0 ) if ( yy_act == 0 )
{ /* have to back up */ { /* have to back up */
yy_cp = yyg->yy_last_accepting_cpos; yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state; yy_current_state = yyg->yy_last_accepting_state;
yy_act = yy_accept[yy_current_state]; yy_act = yy_accept[yy_current_state];
} }
skipping to change at line 939 skipping to change at line 952
{ /* beginning of action switch */ { /* beginning of action switch */
case 0: /* must back up */ case 0: /* must back up */
/* undo the effects of YY_DO_BEFORE_ACTION */ /* undo the effects of YY_DO_BEFORE_ACTION */
*yy_cp = yyg->yy_hold_char; *yy_cp = yyg->yy_hold_char;
yy_cp = yyg->yy_last_accepting_cpos; yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state; yy_current_state = yyg->yy_last_accepting_state;
goto yy_find_action; goto yy_find_action;
case 1: case 1:
YY_RULE_SETUP YY_RULE_SETUP
#line 40 "lexer.l" #line 40 "src/lexer.l"
{ /* comments */ } { /* comments */ }
YY_BREAK YY_BREAK
case 2: case 2:
YY_RULE_SETUP YY_RULE_SETUP
#line 42 "lexer.l" #line 42 "src/lexer.l"
{ return NEQ; } { return NEQ; }
YY_BREAK YY_BREAK
case 3: case 3:
YY_RULE_SETUP YY_RULE_SETUP
#line 43 "lexer.l" #line 43 "src/lexer.l"
{ return EQ; } { return EQ; }
YY_BREAK YY_BREAK
case 4: case 4:
YY_RULE_SETUP YY_RULE_SETUP
#line 44 "lexer.l" #line 44 "src/lexer.l"
{ return AS; } { return AS; }
YY_BREAK YY_BREAK
case 5: case 5:
YY_RULE_SETUP YY_RULE_SETUP
#line 45 "lexer.l" #line 45 "src/lexer.l"
{ return IMPORT; } { return IMPORT; }
YY_BREAK YY_BREAK
case 6: case 6:
YY_RULE_SETUP YY_RULE_SETUP
#line 46 "lexer.l" #line 46 "src/lexer.l"
{ return INCLUDE; } { return INCLUDE; }
YY_BREAK YY_BREAK
case 7: case 7:
YY_RULE_SETUP YY_RULE_SETUP
#line 47 "lexer.l" #line 47 "src/lexer.l"
{ return MODULE; } { return MODULE; }
YY_BREAK YY_BREAK
case 8: case 8:
YY_RULE_SETUP YY_RULE_SETUP
#line 48 "lexer.l" #line 48 "src/lexer.l"
{ return DEF; } { return DEF; }
YY_BREAK YY_BREAK
case 9: case 9:
YY_RULE_SETUP YY_RULE_SETUP
#line 49 "lexer.l" #line 49 "src/lexer.l"
{ return IF; } { return IF; }
YY_BREAK YY_BREAK
case 10: case 10:
YY_RULE_SETUP YY_RULE_SETUP
#line 50 "lexer.l" #line 50 "src/lexer.l"
{ return THEN; } { return THEN; }
YY_BREAK YY_BREAK
case 11: case 11:
YY_RULE_SETUP YY_RULE_SETUP
#line 51 "lexer.l" #line 51 "src/lexer.l"
{ return ELSE; } { return ELSE; }
YY_BREAK YY_BREAK
case 12: case 12:
YY_RULE_SETUP YY_RULE_SETUP
#line 52 "lexer.l" #line 52 "src/lexer.l"
{ return ELSE_IF; } { return ELSE_IF; }
YY_BREAK YY_BREAK
case 13: case 13:
YY_RULE_SETUP YY_RULE_SETUP
#line 53 "lexer.l" #line 53 "src/lexer.l"
{ return AND; } { return AND; }
YY_BREAK YY_BREAK
case 14: case 14:
YY_RULE_SETUP YY_RULE_SETUP
#line 54 "lexer.l" #line 54 "src/lexer.l"
{ return OR; } { return OR; }
YY_BREAK YY_BREAK
case 15: case 15:
YY_RULE_SETUP YY_RULE_SETUP
#line 55 "lexer.l" #line 55 "src/lexer.l"
{ return END; } { return END; }
YY_BREAK YY_BREAK
case 16: case 16:
YY_RULE_SETUP YY_RULE_SETUP
#line 56 "lexer.l" #line 56 "src/lexer.l"
{ return REDUCE; } { return REDUCE; }
YY_BREAK YY_BREAK
case 17: case 17:
YY_RULE_SETUP YY_RULE_SETUP
#line 57 "lexer.l" #line 57 "src/lexer.l"
{ return FOREACH; } { return FOREACH; }
YY_BREAK YY_BREAK
case 18: case 18:
YY_RULE_SETUP YY_RULE_SETUP
#line 58 "lexer.l" #line 58 "src/lexer.l"
{ return DEFINEDOR; } { return DEFINEDOR; }
YY_BREAK YY_BREAK
case 19: case 19:
YY_RULE_SETUP YY_RULE_SETUP
#line 59 "lexer.l" #line 59 "src/lexer.l"
{ return TRY; } { return TRY; }
YY_BREAK YY_BREAK
case 20: case 20:
YY_RULE_SETUP YY_RULE_SETUP
#line 60 "lexer.l" #line 60 "src/lexer.l"
{ return CATCH; } { return CATCH; }
YY_BREAK YY_BREAK
case 21: case 21:
YY_RULE_SETUP YY_RULE_SETUP
#line 61 "lexer.l" #line 61 "src/lexer.l"
{ return LABEL; } { return LABEL; }
YY_BREAK YY_BREAK
case 22: case 22:
YY_RULE_SETUP YY_RULE_SETUP
#line 62 "lexer.l" #line 62 "src/lexer.l"
{ return BREAK; } { return BREAK; }
YY_BREAK YY_BREAK
case 23: case 23:
YY_RULE_SETUP YY_RULE_SETUP
#line 63 "lexer.l" #line 63 "src/lexer.l"
{ return LOC; } { return LOC; }
YY_BREAK YY_BREAK
case 24: case 24:
YY_RULE_SETUP YY_RULE_SETUP
#line 64 "lexer.l" #line 64 "src/lexer.l"
{ return SETPIPE; } { return SETPIPE; }
YY_BREAK YY_BREAK
case 25: case 25:
YY_RULE_SETUP YY_RULE_SETUP
#line 65 "lexer.l" #line 65 "src/lexer.l"
{ return SETPLUS; } { return SETPLUS; }
YY_BREAK YY_BREAK
case 26: case 26:
YY_RULE_SETUP YY_RULE_SETUP
#line 66 "lexer.l" #line 66 "src/lexer.l"
{ return SETMINUS; } { return SETMINUS; }
YY_BREAK YY_BREAK
case 27: case 27:
YY_RULE_SETUP YY_RULE_SETUP
#line 67 "lexer.l" #line 67 "src/lexer.l"
{ return SETMULT; } { return SETMULT; }
YY_BREAK YY_BREAK
case 28: case 28:
YY_RULE_SETUP YY_RULE_SETUP
#line 68 "lexer.l" #line 68 "src/lexer.l"
{ return SETDIV; } { return SETDIV; }
YY_BREAK YY_BREAK
case 29: case 29:
YY_RULE_SETUP YY_RULE_SETUP
#line 69 "lexer.l" #line 69 "src/lexer.l"
{ return SETMOD; } { return SETMOD; }
YY_BREAK YY_BREAK
case 30: case 30:
YY_RULE_SETUP YY_RULE_SETUP
#line 70 "lexer.l" #line 70 "src/lexer.l"
{ return SETDEFINEDOR; } { return SETDEFINEDOR; }
YY_BREAK YY_BREAK
case 31: case 31:
YY_RULE_SETUP YY_RULE_SETUP
#line 71 "lexer.l" #line 71 "src/lexer.l"
{ return LESSEQ; } { return LESSEQ; }
YY_BREAK YY_BREAK
case 32: case 32:
YY_RULE_SETUP YY_RULE_SETUP
#line 72 "lexer.l" #line 72 "src/lexer.l"
{ return GREATEREQ; } { return GREATEREQ; }
YY_BREAK YY_BREAK
case 33: case 33:
YY_RULE_SETUP YY_RULE_SETUP
#line 73 "lexer.l" #line 73 "src/lexer.l"
{ return REC; } { return REC; }
YY_BREAK YY_BREAK
case 34: case 34:
YY_RULE_SETUP YY_RULE_SETUP
#line 74 "lexer.l" #line 74 "src/lexer.l"
{ return yytext[0];} { return ALTERNATION; }
YY_BREAK YY_BREAK
case 35: case 35:
YY_RULE_SETUP YY_RULE_SETUP
#line 76 "lexer.l" #line 75 "src/lexer.l"
{ return yytext[0];}
YY_BREAK
case 36:
YY_RULE_SETUP
#line 77 "src/lexer.l"
{ {
return enter(yytext[0], YY_START, yyscanner); return enter(yytext[0], YY_START, yyscanner);
} }
YY_BREAK YY_BREAK
case 36: case 37:
YY_RULE_SETUP YY_RULE_SETUP
#line 80 "lexer.l" #line 81 "src/lexer.l"
{ {
return try_exit(yytext[0], YY_START, yyscanner); return try_exit(yytext[0], YY_START, yyscanner);
} }
YY_BREAK YY_BREAK
case 37: case 38:
YY_RULE_SETUP YY_RULE_SETUP
#line 84 "lexer.l" #line 85 "src/lexer.l"
{ {
yylval->literal = jv_string_sized(yytext + 1, yyleng - 1); return FORMAT; yylval->literal = jv_string_sized(yytext + 1, yyleng - 1); return FORMAT;
} }
YY_BREAK YY_BREAK
case 38: case 39:
YY_RULE_SETUP YY_RULE_SETUP
#line 88 "lexer.l" #line 89 "src/lexer.l"
{ {
yylval->literal = jv_parse_sized(yytext, yyleng); return LITERAL; yylval->literal = jv_parse_sized(yytext, yyleng); return LITERAL;
} }
YY_BREAK YY_BREAK
case 39: case 40:
YY_RULE_SETUP YY_RULE_SETUP
#line 92 "lexer.l" #line 93 "src/lexer.l"
{ {
yy_push_state(IN_QQSTRING, yyscanner); yy_push_state(IN_QQSTRING, yyscanner);
return QQSTRING_START; return QQSTRING_START;
} }
YY_BREAK YY_BREAK
case 40: case 41:
YY_RULE_SETUP YY_RULE_SETUP
#line 98 "lexer.l" #line 99 "src/lexer.l"
{ {
return enter(QQSTRING_INTERP_START, YY_START, yyscanner); return enter(QQSTRING_INTERP_START, YY_START, yyscanner);
} }
YY_BREAK YY_BREAK
case 41: case 42:
YY_RULE_SETUP YY_RULE_SETUP
#line 101 "lexer.l" #line 102 "src/lexer.l"
{ {
yy_pop_state(yyscanner); yy_pop_state(yyscanner);
return QQSTRING_END; return QQSTRING_END;
} }
YY_BREAK YY_BREAK
case 42: case 43:
/* rule 42 can match eol */ /* rule 43 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 105 "lexer.l" #line 106 "src/lexer.l"
{ {
/* pass escapes to the json parser */ /* pass escapes to the json parser */
jv escapes = jv_string_fmt("\"%.*s\"", (int)yyleng, yytext); jv escapes = jv_string_fmt("\"%.*s\"", (int)yyleng, yytext);
yylval->literal = jv_parse_sized(jv_string_value(escapes), jv_string_length_ bytes(jv_copy(escapes))); yylval->literal = jv_parse_sized(jv_string_value(escapes), jv_string_length_ bytes(jv_copy(escapes)));
jv_free(escapes); jv_free(escapes);
return QQSTRING_TEXT; return QQSTRING_TEXT;
} }
YY_BREAK YY_BREAK
case 43: case 44:
/* rule 43 can match eol */ /* rule 44 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 112 "lexer.l" #line 113 "src/lexer.l"
{ {
yylval->literal = jv_string_sized(yytext, yyleng); yylval->literal = jv_string_sized(yytext, yyleng);
return QQSTRING_TEXT; return QQSTRING_TEXT;
} }
YY_BREAK YY_BREAK
case 44: case 45:
YY_RULE_SETUP YY_RULE_SETUP
#line 116 "lexer.l" #line 117 "src/lexer.l"
{ {
return INVALID_CHARACTER; return INVALID_CHARACTER;
} }
YY_BREAK YY_BREAK
case 45: case 46:
YY_RULE_SETUP YY_RULE_SETUP
#line 122 "lexer.l" #line 123 "src/lexer.l"
{ yylval->literal = jv_string(yytext); return IDENT;} { yylval->literal = jv_string(yytext); return IDENT;}
YY_BREAK YY_BREAK
case 46: case 47:
YY_RULE_SETUP YY_RULE_SETUP
#line 123 "lexer.l" #line 124 "src/lexer.l"
{ yylval->literal = jv_string(yytext+1); return FIELD;} { yylval->literal = jv_string(yytext+1); return FIELD;}
YY_BREAK YY_BREAK
case 47: case 48:
/* rule 47 can match eol */ /* rule 48 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 125 "lexer.l" #line 126 "src/lexer.l"
{} {}
YY_BREAK YY_BREAK
case 48: case 49:
YY_RULE_SETUP YY_RULE_SETUP
#line 127 "lexer.l" #line 128 "src/lexer.l"
{ return INVALID_CHARACTER; } { return INVALID_CHARACTER; }
YY_BREAK YY_BREAK
case 49: case 50:
YY_RULE_SETUP YY_RULE_SETUP
#line 129 "lexer.l" #line 130 "src/lexer.l"
YY_FATAL_ERROR( "flex scanner jammed" ); YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK YY_BREAK
#line 1221 "lexer.c" #line 1239 "src/lexer.c"
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(IN_PAREN): case YY_STATE_EOF(IN_PAREN):
case YY_STATE_EOF(IN_BRACKET): case YY_STATE_EOF(IN_BRACKET):
case YY_STATE_EOF(IN_BRACE): case YY_STATE_EOF(IN_BRACE):
case YY_STATE_EOF(IN_QQINTERP): case YY_STATE_EOF(IN_QQINTERP):
case YY_STATE_EOF(IN_QQSTRING): case YY_STATE_EOF(IN_QQSTRING):
yyterminate(); yyterminate();
case YY_END_OF_BUFFER: case YY_END_OF_BUFFER:
{ {
skipping to change at line 1350 skipping to change at line 1368
goto yy_find_action; goto yy_find_action;
} }
break; break;
} }
default: default:
YY_FATAL_ERROR( YY_FATAL_ERROR(
"fatal flex scanner internal error--no action found" ); "fatal flex scanner internal error--no action found" );
} /* end of action switch */ } /* end of action switch */
} /* end of scanning one token */ } /* end of scanning one token */
} /* end of user's declarations */
} /* end of jq_yylex */ } /* end of jq_yylex */
/* yy_get_next_buffer - try to read in a new buffer /* yy_get_next_buffer - try to read in a new buffer
* *
* Returns a code representing an action: * Returns a code representing an action:
* EOB_ACT_LAST_MATCH - * EOB_ACT_LAST_MATCH -
* EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
* EOB_ACT_END_OF_FILE - end of file * EOB_ACT_END_OF_FILE - end of file
*/ */
static int yy_get_next_buffer (yyscan_t yyscanner) static int yy_get_next_buffer (yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
register char *source = yyg->yytext_ptr; char *source = yyg->yytext_ptr;
register int number_to_move, i; yy_size_t number_to_move, i;
int ret_val; int ret_val;
if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_cha rs + 1] ) if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_cha rs + 1] )
YY_FATAL_ERROR( YY_FATAL_ERROR(
"fatal flex scanner internal error--end of buffer missed" ); "fatal flex scanner internal error--end of buffer missed" );
if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
{ /* Don't try to fill the buffer, so this is an EOF. */ { /* Don't try to fill the buffer, so this is an EOF. */
if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 ) if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
{ {
skipping to change at line 1393 skipping to change at line 1412
/* We matched some text prior to the EOB, first /* We matched some text prior to the EOB, first
* process it. * process it.
*/ */
return EOB_ACT_LAST_MATCH; return EOB_ACT_LAST_MATCH;
} }
} }
/* Try to read more data. */ /* Try to read more data. */
/* First move last chars to start of buffer. */ /* First move last chars to start of buffer. */
number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
for ( i = 0; i < number_to_move; ++i ) for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++); *(dest++) = *(source++);
if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
/* don't do the read, it's not guaranteed to return an EOF, /* don't do the read, it's not guaranteed to return an EOF,
* just force an EOF * just force an EOF
*/ */
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
else else
{ {
int num_to_read = yy_size_t num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 ) while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */ { /* Not enough room in the buffer - grow it. */
/* just a shorter name for the current buffer */ /* just a shorter name for the current buffer */
YY_BUFFER_STATE b = YY_CURRENT_BUFFER; YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
int yy_c_buf_p_offset = int yy_c_buf_p_offset =
(int) (yyg->yy_c_buf_p - b->yy_ch_buf); (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
if ( b->yy_is_our_buffer ) 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 ) if ( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8; b->yy_buf_size += b->yy_buf_size / 8;
else else
b->yy_buf_size *= 2; b->yy_buf_size *= 2;
b->yy_ch_buf = (char *) b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */ /* Include room in for 2 EOB chars. */
jq_yyrealloc((void *) b->yy_ch_buf,b->yy_ buf_size + 2 ,yyscanner ); jq_yyrealloc((void *) b->yy_ch_buf,b->yy_ buf_size + 2 ,yyscanner );
} }
skipping to change at line 1451 skipping to change at line 1470
num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
number_to_move - 1; number_to_move - 1;
} }
if ( num_to_read > YY_READ_BUF_SIZE ) if ( num_to_read > YY_READ_BUF_SIZE )
num_to_read = YY_READ_BUF_SIZE; num_to_read = YY_READ_BUF_SIZE;
/* Read in more data. */ /* Read in more data. */
YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
yyg->yy_n_chars, (size_t) num_to_read ); yyg->yy_n_chars, num_to_read );
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
} }
if ( yyg->yy_n_chars == 0 ) if ( yyg->yy_n_chars == 0 )
{ {
if ( number_to_move == YY_MORE_ADJ ) if ( number_to_move == YY_MORE_ADJ )
{ {
ret_val = EOB_ACT_END_OF_FILE; ret_val = EOB_ACT_END_OF_FILE;
jq_yyrestart(yyin ,yyscanner); jq_yyrestart(yyin ,yyscanner);
skipping to change at line 1475 skipping to change at line 1494
{ {
ret_val = EOB_ACT_LAST_MATCH; ret_val = EOB_ACT_LAST_MATCH;
YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
YY_BUFFER_EOF_PENDING; YY_BUFFER_EOF_PENDING;
} }
} }
else else
ret_val = EOB_ACT_CONTINUE_SCAN; ret_val = EOB_ACT_CONTINUE_SCAN;
if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LV ALUE->yy_buf_size) { if ((int) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE-> yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */ /* Extend the array by 50%, plus the number we really need. */
yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_ n_chars >> 1); int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_char s >> 1);
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) jq_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) jq_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buf fer()" ); YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buf fer()" );
} }
yyg->yy_n_chars += number_to_move; yyg->yy_n_chars += number_to_move;
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_C HAR; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_C HAR;
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFF ER_CHAR; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFF ER_CHAR;
yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
return ret_val; return ret_val;
} }
/* yy_get_previous_state - get the state just before the EOB char was reached */ /* yy_get_previous_state - get the state just before the EOB char was reached */
static yy_state_type yy_get_previous_state (yyscan_t yyscanner) static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
{ {
register yy_state_type yy_current_state; yy_state_type yy_current_state;
register char *yy_cp; char *yy_cp;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yy_current_state = yyg->yy_start; yy_current_state = yyg->yy_start;
for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++y y_cp ) for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++y y_cp )
{ {
register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1) ; YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] ) if ( yy_accept[yy_current_state] )
{ {
yyg->yy_last_accepting_state = yy_current_state; yyg->yy_last_accepting_state = yy_current_state;
yyg->yy_last_accepting_cpos = yy_cp; yyg->yy_last_accepting_cpos = yy_cp;
} }
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_st ate ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_st ate )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 154 ) if ( yy_current_state >= 157 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned i nt) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned i nt) yy_c];
} }
return yy_current_state; return yy_current_state;
} }
/* yy_try_NUL_trans - try to make a transition on the NUL character /* yy_try_NUL_trans - try to make a transition on the NUL character
* *
* synopsis * synopsis
* next_state = yy_try_NUL_trans( current_state ); * next_state = yy_try_NUL_trans( current_state );
*/ */
static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yys can_t yyscanner) static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yys can_t yyscanner)
{ {
register int yy_is_jam; int yy_is_jam;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unus ed depending upon options. */ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unus ed depending upon options. */
register char *yy_cp = yyg->yy_c_buf_p; char *yy_cp = yyg->yy_c_buf_p;
register YY_CHAR yy_c = 1; YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] ) if ( yy_accept[yy_current_state] )
{ {
yyg->yy_last_accepting_state = yy_current_state; yyg->yy_last_accepting_state = yy_current_state;
yyg->yy_last_accepting_cpos = yy_cp; yyg->yy_last_accepting_cpos = yy_cp;
} }
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 154 ) if ( yy_current_state >= 157 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c ]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c ];
yy_is_jam = (yy_current_state == 153); yy_is_jam = (yy_current_state == 156);
(void)yyg;
return yy_is_jam ? 0 : yy_current_state; return yy_is_jam ? 0 : yy_current_state;
} }
#ifndef YY_NO_UNPUT
#endif
#ifndef YY_NO_INPUT #ifndef YY_NO_INPUT
#ifdef __cplusplus #ifdef __cplusplus
static int yyinput (yyscan_t yyscanner) static int yyinput (yyscan_t yyscanner)
#else #else
static int input (yyscan_t yyscanner) static int input (yyscan_t yyscanner)
#endif #endif
{ {
int c; int c;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
skipping to change at line 1576 skipping to change at line 1600
/* yy_c_buf_p now points to the character we want to return. /* yy_c_buf_p now points to the character we want to return.
* If this occurs *before* the EOB characters, then it's a * If this occurs *before* the EOB characters, then it's a
* valid NUL; if not, then we've hit the end of the buffer. * valid NUL; if not, then we've hit the end of the buffer.
*/ */
if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg-> yy_n_chars] ) if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg-> yy_n_chars] )
/* This was really a NUL. */ /* This was really a NUL. */
*yyg->yy_c_buf_p = '\0'; *yyg->yy_c_buf_p = '\0';
else else
{ /* need more input */ { /* need more input */
int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
++yyg->yy_c_buf_p; ++yyg->yy_c_buf_p;
switch ( yy_get_next_buffer( yyscanner ) ) switch ( yy_get_next_buffer( yyscanner ) )
{ {
case EOB_ACT_LAST_MATCH: case EOB_ACT_LAST_MATCH:
/* This happens because yy_g_n_b() /* This happens because yy_g_n_b()
* sees that we've accumulated a * sees that we've accumulated a
* token and flags that we need to * token and flags that we need to
* try matching the token before * try matching the token before
* proceeding. But for input(), * proceeding. But for input(),
skipping to change at line 1704 skipping to change at line 1728
* @return the allocated buffer state. * @return the allocated buffer state.
*/ */
YY_BUFFER_STATE jq_yy_create_buffer (FILE * file, int size , yyscan_t yysc anner) YY_BUFFER_STATE jq_yy_create_buffer (FILE * file, int size , yyscan_t yysc anner)
{ {
YY_BUFFER_STATE b; YY_BUFFER_STATE b;
b = (YY_BUFFER_STATE) jq_yyalloc(sizeof( struct yy_buffer_state ) ,yyscan ner ); b = (YY_BUFFER_STATE) jq_yyalloc(sizeof( struct yy_buffer_state ) ,yyscan ner );
if ( ! b ) if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in jq_yy_create_buffer()" ); YY_FATAL_ERROR( "out of dynamic memory in jq_yy_create_buffer()" );
b->yy_buf_size = size; b->yy_buf_size = (yy_size_t)size;
/* yy_ch_buf has to be 2 characters longer than the size given because /* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters. * we need to put in 2 end-of-buffer characters.
*/ */
b->yy_ch_buf = (char *) jq_yyalloc(b->yy_buf_size + 2 ,yyscanner ); b->yy_ch_buf = (char *) jq_yyalloc(b->yy_buf_size + 2 ,yyscanner );
if ( ! b->yy_ch_buf ) if ( ! b->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in jq_yy_create_buffer()" ); YY_FATAL_ERROR( "out of dynamic memory in jq_yy_create_buffer()" );
b->yy_is_our_buffer = 1; b->yy_is_our_buffer = 1;
skipping to change at line 1740 skipping to change at line 1764
if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
if ( b->yy_is_our_buffer ) if ( b->yy_is_our_buffer )
jq_yyfree((void *) b->yy_ch_buf ,yyscanner ); jq_yyfree((void *) b->yy_ch_buf ,yyscanner );
jq_yyfree((void *) b ,yyscanner ); jq_yyfree((void *) b ,yyscanner );
} }
#ifndef __cplusplus
extern int isatty (int );
#endif /* __cplusplus */
/* Initializes or reinitializes a buffer. /* Initializes or reinitializes a buffer.
* This function is sometimes called more than once on the same buffer, * This function is sometimes called more than once on the same buffer,
* such as during a jq_yyrestart() or at EOF. * such as during a jq_yyrestart() or at EOF.
*/ */
static void jq_yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t y yscanner) static void jq_yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t y yscanner)
{ {
int oerrno = errno; int oerrno = errno;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
skipping to change at line 1860 skipping to change at line 1880
jq_yy_load_buffer_state(yyscanner ); jq_yy_load_buffer_state(yyscanner );
yyg->yy_did_buffer_switch_on_eof = 1; yyg->yy_did_buffer_switch_on_eof = 1;
} }
} }
/* Allocates the stack if it does not exist. /* Allocates the stack if it does not exist.
* Guarantees space for at least one push. * Guarantees space for at least one push.
*/ */
static void jq_yyensure_buffer_stack (yyscan_t yyscanner) static void jq_yyensure_buffer_stack (yyscan_t yyscanner)
{ {
int num_to_alloc; yy_size_t num_to_alloc;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if (!yyg->yy_buffer_stack) { if (!yyg->yy_buffer_stack) {
/* First allocation is just for 2 elements, since we don't know i f this /* First allocation is just for 2 elements, since we don't know i f this
* scanner will even need a stack. We use 2 instead of 1 to avoid an * scanner will even need a stack. We use 2 instead of 1 to avoid an
* immediate realloc on the next call. * immediate realloc on the next call.
*/ */
num_to_alloc = 1; num_to_alloc = 1; /* After all that talk, this was set to 1 anywa ys... */
yyg->yy_buffer_stack = (struct yy_buffer_state**)jq_yyalloc yyg->yy_buffer_stack = (struct yy_buffer_state**)jq_yyalloc
(num_to_alloc * s izeof(struct yy_buffer_state*) (num_to_alloc * s izeof(struct yy_buffer_state*)
, yyscanner); , yyscanner);
if ( ! yyg->yy_buffer_stack ) if ( ! yyg->yy_buffer_stack )
YY_FATAL_ERROR( "out of dynamic memory in jq_yyensure_buf fer_stack()" ); YY_FATAL_ERROR( "out of dynamic memory in jq_yyensure_buf fer_stack()" );
memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_b uffer_state*)); memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_b uffer_state*));
yyg->yy_buffer_stack_max = num_to_alloc; yyg->yy_buffer_stack_max = num_to_alloc;
yyg->yy_buffer_stack_top = 0; yyg->yy_buffer_stack_top = 0;
return; return;
} }
if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){ if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
/* Increase the buffer to prepare for a possible push. */ /* Increase the buffer to prepare for a possible push. */
int grow_size = 8 /* arbitrary grow size */; yy_size_t grow_size = 8 /* arbitrary grow size */;
num_to_alloc = yyg->yy_buffer_stack_max + grow_size; num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
yyg->yy_buffer_stack = (struct yy_buffer_state**)jq_yyrealloc yyg->yy_buffer_stack = (struct yy_buffer_state**)jq_yyrealloc
(yyg->yy_buffer_s tack, (yyg->yy_buffer_s tack,
num_to_alloc * si zeof(struct yy_buffer_state*) num_to_alloc * si zeof(struct yy_buffer_state*)
, yyscanner); , yyscanner);
if ( ! yyg->yy_buffer_stack ) if ( ! yyg->yy_buffer_stack )
YY_FATAL_ERROR( "out of dynamic memory in jq_yyensure_buf fer_stack()" ); YY_FATAL_ERROR( "out of dynamic memory in jq_yyensure_buf fer_stack()" );
/* zero only the new slots.*/ /* zero only the new slots.*/
skipping to change at line 1958 skipping to change at line 1978
return jq_yy_scan_bytes(yystr,strlen(yystr) ,yyscanner); return jq_yy_scan_bytes(yystr,strlen(yystr) ,yyscanner);
} }
/** Setup the input buffer state to scan the given bytes. The next call to jq_yy lex() will /** Setup the input buffer state to scan the given bytes. The next call to jq_yy lex() will
* scan from a @e copy of @a bytes. * scan from a @e copy of @a bytes.
* @param yybytes the byte buffer to scan * @param yybytes the byte buffer to scan
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
* @return the newly allocated buffer state object. * @return the newly allocated buffer state object.
*/ */
YY_BUFFER_STATE jq_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len , y yscan_t yyscanner) YY_BUFFER_STATE jq_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_l en , yyscan_t yyscanner)
{ {
YY_BUFFER_STATE b; YY_BUFFER_STATE b;
char *buf; char *buf;
yy_size_t n; yy_size_t n;
int i; yy_size_t i;
/* Get memory for full buffer, including space for trailing EOB's. */ /* Get memory for full buffer, including space for trailing EOB's. */
n = _yybytes_len + 2; n = _yybytes_len + 2;
buf = (char *) jq_yyalloc(n ,yyscanner ); buf = (char *) jq_yyalloc(n ,yyscanner );
if ( ! buf ) if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in jq_yy_scan_bytes()" ); YY_FATAL_ERROR( "out of dynamic memory in jq_yy_scan_bytes()" );
for ( i = 0; i < _yybytes_len; ++i ) for ( i = 0; i < _yybytes_len; ++i )
buf[i] = yybytes[i]; buf[i] = yybytes[i];
skipping to change at line 1988 skipping to change at line 2008
YY_FATAL_ERROR( "bad buffer in jq_yy_scan_bytes()" ); YY_FATAL_ERROR( "bad buffer in jq_yy_scan_bytes()" );
/* It's okay to grow etc. this buffer, and we should throw it /* It's okay to grow etc. this buffer, and we should throw it
* away when we're done. * away when we're done.
*/ */
b->yy_is_our_buffer = 1; b->yy_is_our_buffer = 1;
return b; return b;
} }
static void yy_push_state (int new_state , yyscan_t yyscanner) static void yy_push_state (int _new_state , yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if ( yyg->yy_start_stack_ptr >= yyg->yy_start_stack_depth ) if ( yyg->yy_start_stack_ptr >= yyg->yy_start_stack_depth )
{ {
yy_size_t new_size; yy_size_t new_size;
yyg->yy_start_stack_depth += YY_START_STACK_INCR; yyg->yy_start_stack_depth += YY_START_STACK_INCR;
new_size = yyg->yy_start_stack_depth * sizeof( int ); new_size = yyg->yy_start_stack_depth * sizeof( int );
if ( ! yyg->yy_start_stack ) if ( ! yyg->yy_start_stack )
skipping to change at line 2010 skipping to change at line 2030
else else
yyg->yy_start_stack = (int *) jq_yyrealloc((void *) yyg-> yy_start_stack,new_size ,yyscanner ); yyg->yy_start_stack = (int *) jq_yyrealloc((void *) yyg-> yy_start_stack,new_size ,yyscanner );
if ( ! yyg->yy_start_stack ) if ( ! yyg->yy_start_stack )
YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
} }
yyg->yy_start_stack[yyg->yy_start_stack_ptr++] = YY_START; yyg->yy_start_stack[yyg->yy_start_stack_ptr++] = YY_START;
BEGIN(new_state); BEGIN(_new_state);
} }
static void yy_pop_state (yyscan_t yyscanner) static void yy_pop_state (yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if ( --yyg->yy_start_stack_ptr < 0 ) if ( --yyg->yy_start_stack_ptr < 0 )
YY_FATAL_ERROR( "start-condition stack underflow" ); YY_FATAL_ERROR( "start-condition stack underflow" );
BEGIN(yyg->yy_start_stack[yyg->yy_start_stack_ptr]); BEGIN(yyg->yy_start_stack[yyg->yy_start_stack_ptr]);
} }
skipping to change at line 2034 skipping to change at line 2054
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yyg->yy_start_stack[yyg->yy_start_stack_ptr - 1]; return yyg->yy_start_stack[yyg->yy_start_stack_ptr - 1];
} }
#ifndef YY_EXIT_FAILURE #ifndef YY_EXIT_FAILURE
#define YY_EXIT_FAILURE 2 #define YY_EXIT_FAILURE 2
#endif #endif
static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
{ {
(void) fprintf( stderr, "%s\n", msg ); struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
(void)yyg;
(void) fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE ); exit( YY_EXIT_FAILURE );
} }
/* Redefine yyless() so it works in section 3 code. */ /* Redefine yyless() so it works in section 3 code. */
#undef yyless #undef yyless
#define yyless(n) \ #define yyless(n) \
do \ do \
{ \ { \
/* Undo effects of setting up yytext. */ \ /* Undo effects of setting up yytext. */ \
skipping to change at line 2113 skipping to change at line 2135
*/ */
FILE *jq_yyget_out (yyscan_t yyscanner) FILE *jq_yyget_out (yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yyout; return yyout;
} }
/** Get the length of the current token. /** Get the length of the current token.
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
*/ */
int jq_yyget_leng (yyscan_t yyscanner) yy_size_t jq_yyget_leng (yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yyleng; return yyleng;
} }
/** Get the current token. /** Get the current token.
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
*/ */
char *jq_yyget_text (yyscan_t yyscanner) char *jq_yyget_text (yyscan_t yyscanner)
skipping to change at line 2140 skipping to change at line 2162
* @param user_defined The data to be associated with this scanner. * @param user_defined The data to be associated with this scanner.
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
*/ */
void jq_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner) void jq_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yyextra = user_defined ; yyextra = user_defined ;
} }
/** Set the current line number. /** Set the current line number.
* @param line_number * @param _line_number line number
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
*/ */
void jq_yyset_lineno (int line_number , yyscan_t yyscanner) void jq_yyset_lineno (int _line_number , yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
/* lineno is only valid if an input buffer exists. */ /* lineno is only valid if an input buffer exists. */
if (! YY_CURRENT_BUFFER ) if (! YY_CURRENT_BUFFER )
yy_fatal_error( "jq_yyset_lineno called with no buffer" , yyscanner); YY_FATAL_ERROR( "jq_yyset_lineno called with no buffer" );
yylineno = line_number; yylineno = _line_number;
} }
/** Set the current column. /** Set the current column.
* @param line_number * @param _column_no column number
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
*/ */
void jq_yyset_column (int column_no , yyscan_t yyscanner) void jq_yyset_column (int _column_no , yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
/* column is only valid if an input buffer exists. */ /* column is only valid if an input buffer exists. */
if (! YY_CURRENT_BUFFER ) if (! YY_CURRENT_BUFFER )
yy_fatal_error( "jq_yyset_column called with no buffer" , yyscanner); YY_FATAL_ERROR( "jq_yyset_column called with no buffer" );
yycolumn = column_no; yycolumn = _column_no;
} }
/** Set the input stream. This does not discard the current /** Set the input stream. This does not discard the current
* input buffer. * input buffer.
* @param in_str A readable stream. * @param _in_str A readable stream.
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
* @see jq_yy_switch_to_buffer * @see jq_yy_switch_to_buffer
*/ */
void jq_yyset_in (FILE * in_str , yyscan_t yyscanner) void jq_yyset_in (FILE * _in_str , yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yyin = in_str ; yyin = _in_str ;
} }
void jq_yyset_out (FILE * out_str , yyscan_t yyscanner) void jq_yyset_out (FILE * _out_str , yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yyout = out_str ; yyout = _out_str ;
} }
int jq_yyget_debug (yyscan_t yyscanner) int jq_yyget_debug (yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yy_flex_debug; return yy_flex_debug;
} }
void jq_yyset_debug (int bdebug , yyscan_t yyscanner) void jq_yyset_debug (int _bdebug , yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yy_flex_debug = bdebug ; yy_flex_debug = _bdebug ;
} }
/* Accessor methods for yylval and yylloc */ /* Accessor methods for yylval and yylloc */
YYSTYPE * jq_yyget_lval (yyscan_t yyscanner) YYSTYPE * jq_yyget_lval (yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yylval; return yylval;
} }
skipping to change at line 2359 skipping to change at line 2381
return 0; return 0;
} }
/* /*
* Internal utility routines. * Internal utility routines.
*/ */
#ifndef yytext_ptr #ifndef yytext_ptr
static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yysca nner) static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yysca nner)
{ {
register int i; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
(void)yyg;
int i;
for ( i = 0; i < n; ++i ) for ( i = 0; i < n; ++i )
s1[i] = s2[i]; s1[i] = s2[i];
} }
#endif #endif
#ifdef YY_NEED_STRLEN #ifdef YY_NEED_STRLEN
static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
{ {
register int n; int n;
for ( n = 0; s[n]; ++n ) for ( n = 0; s[n]; ++n )
; ;
return n; return n;
} }
#endif #endif
#define YYTABLES_NAME "yytables" #define YYTABLES_NAME "yytables"
#line 129 "lexer.l" #line 130 "src/lexer.l"
/* perhaps these should be calls... */ /* perhaps these should be calls... */
/* /*
"true" { return TRUE; } "true" { return TRUE; }
"false" { return FALSE; } "false" { return FALSE; }
"null" { return NULL; } "null" { return NULL; }
*/ */
static int try_exit(int c, int state, yyscan_t yyscanner) { static int try_exit(int c, int state, yyscan_t yyscanner) {
char match = 0; char match = 0;
int ret; int ret;
 End of changes. 152 change blocks. 
288 lines changed or deleted 314 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)