|
OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
#include <stdio.h>#include <string.h>#include <errno.h>#include <stdlib.h>#include <assert.h>#include <string>#include <sstream>#include <iostream>#include "config_hdf5.h"#include "parser.h"#include "he5das.tab.hh"#include <unistd.h>
Go to the source code of this file.
Typedefs | |
| typedef short int | flex_int16_t |
| typedef int | flex_int32_t |
| typedef signed char | flex_int8_t |
| typedef unsigned short int | flex_uint16_t |
| typedef unsigned int | flex_uint32_t |
| typedef unsigned char | flex_uint8_t |
| typedef struct yy_buffer_state * | YY_BUFFER_STATE |
| typedef unsigned char | YY_CHAR |
| typedef size_t | yy_size_t |
| typedef int | yy_state_type |
Functions | |
| YY_BUFFER_STATE | he5das_create_buffer (FILE *file, int size) |
| Allocate and initialize an input buffer state. More... | |
| void | he5das_delete_buffer (YY_BUFFER_STATE b) |
| Destroy the buffer. More... | |
| void | he5das_flush_buffer (YY_BUFFER_STATE b) |
| Discard all buffered characters. More... | |
| YY_BUFFER_STATE | he5das_scan_buffer (char *base, yy_size_t size) |
| Setup the input buffer state to scan directly from a user-specified character buffer. More... | |
| YY_BUFFER_STATE | he5das_scan_bytes (yyconst char *yybytes, yy_size_t _yybytes_len) |
| Setup the input buffer state to scan the given bytes. More... | |
| YY_BUFFER_STATE | he5das_scan_string (yyconst char *yystr) |
| Setup the input buffer state to scan a string. More... | |
| void | he5das_switch_to_buffer (YY_BUFFER_STATE new_buffer) |
| Switch to a different input buffer. More... | |
| void * | he5dasalloc (yy_size_t) |
| void | he5dasfree (void *) |
| int | he5dasget_debug (void) |
| YY_EXTRA_TYPE | he5dasget_extra (void) |
| FILE * | he5dasget_in (void) |
| Get the input stream. More... | |
| yy_size_t | he5dasget_leng (void) |
| Get the length of the current token. More... | |
| int | he5dasget_lineno (void) |
| Get the current line number. More... | |
| FILE * | he5dasget_out (void) |
| Get the output stream. More... | |
| char * | he5dasget_text (void) |
| Get the current token. More... | |
| int | he5daslex_destroy (void) |
| void | he5daspop_buffer_state (void) |
| Removes and deletes the top of the stack, if present. More... | |
| void | he5daspush_buffer_state (YY_BUFFER_STATE new_buffer) |
| Pushes the new state onto the stack. More... | |
| void * | he5dasrealloc (void *, yy_size_t) |
| void | he5dasrestart (FILE *input_file) |
| Immediately switch to a different input stream. More... | |
| void | he5dasset_debug (int debug_flag) |
| void | he5dasset_extra (YY_EXTRA_TYPE user_defined) |
| void | he5dasset_in (FILE *in_str) |
| Set the input stream. More... | |
| void | he5dasset_lineno (int line_number) |
| Set the current line number. More... | |
| void | he5dasset_out (FILE *out_str) |
| if (!(yy_init)) | |
| int | isatty (int) |
| while (1) | |
Variables | |
| int | he5das_flex_debug = 0 |
| int | he5das_line_num = 1 |
| FILE * | he5dasin = (FILE *) 0 |
| yy_size_t | he5dasleng |
| int | he5daslineno = 1 |
| FILE * | he5dasout = (FILE *) 0 |
| char * | he5dastext |
| register int | yy_act |
| register char * | yy_bp |
| register char * | yy_cp |
| YY_DECL register yy_state_type | yy_current_state |
| The main scanner function which does all the work. More... | |
| #define BEGIN (yy_start) = 1 + 2 * |
Definition at line 145 of file lex.he5das.cc.
Referenced by while().
| #define comment 2 |
Definition at line 626 of file lex.he5das.cc.
Referenced by while().
| #define ECHO if (fwrite( he5dastext, he5dasleng, 1, he5dasout )) {} |
Definition at line 602 of file lex.he5das.cc.
Referenced by while().
| #define EOB_ACT_CONTINUE_SCAN 0 |
Definition at line 185 of file lex.he5das.cc.
Referenced by while().
| #define EOB_ACT_END_OF_FILE 1 |
Definition at line 186 of file lex.he5das.cc.
Referenced by while().
| #define EOB_ACT_LAST_MATCH 2 |
Definition at line 187 of file lex.he5das.cc.
Referenced by while().
| #define FLEX_BETA |
Definition at line 33 of file lex.he5das.cc.
| #define FLEX_SCANNER |
Definition at line 28 of file lex.he5das.cc.
| #define FLEXINT_H |
Definition at line 49 of file lex.he5das.cc.
| #define he5daswrap | ( | n | ) | 1 |
Definition at line 355 of file lex.he5das.cc.
Referenced by while().
| #define INITIAL 0 |
Definition at line 624 of file lex.he5das.cc.
Referenced by while().
| #define INT16_MAX (32767) |
Definition at line 93 of file lex.he5das.cc.
| #define INT16_MIN (-32767-1) |
Definition at line 84 of file lex.he5das.cc.
| #define INT32_MAX (2147483647) |
Definition at line 96 of file lex.he5das.cc.
| #define INT32_MIN (-2147483647-1) |
Definition at line 87 of file lex.he5das.cc.
| #define INT8_MAX (127) |
Definition at line 90 of file lex.he5das.cc.
| #define INT8_MIN (-128) |
Definition at line 81 of file lex.he5das.cc.
| #define quote 1 |
Definition at line 625 of file lex.he5das.cc.
Referenced by while().
| #define REJECT reject_used_but_not_detected |
Definition at line 540 of file lex.he5das.cc.
| #define UINT16_MAX (65535U) |
Definition at line 102 of file lex.he5das.cc.
| #define UINT32_MAX (4294967295U) |
Definition at line 105 of file lex.he5das.cc.
| #define UINT8_MAX (255U) |
Definition at line 99 of file lex.he5das.cc.
| #define unput | ( | c | ) | yyunput( c, (yytext_ptr) ) |
Definition at line 205 of file lex.he5das.cc.
| #define YY_AT_BOL | ( | ) | (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) |
Definition at line 351 of file lex.he5das.cc.
| #define YY_BREAK break; |
Definition at line 792 of file lex.he5das.cc.
Referenced by while().
| #define YY_BUF_SIZE 16384 |
Definition at line 164 of file lex.he5das.cc.
Referenced by he5dasrestart(), and if().
| #define YY_BUFFER_EOF_PENDING 2 |
Definition at line 267 of file lex.he5das.cc.
| #define YY_BUFFER_NEW 0 |
Definition at line 255 of file lex.he5das.cc.
Referenced by he5das_flush_buffer(), he5das_scan_buffer(), and while().
| #define YY_BUFFER_NORMAL 1 |
Definition at line 256 of file lex.he5das.cc.
Referenced by while().
| #define yy_create_buffer he5das_create_buffer |
Definition at line 9 of file lex.he5das.cc.
| #define YY_CURRENT_BUFFER |
Definition at line 283 of file lex.he5das.cc.
Referenced by he5das_delete_buffer(), he5das_flush_buffer(), he5das_switch_to_buffer(), he5daslex_destroy(), he5daspop_buffer_state(), he5daspush_buffer_state(), he5dasrestart(), and if().
| #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] |
Definition at line 290 of file lex.he5das.cc.
Referenced by he5das_delete_buffer(), he5das_switch_to_buffer(), he5daslex_destroy(), he5daspop_buffer_state(), he5daspush_buffer_state(), he5dasrestart(), if(), and while().
Definition at line 600 of file lex.he5das.cc.
| #define yy_delete_buffer he5das_delete_buffer |
Definition at line 10 of file lex.he5das.cc.
| #define YY_DO_BEFORE_ACTION |
Definition at line 379 of file lex.he5das.cc.
Referenced by while().
| #define YY_END_OF_BUFFER 31 |
Definition at line 388 of file lex.he5das.cc.
Referenced by while().
| #define YY_END_OF_BUFFER_CHAR 0 |
Definition at line 160 of file lex.he5das.cc.
Referenced by he5das_flush_buffer(), he5das_scan_buffer(), and he5das_scan_bytes().
| #define YY_EXIT_FAILURE 2 |
Definition at line 1884 of file lex.he5das.cc.
| #define YY_EXTRA_TYPE void * |
Definition at line 637 of file lex.he5das.cc.
| #define YY_FATAL_ERROR | ( | msg | ) | yy_fatal_error( msg ) |
Definition at line 767 of file lex.he5das.cc.
Referenced by he5das_create_buffer(), he5das_scan_buffer(), he5das_scan_bytes(), and while().
| #define yy_flex_debug he5das_flex_debug |
Definition at line 11 of file lex.he5das.cc.
| #define YY_FLEX_MAJOR_VERSION 2 |
Definition at line 29 of file lex.he5das.cc.
| #define YY_FLEX_MINOR_VERSION 5 |
Definition at line 30 of file lex.he5das.cc.
| #define YY_FLEX_SUBMINOR_VERSION 35 |
Definition at line 31 of file lex.he5das.cc.
| #define yy_flush_buffer he5das_flush_buffer |
Definition at line 13 of file lex.he5das.cc.
| #define YY_FLUSH_BUFFER he5das_flush_buffer(YY_CURRENT_BUFFER ) |
Definition at line 319 of file lex.he5das.cc.
| #define yy_init_buffer he5das_init_buffer |
Definition at line 12 of file lex.he5das.cc.
| #define YY_INPUT | ( | buf, | |
| result, | |||
| max_size | |||
| ) |
Definition at line 720 of file lex.he5das.cc.
| #define YY_INT_ALIGNED short int |
Definition at line 5 of file lex.he5das.cc.
| #define YY_LESS_LINENO | ( | n | ) |
Definition at line 189 of file lex.he5das.cc.
| #define yy_load_buffer_state he5das_load_buffer_state |
Definition at line 14 of file lex.he5das.cc.
| #define YY_MORE_ADJ (yy_more_len) |
Definition at line 544 of file lex.he5das.cc.
Referenced by while().
| #define yy_new_buffer he5das_create_buffer |
Definition at line 329 of file lex.he5das.cc.
| #define YY_NEW_FILE he5dasrestart(he5dasin ) |
Definition at line 158 of file lex.he5das.cc.
Referenced by while().
| #define YY_NULL 0 |
Definition at line 132 of file lex.he5das.cc.
| #define YY_NUM_RULES 30 |
Definition at line 387 of file lex.he5das.cc.
| #define YY_PROTO | ( | proto | ) | proto |
Definition at line 597 of file lex.he5das.cc.
| #define YY_READ_BUF_SIZE 16384 |
Definition at line 601 of file lex.he5das.cc.
| #define YY_RESTORE_YY_MORE_OFFSET |
Definition at line 545 of file lex.he5das.cc.
Referenced by while().
| #define YY_RULE_SETUP YY_USER_ACTION |
Definition at line 795 of file lex.he5das.cc.
Referenced by while().
| #define YY_SC_TO_UI | ( | c | ) | ((unsigned int) (unsigned char) c) |
Definition at line 139 of file lex.he5das.cc.
Referenced by while().
| #define yy_set_bol | ( | at_bol | ) |
Definition at line 341 of file lex.he5das.cc.
| #define yy_set_interactive | ( | is_interactive | ) |
Definition at line 331 of file lex.he5das.cc.
| #define YY_SKIP_YYWRAP |
Definition at line 356 of file lex.he5das.cc.
| #define YY_START (((yy_start) - 1) / 2) |
Definition at line 151 of file lex.he5das.cc.
Referenced by while().
| #define YY_START_STACK_INCR 25 |
Definition at line 762 of file lex.he5das.cc.
| #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) |
Definition at line 169 of file lex.he5das.cc.
| #define YY_STATE_EOF | ( | state | ) | (YY_END_OF_BUFFER + state + 1) |
Definition at line 155 of file lex.he5das.cc.
Referenced by while().
| #define YY_STRUCT_YY_BUFFER_STATE |
Definition at line 208 of file lex.he5das.cc.
| #define yy_switch_to_buffer he5das_switch_to_buffer |
Definition at line 15 of file lex.he5das.cc.
| #define YY_TYPEDEF_YY_BUFFER_STATE |
Definition at line 172 of file lex.he5das.cc.
| #define YY_TYPEDEF_YY_SIZE_T |
Definition at line 177 of file lex.he5das.cc.
| #define YY_USER_ACTION |
Definition at line 787 of file lex.he5das.cc.
| #define yyalloc he5dasalloc |
Definition at line 24 of file lex.he5das.cc.
| #define yyconst |
Definition at line 128 of file lex.he5das.cc.
| #define yyfree he5dasfree |
Definition at line 26 of file lex.he5das.cc.
| #define yyin he5dasin |
Definition at line 16 of file lex.he5das.cc.
| #define yyleng he5dasleng |
Definition at line 17 of file lex.he5das.cc.
| #define yyless | ( | n | ) |
Definition at line 1896 of file lex.he5das.cc.
| #define yyless | ( | n | ) |
Definition at line 1896 of file lex.he5das.cc.
| #define yylex he5daslex |
Definition at line 18 of file lex.he5das.cc.
| #define yylineno he5daslineno |
Definition at line 19 of file lex.he5das.cc.
| #define yymore | ( | ) | ((yy_more_flag) = 1) |
Definition at line 543 of file lex.he5das.cc.
Referenced by while().
| #define yyout he5dasout |
Definition at line 20 of file lex.he5das.cc.
| #define yyrealloc he5dasrealloc |
Definition at line 25 of file lex.he5das.cc.
| #define yyrestart he5dasrestart |
Definition at line 21 of file lex.he5das.cc.
| #define YYSTATE YY_START |
Definition at line 152 of file lex.he5das.cc.
| #define YYSTYPE char * |
Definition at line 599 of file lex.he5das.cc.
| #define YYTABLES_NAME "yytables" |
Definition at line 2086 of file lex.he5das.cc.
| #define yyterminate | ( | ) | return YY_NULL |
Definition at line 757 of file lex.he5das.cc.
Referenced by while().
| #define yytext he5dastext |
Definition at line 22 of file lex.he5das.cc.
| #define yytext_ptr he5dastext |
Definition at line 369 of file lex.he5das.cc.
Referenced by while().
| #define yywrap he5daswrap |
Definition at line 23 of file lex.he5das.cc.
| typedef short int flex_int16_t |
Definition at line 72 of file lex.he5das.cc.
| typedef int flex_int32_t |
Definition at line 73 of file lex.he5das.cc.
| typedef signed char flex_int8_t |
Definition at line 71 of file lex.he5das.cc.
| typedef unsigned short int flex_uint16_t |
Definition at line 75 of file lex.he5das.cc.
| typedef unsigned int flex_uint32_t |
Definition at line 76 of file lex.he5das.cc.
| typedef unsigned char flex_uint8_t |
Definition at line 74 of file lex.he5das.cc.
| typedef struct yy_buffer_state* YY_BUFFER_STATE |
Definition at line 173 of file lex.he5das.cc.
| typedef unsigned char YY_CHAR |
Definition at line 358 of file lex.he5das.cc.
| typedef size_t yy_size_t |
Definition at line 178 of file lex.he5das.cc.
| typedef int yy_state_type |
Definition at line 362 of file lex.he5das.cc.
| YY_BUFFER_STATE he5das_create_buffer | ( | FILE * | file, |
| int | size | ||
| ) |
Allocate and initialize an input buffer state.
| file | A readable stream. |
| size | The character buffer size in bytes. When in doubt, use YY_BUF_SIZE. |
Definition at line 1598 of file lex.he5das.cc.
References he5dasalloc(), and YY_FATAL_ERROR.
Referenced by he5dasrestart(), and if().

| void he5das_delete_buffer | ( | YY_BUFFER_STATE | b | ) |
Destroy the buffer.
| b | a buffer created with he5das_create_buffer() |
Definition at line 1626 of file lex.he5das.cc.
References he5dasfree(), YY_CURRENT_BUFFER, and YY_CURRENT_BUFFER_LVALUE.
Referenced by he5daslex_destroy(), and he5daspop_buffer_state().

| void he5das_flush_buffer | ( | YY_BUFFER_STATE | b | ) |
Discard all buffered characters.
On the next scan, YY_INPUT will be called.
| b | the buffer state to be flushed, usually YY_CURRENT_BUFFER. |
Definition at line 1677 of file lex.he5das.cc.
References YY_BUFFER_NEW, YY_CURRENT_BUFFER, and YY_END_OF_BUFFER_CHAR.
| YY_BUFFER_STATE he5das_scan_buffer | ( | char * | base, |
| yy_size_t | size | ||
| ) |
Setup the input buffer state to scan directly from a user-specified character buffer.
| base | the character buffer |
| size | the size in bytes of the character buffer |
Definition at line 1804 of file lex.he5das.cc.
References he5das_switch_to_buffer(), he5dasalloc(), YY_BUFFER_NEW, YY_END_OF_BUFFER_CHAR, and YY_FATAL_ERROR.
Referenced by he5das_scan_bytes().

| YY_BUFFER_STATE he5das_scan_bytes | ( | yyconst char * | yybytes, |
| yy_size_t | _yybytes_len | ||
| ) |
Setup the input buffer state to scan the given bytes.
The next call to he5daslex() will scan from a copy of bytes.
| bytes | the byte buffer to scan |
| len | the number of bytes in the buffer pointed to by bytes. |
Definition at line 1854 of file lex.he5das.cc.
References he5das_scan_buffer(), he5dasalloc(), YY_END_OF_BUFFER_CHAR, and YY_FATAL_ERROR.
Referenced by he5das_scan_string().

| YY_BUFFER_STATE he5das_scan_string | ( | yyconst char * | yystr | ) |
Setup the input buffer state to scan a string.
The next call to he5daslex() will scan from a copy of str.
| yystr | a NUL-terminated string to scan |
Definition at line 1841 of file lex.he5das.cc.
References he5das_scan_bytes().

| void he5das_switch_to_buffer | ( | YY_BUFFER_STATE | new_buffer | ) |
Switch to a different input buffer.
| new_buffer | The new input buffer. |
Definition at line 1553 of file lex.he5das.cc.
References YY_CURRENT_BUFFER, and YY_CURRENT_BUFFER_LVALUE.
Referenced by he5das_scan_buffer().
| void * he5dasalloc | ( | yy_size_t | size | ) |
Definition at line 2064 of file lex.he5das.cc.
References malloc().
Referenced by he5das_create_buffer(), he5das_scan_buffer(), and he5das_scan_bytes().

| void he5dasfree | ( | void * | ptr | ) |
Definition at line 2081 of file lex.he5das.cc.
References free().
Referenced by he5das_delete_buffer(), and he5daslex_destroy().

| int he5dasget_debug | ( | void | ) |
Definition at line 1980 of file lex.he5das.cc.
References he5das_flex_debug.
| YY_EXTRA_TYPE he5dasget_extra | ( | void | ) |
| FILE * he5dasget_in | ( | void | ) |
| yy_size_t he5dasget_leng | ( | void | ) |
Get the length of the current token.
Definition at line 1940 of file lex.he5das.cc.
References he5dasleng.
| int he5dasget_lineno | ( | void | ) |
Get the current line number.
Definition at line 1915 of file lex.he5das.cc.
References he5daslineno.
| FILE * he5dasget_out | ( | void | ) |
| char * he5dasget_text | ( | void | ) |
| int he5daslex_destroy | ( | void | ) |
Definition at line 2019 of file lex.he5das.cc.
References he5das_delete_buffer(), he5dasfree(), he5daspop_buffer_state(), NULL, YY_CURRENT_BUFFER, and YY_CURRENT_BUFFER_LVALUE.
Referenced by gen_eos5_cfdas().

| void he5daspop_buffer_state | ( | void | ) |
Removes and deletes the top of the stack, if present.
The next element becomes the new top.
Definition at line 1736 of file lex.he5das.cc.
References he5das_delete_buffer(), NULL, YY_CURRENT_BUFFER, and YY_CURRENT_BUFFER_LVALUE.
Referenced by he5daslex_destroy().

| void he5daspush_buffer_state | ( | YY_BUFFER_STATE | new_buffer | ) |
Pushes the new state onto the stack.
The new state becomes the current state. This function will allocate the stack if necessary.
| new_buffer | The new state. |
Definition at line 1706 of file lex.he5das.cc.
References NULL, YY_CURRENT_BUFFER, and YY_CURRENT_BUFFER_LVALUE.
| void * he5dasrealloc | ( | void * | ptr, |
| yy_size_t | size | ||
| ) |
Definition at line 2069 of file lex.he5das.cc.
| void he5dasrestart | ( | FILE * | input_file | ) |
Immediately switch to a different input stream.
| input_file | A readable stream. |
INITIAL . Definition at line 1536 of file lex.he5das.cc.
References he5das_create_buffer(), he5dasin, YY_BUF_SIZE, YY_CURRENT_BUFFER, and YY_CURRENT_BUFFER_LVALUE.

| void he5dasset_debug | ( | int | debug_flag | ) |
Definition at line 1985 of file lex.he5das.cc.
| void he5dasset_extra | ( | YY_EXTRA_TYPE | user_defined | ) |
| void he5dasset_in | ( | FILE * | in_str | ) |
Set the input stream.
This does not discard the current input buffer.
| in_str | A readable stream. |
Definition at line 1970 of file lex.he5das.cc.
References he5dasin.
| void he5dasset_lineno | ( | int | line_number | ) |
| void he5dasset_out | ( | FILE * | out_str | ) |
Definition at line 1975 of file lex.he5das.cc.
References he5dasout.
| if | ( | ! | yy_init | ) |
Definition at line 811 of file lex.he5das.cc.
References he5das_create_buffer(), he5dasin, he5dasout, YY_BUF_SIZE, YY_CURRENT_BUFFER, and YY_CURRENT_BUFFER_LVALUE.

| int isatty | ( | int | ) |
| while | ( | 1 | ) |
Definition at line 837 of file lex.he5das.cc.
References BEGIN, comment, DAS_COMMENT, DAS_END_GROUP, DAS_END_OBJECT, DAS_FLOAT, DAS_GROUP, DAS_INT, DAS_OBJECT, DAS_STR, ECHO, EOB_ACT_CONTINUE_SCAN, EOB_ACT_END_OF_FILE, EOB_ACT_LAST_MATCH, he5das_line_num, he5dasin, he5daslval, he5dastext, he5daswrap, INITIAL, quote, YY_BREAK, YY_BUFFER_NEW, YY_BUFFER_NORMAL, yy_cp, YY_CURRENT_BUFFER_LVALUE, yy_current_state, YY_DO_BEFORE_ACTION, YY_END_OF_BUFFER, YY_FATAL_ERROR, YY_MORE_ADJ, YY_NEW_FILE, YY_RESTORE_YY_MORE_OFFSET, YY_RULE_SETUP, YY_SC_TO_UI, YY_START, YY_STATE_EOF, yymore, yyterminate, and yytext_ptr.
| int he5das_flex_debug = 0 |
Definition at line 535 of file lex.he5das.cc.
Referenced by he5dasget_debug().
| int he5das_line_num = 1 |
Definition at line 617 of file lex.he5das.cc.
Referenced by while().
| FILE * he5dasin = (FILE *) 0 |
Definition at line 360 of file lex.he5das.cc.
Referenced by he5dasget_in(), he5dasrestart(), he5dasset_in(), if(), and while().
| yy_size_t he5dasleng |
Definition at line 295 of file lex.he5das.cc.
Referenced by he5dasget_leng().
| int he5daslineno = 1 |
Definition at line 366 of file lex.he5das.cc.
Referenced by he5dasget_lineno().
| FILE * he5dasout = (FILE *) 0 |
Definition at line 360 of file lex.he5das.cc.
Referenced by he5dasget_out(), he5dasset_out(), and if().
| char * he5dastext |
Definition at line 546 of file lex.he5das.cc.
Referenced by he5dasget_text(), and while().
| register int yy_act |
Definition at line 804 of file lex.he5das.cc.
| register char * yy_bp |
Definition at line 803 of file lex.he5das.cc.
| register char* yy_cp |
Definition at line 803 of file lex.he5das.cc.
Referenced by while().
| YY_DECL register yy_state_type yy_current_state |
The main scanner function which does all the work.
Definition at line 802 of file lex.he5das.cc.
Referenced by while().