hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Classes | Macros | Typedefs | Functions | Variables
hexpr.lex.C File Reference
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include <hobbes/lang/module.H>
#include <hobbes/lang/expr.H>
#include <hobbes/lang/pat/pattern.H>
#include <hobbes/util/autorelease.H>
#include <hobbes/parse/grammar.H>
#include <hobbes/read/pgen/hexpr.parse.H>
#include <string>
#include <iostream>
#include <unistd.h>
Include dependency graph for hexpr.lex.C:

Classes

struct  yy_buffer_state
 
struct  yy_trans_info
 

Macros

#define YY_INT_ALIGNED   short int
 
#define FLEX_SCANNER
 
#define YY_FLEX_MAJOR_VERSION   2
 
#define YY_FLEX_MINOR_VERSION   5
 
#define YY_FLEX_SUBMINOR_VERSION   35
 
#define FLEX_BETA
 
#define FLEXINT_H
 
#define INT8_MIN   (-128)
 
#define INT16_MIN   (-32767-1)
 
#define INT32_MIN   (-2147483647-1)
 
#define INT8_MAX   (127)
 
#define INT16_MAX   (32767)
 
#define INT32_MAX   (2147483647)
 
#define UINT8_MAX   (255U)
 
#define UINT16_MAX   (65535U)
 
#define UINT32_MAX   (4294967295U)
 
#define yyconst
 
#define YY_NULL   0
 
#define YY_SC_TO_UI(c)   ((unsigned int) (unsigned char) c)
 
#define BEGIN   (yy_start) = 1 + 2 *
 
#define YY_START   (((yy_start) - 1) / 2)
 
#define YYSTATE   YY_START
 
#define YY_STATE_EOF(state)   (YY_END_OF_BUFFER + state + 1)
 
#define YY_NEW_FILE   yyrestart(yyin )
 
#define YY_END_OF_BUFFER_CHAR   0
 
#define YY_BUF_SIZE   16384
 
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
 
#define YY_TYPEDEF_YY_BUFFER_STATE
 
#define YY_TYPEDEF_YY_SIZE_T
 
#define EOB_ACT_CONTINUE_SCAN   0
 
#define EOB_ACT_END_OF_FILE   1
 
#define EOB_ACT_LAST_MATCH   2
 
#define YY_LESS_LINENO(n)
 
#define yyless(n)
 
#define unput(c)   yyunput( c, (yytext_ptr) )
 
#define YY_STRUCT_YY_BUFFER_STATE
 
#define YY_BUFFER_NEW   0
 
#define YY_BUFFER_NORMAL   1
 
#define YY_BUFFER_EOF_PENDING   2
 
#define YY_CURRENT_BUFFER
 
#define YY_CURRENT_BUFFER_LVALUE   (yy_buffer_stack)[(yy_buffer_stack_top)]
 
#define YY_FLUSH_BUFFER   yy_flush_buffer(YY_CURRENT_BUFFER )
 
#define yy_new_buffer   yy_create_buffer
 
#define yy_set_interactive(is_interactive)
 
#define yy_set_bol(at_bol)
 
#define YY_AT_BOL()   (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
 
#define yywrap(n)   1
 
#define YY_SKIP_YYWRAP
 
#define yytext_ptr   yytext
 
#define YY_DO_BEFORE_ACTION
 
#define YY_NUM_RULES   114
 
#define YY_END_OF_BUFFER   115
 
#define REJECT   reject_used_but_not_detected
 
#define yymore()   yymore_used_but_not_detected
 
#define YY_MORE_ADJ   0
 
#define YY_RESTORE_YY_MORE_OFFSET
 
#define YY_USER_ACTION
 
#define SAVE_STR   yylval.string = hobbes::autorelease(new std::string(yytext, yytext + yyleng))
 
#define SAVE_IDENT   yylval.string = identifier(yytext, yytext + yyleng)
 
#define SAVE_BOOL   yylval.boolv = std::string(yytext, yytext + yyleng) != "false"
 
#define SAVE_SHORT   yylval.shortv = (short)atoi(yytext)
 
#define SAVE_INT   yylval.intv = atoi(yytext)
 
#define SAVE_LONG   yylval.longv = atol(std::string(yytext, yytext + yyleng - 1).c_str())
 
#define SAVE_FLOAT   yylval.floatv = atof(std::string(yytext, yytext + yyleng).c_str())
 
#define SAVE_DOUBLE   yylval.doublev = atof(std::string(yytext, yytext + yyleng).c_str())
 
#define INITIAL   0
 
#define BLOCK_COMMENT   1
 
#define YY_EXTRA_TYPE   void *
 
#define YY_READ_BUF_SIZE   8192
 
#define ECHO   fwrite( yytext, yyleng, 1, yyout )
 
#define YY_INPUT(buf, result, max_size)
 
#define yyterminate()   return YY_NULL
 
#define YY_START_STACK_INCR   25
 
#define YY_FATAL_ERROR(msg)   yy_fatal_error( msg )
 
#define YY_DECL_IS_OURS   1
 
#define YY_DECL   int yylex (void)
 
#define YY_BREAK   break;
 
#define YY_RULE_SETUP   YY_USER_ACTION
 
#define YY_EXIT_FAILURE   2
 
#define yyless(n)
 
#define YYTABLES_NAME   "yytables"
 

Typedefs

typedef signed char flex_int8_t
 
typedef short int flex_int16_t
 
typedef int flex_int32_t
 
typedef unsigned char flex_uint8_t
 
typedef unsigned short int flex_uint16_t
 
typedef unsigned int flex_uint32_t
 
typedef struct yy_buffer_stateYY_BUFFER_STATE
 
typedef size_t yy_size_t
 
typedef unsigned char YY_CHAR
 
typedef int yy_state_type
 

Functions

void yyrestart (FILE *input_file)
 
void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer)
 
YY_BUFFER_STATE yy_create_buffer (FILE *file, int size)
 
void yy_delete_buffer (YY_BUFFER_STATE b)
 
void yy_flush_buffer (YY_BUFFER_STATE b)
 
void yypush_buffer_state (YY_BUFFER_STATE new_buffer)
 
void yypop_buffer_state (void)
 
static void yyensure_buffer_stack (void)
 
static void yy_load_buffer_state (void)
 
static void yy_init_buffer (YY_BUFFER_STATE b, FILE *file)
 
YY_BUFFER_STATE yy_scan_buffer (char *base, yy_size_t size)
 
YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str)
 
YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes, yy_size_t len)
 
void * yyalloc (yy_size_t)
 
void * yyrealloc (void *, yy_size_t)
 
void yyfree (void *)
 
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 yy_fatal_error (yyconst char msg[])
 
void wantIndent (bool f)
 
bool wantIndent ()
 
std::string * identifier (const char *b, const char *e)
 
static int yy_init_globals (void)
 
int yylex_destroy (void)
 
int yyget_debug (void)
 
void yyset_debug (int debug_flag)
 
YY_EXTRA_TYPE yyget_extra (void)
 
void yyset_extra (YY_EXTRA_TYPE user_defined)
 
FILE * yyget_in (void)
 
void yyset_in (FILE *in_str)
 
FILE * yyget_out (void)
 
void yyset_out (FILE *out_str)
 
yy_size_t yyget_leng (void)
 
char * yyget_text (void)
 
int yyget_lineno (void)
 
void yyset_lineno (int line_number)
 
static void yyunput (int c, char *buf_ptr)
 
static int input (void)
 
int yylex (void)
 
 if (yyInitToken)
 
 if (!(yy_init))
 
 while (1)
 
static void yyunput (int c, register char *yy_bp)
 
int isatty (int)
 
static void yy_fatal_error (yyconst char *msg)
 

Variables

yy_size_t yyleng
 
FILE * yyin = (FILE *) 0
 
FILE * yyout = (FILE *) 0
 
static size_t yy_buffer_stack_top = 0
 
static size_t yy_buffer_stack_max = 0
 
static YY_BUFFER_STATEyy_buffer_stack = 0
 
static char yy_hold_char
 
static yy_size_t yy_n_chars
 
static char * yy_c_buf_p = (char *) 0
 
static int yy_init = 0
 
static int yy_start = 0
 
static int yy_did_buffer_switch_on_eof
 
int yylineno = 1
 
char * yytext
 
static yyconst flex_int16_t yy_accept [265]
 
static yyconst flex_int32_t yy_ec [256]
 
static yyconst flex_int32_t yy_meta [65]
 
static yyconst flex_int16_t yy_base [272]
 
static yyconst flex_int16_t yy_def [272]
 
static yyconst flex_int16_t yy_nxt [455]
 
static yyconst flex_int16_t yy_chk [455]
 
static yyconst flex_int32_t yy_rule_can_match_eol [115]
 
static yy_state_type yy_last_accepting_state
 
static char * yy_last_accepting_cpos
 
int yy_flex_debug = 0
 
int yycolumn = 1
 
std::string yyVexpLexError
 
int yyInitToken = 0
 
int yyWantIndent = 0
 
 YY_DECL
 
register char * yy_cp
 
register char * yy_bp
 
register int yy_act
 

Macro Definition Documentation

◆ BEGIN

#define BEGIN   (yy_start) = 1 + 2 *

◆ BLOCK_COMMENT

#define BLOCK_COMMENT   1

◆ ECHO

#define ECHO   fwrite( yytext, yyleng, 1, yyout )

◆ EOB_ACT_CONTINUE_SCAN

#define EOB_ACT_CONTINUE_SCAN   0

◆ EOB_ACT_END_OF_FILE

#define EOB_ACT_END_OF_FILE   1

◆ EOB_ACT_LAST_MATCH

#define EOB_ACT_LAST_MATCH   2

◆ FLEX_BETA

#define FLEX_BETA

◆ FLEX_SCANNER

#define FLEX_SCANNER

◆ FLEXINT_H

#define FLEXINT_H

◆ INITIAL

#define INITIAL   0

◆ INT16_MAX

#define INT16_MAX   (32767)

◆ INT16_MIN

#define INT16_MIN   (-32767-1)

◆ INT32_MAX

#define INT32_MAX   (2147483647)

◆ INT32_MIN

#define INT32_MIN   (-2147483647-1)

◆ INT8_MAX

#define INT8_MAX   (127)

◆ INT8_MIN

#define INT8_MIN   (-128)

◆ REJECT

#define REJECT   reject_used_but_not_detected

◆ SAVE_BOOL

#define SAVE_BOOL   yylval.boolv = std::string(yytext, yytext + yyleng) != "false"

◆ SAVE_DOUBLE

#define SAVE_DOUBLE   yylval.doublev = atof(std::string(yytext, yytext + yyleng).c_str())

◆ SAVE_FLOAT

#define SAVE_FLOAT   yylval.floatv = atof(std::string(yytext, yytext + yyleng).c_str())

◆ SAVE_IDENT

#define SAVE_IDENT   yylval.string = identifier(yytext, yytext + yyleng)

◆ SAVE_INT

#define SAVE_INT   yylval.intv = atoi(yytext)

◆ SAVE_LONG

#define SAVE_LONG   yylval.longv = atol(std::string(yytext, yytext + yyleng - 1).c_str())

◆ SAVE_SHORT

#define SAVE_SHORT   yylval.shortv = (short)atoi(yytext)

◆ SAVE_STR

#define SAVE_STR   yylval.string = hobbes::autorelease(new std::string(yytext, yytext + yyleng))

◆ UINT16_MAX

#define UINT16_MAX   (65535U)

◆ UINT32_MAX

#define UINT32_MAX   (4294967295U)

◆ UINT8_MAX

#define UINT8_MAX   (255U)

◆ unput

#define unput (   c)    yyunput( c, (yytext_ptr) )

◆ YY_AT_BOL

#define YY_AT_BOL ( )    (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)

◆ YY_BREAK

#define YY_BREAK   break;

◆ YY_BUF_SIZE

#define YY_BUF_SIZE   16384

◆ YY_BUFFER_EOF_PENDING

#define YY_BUFFER_EOF_PENDING   2

◆ YY_BUFFER_NEW

#define YY_BUFFER_NEW   0

◆ YY_BUFFER_NORMAL

#define YY_BUFFER_NORMAL   1

◆ YY_CURRENT_BUFFER

#define YY_CURRENT_BUFFER
Value:
: NULL)
static size_t yy_buffer_stack_top
Definition: hexpr.lex.C:267
static YY_BUFFER_STATE * yy_buffer_stack
Definition: hexpr.lex.C:269

◆ YY_CURRENT_BUFFER_LVALUE

#define YY_CURRENT_BUFFER_LVALUE   (yy_buffer_stack)[(yy_buffer_stack_top)]

◆ YY_DECL

#define YY_DECL   int yylex (void)

◆ YY_DECL_IS_OURS

#define YY_DECL_IS_OURS   1

◆ YY_DO_BEFORE_ACTION

#define YY_DO_BEFORE_ACTION
Value:
yyleng = (yy_size_t) (yy_cp - yy_bp); \
*yy_cp = '\0'; \
register char * yy_bp
Definition: hexpr.lex.C:897
#define yytext_ptr
Definition: hexpr.lex.C:363
static char yy_hold_char
Definition: hexpr.lex.C:287
size_t yy_size_t
Definition: hexpr.lex.C:159
static char * yy_c_buf_p
Definition: hexpr.lex.C:292
register char * yy_cp
Definition: hexpr.lex.C:897

◆ YY_END_OF_BUFFER

#define YY_END_OF_BUFFER   115

◆ YY_END_OF_BUFFER_CHAR

#define YY_END_OF_BUFFER_CHAR   0

◆ YY_EXIT_FAILURE

#define YY_EXIT_FAILURE   2

◆ YY_EXTRA_TYPE

#define YY_EXTRA_TYPE   void *

◆ YY_FATAL_ERROR

#define YY_FATAL_ERROR (   msg)    yy_fatal_error( msg )

◆ YY_FLEX_MAJOR_VERSION

#define YY_FLEX_MAJOR_VERSION   2

◆ YY_FLEX_MINOR_VERSION

#define YY_FLEX_MINOR_VERSION   5

◆ YY_FLEX_SUBMINOR_VERSION

#define YY_FLEX_SUBMINOR_VERSION   35

◆ YY_FLUSH_BUFFER

#define YY_FLUSH_BUFFER   yy_flush_buffer(YY_CURRENT_BUFFER )

◆ YY_INPUT

#define YY_INPUT (   buf,
  result,
  max_size 
)
Value:
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
yy_size_t n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
if ( c == '\n' ) \
buf[n++] = (char) c; \
if ( c == EOF && ferror( yyin ) ) \
YY_FATAL_ERROR( "input in flex scanner failed" ); \
result = n; \
} \
else \
{ \
errno=0; \
while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
YY_FATAL_ERROR( "input in flex scanner failed" ); \
break; \
} \
errno=0; \
clearerr(yyin); \
} \
}\
\
FILE * yyin
Definition: hexpr.lex.C:354
#define YY_CURRENT_BUFFER_LVALUE
Definition: hexpr.lex.C:284
uint32_t result
Definition: regex.C:376

◆ YY_INT_ALIGNED

#define YY_INT_ALIGNED   short int

◆ YY_LESS_LINENO

#define YY_LESS_LINENO (   n)
Value:
do { \
yy_size_t yyl;\
for ( yyl = n; yyl < yyleng; ++yyl )\
if ( yytext[yyl] == '\n' )\
}while(0)
yy_size_t yyleng
Definition: hexpr.lex.C:289
int yylineno
Definition: hexpr.lex.C:360
char * yytext
Definition: hexpr.lex.C:664

◆ YY_MORE_ADJ

#define YY_MORE_ADJ   0

◆ yy_new_buffer

#define yy_new_buffer   yy_create_buffer

◆ YY_NEW_FILE

#define YY_NEW_FILE   yyrestart(yyin )

◆ YY_NULL

#define YY_NULL   0

◆ YY_NUM_RULES

#define YY_NUM_RULES   114

◆ YY_READ_BUF_SIZE

#define YY_READ_BUF_SIZE   8192

◆ YY_RESTORE_YY_MORE_OFFSET

#define YY_RESTORE_YY_MORE_OFFSET

◆ YY_RULE_SETUP

#define YY_RULE_SETUP   YY_USER_ACTION

◆ YY_SC_TO_UI

#define YY_SC_TO_UI (   c)    ((unsigned int) (unsigned char) c)

◆ yy_set_bol

#define yy_set_bol (   at_bol)
Value:
{ \
if ( ! YY_CURRENT_BUFFER ){\
yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
yy_create_buffer(yyin,YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
#define YY_CURRENT_BUFFER
Definition: hexpr.lex.C:277
FILE * yyin
Definition: hexpr.lex.C:354
#define YY_BUF_SIZE
Definition: hexpr.lex.C:145

◆ yy_set_interactive

#define yy_set_interactive (   is_interactive)
Value:
{ \
if ( ! YY_CURRENT_BUFFER ){ \
yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
yy_create_buffer(yyin,YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
#define YY_CURRENT_BUFFER
Definition: hexpr.lex.C:277
FILE * yyin
Definition: hexpr.lex.C:354
#define YY_BUF_SIZE
Definition: hexpr.lex.C:145

◆ YY_SKIP_YYWRAP

#define YY_SKIP_YYWRAP

◆ YY_START

#define YY_START   (((yy_start) - 1) / 2)

◆ YY_START_STACK_INCR

#define YY_START_STACK_INCR   25

◆ YY_STATE_BUF_SIZE

#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))

◆ YY_STATE_EOF

#define YY_STATE_EOF (   state)    (YY_END_OF_BUFFER + state + 1)

◆ YY_STRUCT_YY_BUFFER_STATE

#define YY_STRUCT_YY_BUFFER_STATE

◆ YY_TYPEDEF_YY_BUFFER_STATE

#define YY_TYPEDEF_YY_BUFFER_STATE

◆ YY_TYPEDEF_YY_SIZE_T

#define YY_TYPEDEF_YY_SIZE_T

◆ YY_USER_ACTION

#define YY_USER_ACTION
Value:
yylloc.first_column = yycolumn; yylloc.last_column = yycolumn+yyleng-1; \
yycolumn += yyleng;
yy_size_t yyleng
Definition: hexpr.lex.C:289
int last_column
Definition: hexpr.parse.H:214
int last_line
Definition: hexpr.parse.H:213
int yycolumn
Definition: hexpr.lex.C:671
int yylineno
Definition: hexpr.lex.C:360
int first_line
Definition: hexpr.parse.H:211
YYLTYPE yylloc
Definition: hexpr.parse.C:2402

◆ yyconst

#define yyconst

◆ yyless [1/2]

#define yyless (   n)
Value:
do \
{ \
/* Undo effects of setting up yytext. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
YY_RESTORE_YY_MORE_OFFSET \
(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
register char * yy_bp
Definition: hexpr.lex.C:897
static char yy_hold_char
Definition: hexpr.lex.C:287
static char * yy_c_buf_p
Definition: hexpr.lex.C:292
register char * yy_cp
Definition: hexpr.lex.C:897
#define YY_MORE_ADJ
Definition: hexpr.lex.C:662

◆ yyless [2/2]

#define yyless (   n)
Value:
do \
{ \
/* Undo effects of setting up yytext. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
yytext[yyleng] = (yy_hold_char); \
(yy_c_buf_p) = yytext + yyless_macro_arg; \
*(yy_c_buf_p) = '\0'; \
yyleng = yyless_macro_arg; \
} \
while ( 0 )
yy_size_t yyleng
Definition: hexpr.lex.C:289
static char yy_hold_char
Definition: hexpr.lex.C:287
char * yytext
Definition: hexpr.lex.C:664
static char * yy_c_buf_p
Definition: hexpr.lex.C:292

◆ yymore

#define yymore ( )    yymore_used_but_not_detected

◆ YYSTATE

#define YYSTATE   YY_START

◆ YYTABLES_NAME

#define YYTABLES_NAME   "yytables"

◆ yyterminate

#define yyterminate ( )    return YY_NULL

◆ yytext_ptr

#define yytext_ptr   yytext

◆ yywrap

#define yywrap (   n)    1

Typedef Documentation

◆ flex_int16_t

typedef short int flex_int16_t

◆ flex_int32_t

typedef int flex_int32_t

◆ flex_int8_t

typedef signed char flex_int8_t

◆ flex_uint16_t

typedef unsigned short int flex_uint16_t

◆ flex_uint32_t

typedef unsigned int flex_uint32_t

◆ flex_uint8_t

typedef unsigned char flex_uint8_t

◆ YY_BUFFER_STATE

◆ YY_CHAR

typedef unsigned char YY_CHAR

◆ yy_size_t

typedef size_t yy_size_t

◆ yy_state_type

typedef int yy_state_type

Function Documentation

◆ identifier()

std::string* identifier ( const char *  b,
const char *  e 
)

◆ if() [1/2]

if ( yyInitToken  )

◆ if() [2/2]

if ( yy_init)

◆ input()

static int input ( void  )
static

◆ isatty()

int isatty ( int  )

◆ wantIndent() [1/2]

void wantIndent ( bool  f)

◆ wantIndent() [2/2]

bool wantIndent ( )

◆ while()

while ( )

◆ yy_create_buffer()

YY_BUFFER_STATE yy_create_buffer ( FILE *  file,
int  size 
)

Allocate and initialize an input buffer state.

Parameters
fileA readable stream.
sizeThe character buffer size in bytes. When in doubt, use YY_BUF_SIZE.
Returns
the allocated buffer state.

◆ yy_delete_buffer()

void yy_delete_buffer ( YY_BUFFER_STATE  b)

Destroy the buffer.

Parameters
ba buffer created with yy_create_buffer()

◆ yy_fatal_error() [1/2]

static void yy_fatal_error ( yyconst char  msg[])
static

◆ yy_fatal_error() [2/2]

static void yy_fatal_error ( yyconst char *  msg)
static

◆ yy_flush_buffer()

void yy_flush_buffer ( YY_BUFFER_STATE  b)

Discard all buffered characters. On the next scan, YY_INPUT will be called.

Parameters
bthe buffer state to be flushed, usually YY_CURRENT_BUFFER.

◆ yy_get_next_buffer()

static int yy_get_next_buffer ( void  )
static

◆ yy_get_previous_state()

static yy_state_type yy_get_previous_state ( void  )
static

◆ yy_init_buffer()

static void yy_init_buffer ( YY_BUFFER_STATE  b,
FILE *  file 
)
static

◆ yy_init_globals()

static int yy_init_globals ( void  )
static

◆ yy_load_buffer_state()

static void yy_load_buffer_state ( void  )
static

◆ yy_scan_buffer()

YY_BUFFER_STATE yy_scan_buffer ( char *  base,
yy_size_t  size 
)

Setup the input buffer state to scan directly from a user-specified character buffer.

Parameters
basethe character buffer
sizethe size in bytes of the character buffer
Returns
the newly allocated buffer state object.

◆ yy_scan_bytes()

YY_BUFFER_STATE yy_scan_bytes ( yyconst char *  yybytes,
yy_size_t  _yybytes_len 
)

Setup the input buffer state to scan the given bytes. The next call to yylex() will scan from a copy of bytes.

Parameters
bytesthe byte buffer to scan
lenthe number of bytes in the buffer pointed to by bytes.
Returns
the newly allocated buffer state object.

◆ yy_scan_string()

YY_BUFFER_STATE yy_scan_string ( yyconst char *  yystr)

Setup the input buffer state to scan a string. The next call to yylex() will scan from a copy of str.

Parameters
yystra NUL-terminated string to scan
Returns
the newly allocated buffer state object.
Note
If you want to scan bytes that may contain NUL values, then use yy_scan_bytes() instead.

◆ yy_switch_to_buffer()

void yy_switch_to_buffer ( YY_BUFFER_STATE  new_buffer)

Switch to a different input buffer.

Parameters
new_bufferThe new input buffer.

◆ yy_try_NUL_trans()

static yy_state_type yy_try_NUL_trans ( yy_state_type  current_state)
static

◆ yyalloc()

void * yyalloc ( yy_size_t  size)

◆ yyensure_buffer_stack()

static void yyensure_buffer_stack ( void  )
static

◆ yyfree()

void yyfree ( void *  ptr)

◆ yyget_debug()

int yyget_debug ( void  )

◆ yyget_extra()

YY_EXTRA_TYPE yyget_extra ( void  )

◆ yyget_in()

FILE * yyget_in ( void  )

Get the input stream.

◆ yyget_leng()

yy_size_t yyget_leng ( void  )

Get the length of the current token.

◆ yyget_lineno()

int yyget_lineno ( void  )

Get the current line number.

◆ yyget_out()

FILE * yyget_out ( void  )

Get the output stream.

◆ yyget_text()

char * yyget_text ( void  )

Get the current token.

◆ yylex()

int yylex ( void  )

◆ yylex_destroy()

int yylex_destroy ( void  )

◆ yypop_buffer_state()

void yypop_buffer_state ( void  )

Removes and deletes the top of the stack, if present. The next element becomes the new top.

◆ yypush_buffer_state()

void yypush_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.

Parameters
new_bufferThe new state.

◆ yyrealloc()

void * yyrealloc ( void *  ptr,
yy_size_t  size 
)

◆ yyrestart()

void yyrestart ( FILE *  input_file)

Immediately switch to a different input stream.

Parameters
input_fileA readable stream.
Note
This function does not reset the start condition to INITIAL .

◆ yyset_debug()

void yyset_debug ( int  debug_flag)

◆ yyset_extra()

void yyset_extra ( YY_EXTRA_TYPE  user_defined)

◆ yyset_in()

void yyset_in ( FILE *  in_str)

Set the input stream. This does not discard the current input buffer.

Parameters
in_strA readable stream.
See also
yy_switch_to_buffer

◆ yyset_lineno()

void yyset_lineno ( int  line_number)

Set the current line number.

Parameters
line_number

◆ yyset_out()

void yyset_out ( FILE *  out_str)

◆ yyunput() [1/2]

static void yyunput ( int  c,
char *  buf_ptr 
)
static

◆ yyunput() [2/2]

static void yyunput ( int  c,
register char *  yy_bp 
)
static

Variable Documentation

◆ yy_accept

yyconst flex_int16_t yy_accept[265]
static

◆ yy_act

register int yy_act

◆ yy_base

yyconst flex_int16_t yy_base[272]
static

◆ yy_bp

register char * yy_bp

◆ yy_buffer_stack

YY_BUFFER_STATE* yy_buffer_stack = 0
static

Stack as an array.

◆ yy_buffer_stack_max

size_t yy_buffer_stack_max = 0
static

capacity of stack.

◆ yy_buffer_stack_top

size_t yy_buffer_stack_top = 0
static

index of top of stack.

◆ yy_c_buf_p

char* yy_c_buf_p = (char *) 0
static

◆ yy_chk

yyconst flex_int16_t yy_chk[455]
static

◆ yy_cp

register char* yy_cp

◆ YY_DECL

YY_DECL
Initial value:
{
register yy_state_type yy_current_state
int yy_state_type
Definition: hexpr.lex.C:356

The main scanner function which does all the work.

◆ yy_def

yyconst flex_int16_t yy_def[272]
static

◆ yy_did_buffer_switch_on_eof

int yy_did_buffer_switch_on_eof
static

◆ yy_ec

yyconst flex_int32_t yy_ec[256]
static

◆ yy_flex_debug

int yy_flex_debug = 0

◆ yy_hold_char

char yy_hold_char
static

◆ yy_init

int yy_init = 0
static

◆ yy_last_accepting_cpos

char* yy_last_accepting_cpos
static

◆ yy_last_accepting_state

yy_state_type yy_last_accepting_state
static

◆ yy_meta

yyconst flex_int32_t yy_meta[65]
static
Initial value:
=
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
2, 1, 1, 1, 1, 1, 1, 1, 2, 2,
2, 2, 2, 2, 2, 1, 1, 1, 1, 1,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1, 1, 1, 1
}

◆ yy_n_chars

yy_size_t yy_n_chars
static

◆ yy_nxt

yyconst flex_int16_t yy_nxt[455]
static

◆ yy_rule_can_match_eol

yyconst flex_int32_t yy_rule_can_match_eol[115]
static
Initial value:
=
{ 0,
1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }

◆ yy_start

int yy_start = 0
static

◆ yycolumn

int yycolumn = 1

◆ yyin

FILE * yyin = (FILE *) 0

◆ yyInitToken

int yyInitToken = 0

◆ yyleng

yy_size_t yyleng

◆ yylineno

int yylineno = 1

◆ yyout

FILE * yyout = (FILE *) 0

◆ yytext

char * yytext

◆ yyVexpLexError

std::string yyVexpLexError

◆ yyWantIndent

int yyWantIndent = 0