Vcsn  2.2
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
scan.cc File Reference
#include <lib/vcsn/rat/parse.hh>
#include <iostream>
#include <errno.h>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <lib/vcsn/rat/scan.hh>
#include <cassert>
#include <stack>
#include <string>
#include <boost/lexical_cast.hpp>
#include <vcsn/misc/escape.hh>
#include <vcsn/misc/regex.hh>
#include <lib/vcsn/rat/driver.hh>
#include <unistd.h>
Include dependency graph for scan.cc:

Go to the source code of this file.

Classes

struct  yy_buffer_state
 
struct  yy_trans_info
 

Namespaces

 YY_FLEX_NAMESPACE_BEGIN
 

Macros

#define yyterminate()   return parser::make_END(loc)
 
#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   39
 
#define FLEX_BETA
 
#define yyFlexLexer   yyFlexLexer
 
#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 YY_LINENO_REWIND_TO(ptr)
 
#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_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 FLEX_DEBUG
 
#define yytext_ptr   yytext
 
#define YY_INTERACTIVE
 
#define YY_DO_BEFORE_ACTION
 
#define YY_NUM_RULES   63
 
#define YY_END_OF_BUFFER   64
 
#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_NO_INPUT   1
 
#define LINE(Line)
 
#define YY_USER_ACTION   loc.columns(yyleng);
 
#define TOK(Token)   parser::make_ ## Token (loc)
 
#define INITIAL   0
 
#define SC_CLASS   1
 
#define SC_CONTEXT   2
 
#define SC_EXPONENT   3
 
#define SC_WEIGHT   4
 
#define YY_EXTRA_TYPE   void *
 
#define YY_READ_BUF_SIZE   8192
 
#define ECHO   LexerOutput( yytext, yyleng )
 
#define YY_INPUT(buf, result, max_size)
 
#define YY_START_STACK_INCR   25
 
#define YY_FATAL_ERROR(msg)   LexerError( msg )
 
#define YY_DECL_IS_OURS   1
 
#define YY_DECL   int yyFlexLexer::yylex()
 
#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
 

Functions

irange_type YY_FLEX_NAMESPACE_BEGIN::quantifier (driver &d, const location &loc, const std::string &s)
 
void * yyalloc (yy_size_t size)
 
void * yyrealloc (void *ptr, yy_size_t size)
 
void yyfree (void *ptr)
 

Variables

yy_size_t yyleng
 
static flex_int16_t yy_accept [129]
 
static flex_int32_t yy_ec [256]
 
static flex_int32_t yy_meta [66]
 
static flex_int16_t yy_base [139]
 
static flex_int16_t yy_def [139]
 
static flex_int16_t yy_nxt [340]
 
static flex_int16_t yy_chk [340]
 
static flex_int16_t yy_rule_linenum [63]
 

Macro Definition Documentation

#define BEGIN   (yy_start) = 1 + 2 *

Definition at line 197 of file scan.cc.

#define ECHO   LexerOutput( yytext, yyleng )

Definition at line 751 of file scan.cc.

#define EOB_ACT_CONTINUE_SCAN   0

Definition at line 250 of file scan.cc.

#define EOB_ACT_END_OF_FILE   1

Definition at line 251 of file scan.cc.

#define EOB_ACT_LAST_MATCH   2

Definition at line 252 of file scan.cc.

#define FLEX_BETA

Definition at line 43 of file scan.cc.

#define FLEX_DEBUG

Definition at line 407 of file scan.cc.

#define FLEX_SCANNER

Definition at line 38 of file scan.cc.

#define FLEXINT_H

Definition at line 76 of file scan.cc.

#define INITIAL   0

Definition at line 679 of file scan.cc.

#define INT16_MAX   (32767)

Definition at line 118 of file scan.cc.

#define INT16_MIN   (-32767-1)

Definition at line 109 of file scan.cc.

#define INT32_MAX   (2147483647)

Definition at line 121 of file scan.cc.

#define INT32_MIN   (-2147483647-1)

Definition at line 112 of file scan.cc.

#define INT8_MAX   (127)

Definition at line 115 of file scan.cc.

#define INT8_MIN   (-128)

Definition at line 106 of file scan.cc.

#define LINE (   Line)
Value:
do { \
loc.end.column = 1; \
loc.lines(Line); \
} while (false)

Definition at line 659 of file scan.cc.

#define REJECT   reject_used_but_not_detected

Definition at line 638 of file scan.cc.

#define SC_CLASS   1

Definition at line 680 of file scan.cc.

#define SC_CONTEXT   2

Definition at line 681 of file scan.cc.

#define SC_EXPONENT   3

Definition at line 682 of file scan.cc.

#define SC_WEIGHT   4

Definition at line 683 of file scan.cc.

#define TOK (   Token)    parser::make_ ## Token (loc)

Definition at line 668 of file scan.cc.

#define UINT16_MAX   (65535U)

Definition at line 127 of file scan.cc.

#define UINT32_MAX   (4294967295U)

Definition at line 130 of file scan.cc.

#define UINT8_MAX   (255U)

Definition at line 124 of file scan.cc.

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

Definition at line 271 of file scan.cc.

#define YY_AT_BOL ( )    (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)

Definition at line 402 of file scan.cc.

#define YY_BREAK   break;

Definition at line 825 of file scan.cc.

#define YY_BUF_SIZE   16384

Definition at line 223 of file scan.cc.

#define YY_BUFFER_EOF_PENDING   2

Definition at line 338 of file scan.cc.

#define YY_BUFFER_NEW   0

Definition at line 326 of file scan.cc.

#define YY_BUFFER_NORMAL   1

Definition at line 327 of file scan.cc.

#define YY_CURRENT_BUFFER
Value:
( (yy_buffer_stack) \
? (yy_buffer_stack)[(yy_buffer_stack_top)] \
: NULL)

Definition at line 358 of file scan.cc.

#define YY_CURRENT_BUFFER_LVALUE   (yy_buffer_stack)[(yy_buffer_stack_top)]

Definition at line 365 of file scan.cc.

#define YY_DECL   int yyFlexLexer::yylex()

Definition at line 812 of file scan.cc.

#define YY_DECL_IS_OURS   1

Definition at line 808 of file scan.cc.

#define YY_DO_BEFORE_ACTION
Value:
(yytext_ptr) = yy_bp; \
/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\
yyleng = (size_t) (yy_cp - yy_bp); \
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
(yy_c_buf_p) = yy_cp;
yy_size_t yyleng
#define yytext_ptr
Definition: scan.cc:411

Definition at line 424 of file scan.cc.

#define YY_END_OF_BUFFER   64

Definition at line 435 of file scan.cc.

#define YY_END_OF_BUFFER_CHAR   0

Definition at line 212 of file scan.cc.

#define YY_EXIT_FAILURE   2

Definition at line 2320 of file scan.cc.

#define YY_EXTRA_TYPE   void *

Definition at line 698 of file scan.cc.

#define YY_FATAL_ERROR (   msg)    LexerError( msg )

Definition at line 787 of file scan.cc.

#define YY_FLEX_MAJOR_VERSION   2

Definition at line 39 of file scan.cc.

#define YY_FLEX_MINOR_VERSION   5

Definition at line 40 of file scan.cc.

#define YY_FLEX_SUBMINOR_VERSION   39

Definition at line 41 of file scan.cc.

#define YY_INPUT (   buf,
  result,
  max_size 
)
Value:
/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
\
/* %if-c++-only C++ definition \ */\
if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \
YY_FATAL_ERROR( "input in flex scanner failed" );
#define YY_FATAL_ERROR(msg)
Definition: scan.cc:787

Definition at line 759 of file scan.cc.

#define YY_INT_ALIGNED   short int

Definition at line 26 of file scan.cc.

#define YY_INTERACTIVE

Definition at line 412 of file scan.cc.

#define YY_LESS_LINENO (   n)

Definition at line 254 of file scan.cc.

#define YY_LINENO_REWIND_TO (   ptr)

Definition at line 255 of file scan.cc.

#define YY_MORE_ADJ   0

Definition at line 640 of file scan.cc.

#define yy_new_buffer   yy_create_buffer

Definition at line 380 of file scan.cc.

#define YY_NEW_FILE   yyrestart( yyin )

Definition at line 210 of file scan.cc.

#define YY_NO_INPUT   1

Definition at line 643 of file scan.cc.

#define YY_NULL   0

Definition at line 173 of file scan.cc.

#define YY_NUM_RULES   63

Definition at line 434 of file scan.cc.

#define YY_READ_BUF_SIZE   8192

Definition at line 742 of file scan.cc.

#define YY_RESTORE_YY_MORE_OFFSET

Definition at line 641 of file scan.cc.

#define YY_RULE_SETUP   YY_USER_ACTION

Definition at line 829 of file scan.cc.

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

Definition at line 183 of file scan.cc.

#define yy_set_bol (   at_bol)
Value:
{ \
if ( ! YY_CURRENT_BUFFER ){\
yyensure_buffer_stack (); \
yy_create_buffer( yyin, YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
#define YY_CURRENT_BUFFER_LVALUE
Definition: scan.cc:365
#define YY_CURRENT_BUFFER
Definition: scan.cc:358
#define YY_BUF_SIZE
Definition: scan.cc:223

Definition at line 392 of file scan.cc.

#define yy_set_interactive (   is_interactive)
Value:
{ \
if ( ! YY_CURRENT_BUFFER ){ \
yyensure_buffer_stack (); \
yy_create_buffer( yyin, YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
#define YY_CURRENT_BUFFER_LVALUE
Definition: scan.cc:365
#define YY_CURRENT_BUFFER
Definition: scan.cc:358
#define YY_BUF_SIZE
Definition: scan.cc:223

Definition at line 382 of file scan.cc.

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

Definition at line 203 of file scan.cc.

#define YY_START_STACK_INCR   25

Definition at line 779 of file scan.cc.

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

Definition at line 229 of file scan.cc.

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

Definition at line 207 of file scan.cc.

#define YY_STRUCT_YY_BUFFER_STATE

Definition at line 274 of file scan.cc.

#define YY_TYPEDEF_YY_BUFFER_STATE

Definition at line 232 of file scan.cc.

#define YY_TYPEDEF_YY_SIZE_T

Definition at line 237 of file scan.cc.

#define YY_USER_ACTION   loc.columns(yyleng);

Definition at line 665 of file scan.cc.

#define yyconst

Definition at line 167 of file scan.cc.

#define yyFlexLexer   yyFlexLexer

Definition at line 53 of file scan.cc.

#define yyless (   n)
Value:
do \
{ \
/* Undo effects of setting up yytext. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
*yy_cp = (yy_hold_char); \
(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
#define YY_RESTORE_YY_MORE_OFFSET
Definition: scan.cc:641
#define YY_DO_BEFORE_ACTION
Definition: scan.cc:424
#define YY_LESS_LINENO(n)
Definition: scan.cc:254
#define YY_MORE_ADJ
Definition: scan.cc:640

Definition at line 2336 of file scan.cc.

#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_hold_char) = *(yy_c_buf_p); \
*(yy_c_buf_p) = '\0'; \
yyleng = yyless_macro_arg; \
} \
while ( 0 )
#define YY_LESS_LINENO(n)
Definition: scan.cc:254
yy_size_t yyleng

Definition at line 2336 of file scan.cc.

#define yymore ( )    yymore_used_but_not_detected

Definition at line 639 of file scan.cc.

#define YYSTATE   YY_START

Definition at line 204 of file scan.cc.

#define YYTABLES_NAME   "yytables"

Definition at line 2420 of file scan.cc.

#define yyterminate ( )    return parser::make_END(loc)

Definition at line 20 of file scan.cc.

#define yytext_ptr   yytext

Definition at line 411 of file scan.cc.

Typedef Documentation

typedef short int flex_int16_t

Definition at line 98 of file scan.cc.

typedef int flex_int32_t

Definition at line 99 of file scan.cc.

typedef signed char flex_int8_t

Definition at line 97 of file scan.cc.

typedef unsigned short int flex_uint16_t

Definition at line 101 of file scan.cc.

typedef unsigned int flex_uint32_t

Definition at line 102 of file scan.cc.

typedef unsigned char flex_uint8_t

Definition at line 100 of file scan.cc.

Definition at line 233 of file scan.cc.

typedef unsigned char YY_CHAR

Definition at line 409 of file scan.cc.

typedef size_t yy_size_t

Definition at line 238 of file scan.cc.

Function Documentation

void* yyalloc ( yy_size_t  size)

Definition at line 2396 of file scan.cc.

void yyfree ( void *  ptr)

Definition at line 2413 of file scan.cc.

void* yyrealloc ( void *  ptr,
yy_size_t  size 
)

Definition at line 2401 of file scan.cc.

Variable Documentation

flex_int16_t yy_accept[129]
static
Initial value:
=
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
64, 44, 28, 29, 21, 6, 3, 44, 1, 2,
17, 7, 12, 9, 4, 26, 16, 27, 44, 44,
13, 44, 44, 44, 44, 63, 32, 44, 30, 31,
47, 48, 45, 46, 59, 59, 59, 62, 60, 61,
62, 28, 29, 5, 0, 0, 0, 8, 43, 43,
36, 37, 15, 38, 39, 40, 41, 42, 43, 14,
0, 0, 0, 0, 0, 0, 0, 0, 0, 19,
21, 20, 15, 0, 0, 0, 0, 0, 47, 48,
51, 52, 50, 0, 62, 0, 33, 0, 33, 0,
0, 24, 0, 0, 17, 18, 0, 11, 16, 23,
10, 22, 14, 26, 49, 53, 54, 55, 56, 57,
58, 60, 61, 0, 25, 34, 35, 0
}

Definition at line 443 of file scan.cc.

flex_int16_t yy_base[139]
static
Initial value:
=
{ 0,
0, 64, 20, 29, 15, 26, 16, 20, 24, 30,
185, 274, 181, 179, 274, 274, 155, 145, 149, 274,
274, 274, 274, 274, 274, 157, 274, 274, 113, 143,
274, 0, 110, 2, 48, 274, 274, 79, 274, 274,
0, 163, 274, 274, 274, 46, 120, 0, 274, 274,
108, 140, 133, 274, 6, 13, 64, 274, 274, 118,
274, 274, 274, 274, 274, 274, 274, 274, 107, 274,
91, 90, 102, 89, 145, 80, 78, 68, 65, 274,
274, 274, 274, 41, 32, 120, 57, 3, 0, 35,
274, 274, 274, 134, 0, 48, 274, 85, 95, 181,
21, 274, 13, 179, 274, 274, 181, 274, 274, 274,
274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
274, 274, 274, 7, 274, 274, 274, 274, 224, 229,
234, 239, 244, 249, 254, 259, 263, 268
}

Definition at line 504 of file scan.cc.

flex_int16_t yy_chk[340]
static

Definition at line 583 of file scan.cc.

flex_int16_t yy_def[139]
static
Initial value:
=
{ 0,
129, 129, 129, 129, 130, 130, 131, 131, 132, 132,
128, 128, 128, 128, 128, 128, 128, 133, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 134, 128,
128, 128, 128, 128, 128, 128, 128, 134, 128, 128,
135, 128, 128, 128, 128, 128, 128, 136, 128, 128,
128, 128, 128, 128, 133, 137, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 135, 128,
128, 128, 128, 128, 136, 128, 128, 133, 133, 137,
138, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 138, 128, 128, 128, 0, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128
}

Definition at line 523 of file scan.cc.

flex_int32_t yy_ec[256]
static

Definition at line 461 of file scan.cc.

flex_int32_t yy_meta[66]
static
Initial value:
=
{ 0,
1, 1, 2, 1, 1, 1, 1, 3, 4, 4,
1, 1, 1, 1, 1, 1, 1, 1, 1, 5,
5, 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, 5
}

Definition at line 493 of file scan.cc.

flex_int16_t yy_nxt[340]
static

Definition at line 542 of file scan.cc.

flex_int16_t yy_rule_linenum[63]
static
Initial value:
=
{ 0,
62, 63, 65, 66, 67, 68, 69, 70, 71, 72,
73, 74, 75, 76, 77, 80, 81, 82, 83, 88,
97, 98, 99, 102, 103, 106, 109, 112, 113, 117,
121, 122, 132, 136, 143, 147, 148, 149, 150, 151,
152, 153, 154, 155, 160, 164, 177, 178, 187, 188,
189, 190, 191, 192, 193, 194, 195, 196, 197, 211,
216, 230
}

Definition at line 624 of file scan.cc.

yy_size_t yyleng