Clan  0.8.0
Data Structures | Defines | Typedefs | Functions | Variables
scanner.c File Reference
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include <osl/vector.h>
#include <osl/relation.h>
#include <osl/relation_list.h>
#include <osl/statement.h>
#include <osl/scop.h>
#include <parser.h>
#include <clan/macros.h>
#include <clan/symbol.h>
#include <clan/options.h>
#include <unistd.h>
Include dependency graph for scanner.c:

Go to the source code of this file.

Data Structures

struct  yy_buffer_state
struct  yy_trans_info

Defines

#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   118
#define YY_END_OF_BUFFER   119
#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 INITIAL   0
#define LINECOMMENT   1
#define FULLCOMMENT   2
#define CLAY   3
#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_USER_ACTION
#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 clan_scanner_count ()
int clan_scanner (int, char *)
void clan_scanner_initialize ()
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)
int yylex (void)
static void yy_fatal_error (yyconst char *msg)
void clan_scanner_reinitialize (int pragma, int line, int column)
void clan_scanner_free ()

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 [372]
static yyconst flex_int32_t yy_ec [256]
static yyconst flex_int32_t yy_meta [71]
static yyconst flex_int16_t yy_base [381]
static yyconst flex_int16_t yy_def [381]
static yyconst flex_int16_t yy_nxt [651]
static yyconst flex_int16_t yy_chk [651]
static yy_state_type yy_last_accepting_state
static char * yy_last_accepting_cpos
int yy_flex_debug = 0
int parser_recording
char * parser_record
clan_symbol_p parser_symbol
clan_options_p parser_options
int scanner_parsing
int scanner_comment
char * scanner_latest_text
char * scanner_clay
int scanner_line
int scanner_column
int scanner_column_LALR
int scanner_scop_start
int scanner_scop_end
int scanner_pragma
int scanner_space

Define Documentation

#define BEGIN   (yy_start) = 1 + 2 *

Definition at line 125 of file scanner.c.

#define CLAY   3

Definition at line 796 of file scanner.c.

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

Definition at line 881 of file scanner.c.

#define EOB_ACT_CONTINUE_SCAN   0

Definition at line 165 of file scanner.c.

#define EOB_ACT_END_OF_FILE   1

Definition at line 166 of file scanner.c.

#define EOB_ACT_LAST_MATCH   2

Definition at line 167 of file scanner.c.

#define FLEX_BETA

Definition at line 13 of file scanner.c.

#define FLEX_SCANNER

Definition at line 8 of file scanner.c.

#define FLEXINT_H

Definition at line 29 of file scanner.c.

#define FULLCOMMENT   2

Definition at line 795 of file scanner.c.

#define INITIAL   0

Definition at line 793 of file scanner.c.

#define INT16_MAX   (32767)

Definition at line 73 of file scanner.c.

#define INT16_MIN   (-32767-1)

Definition at line 64 of file scanner.c.

#define INT32_MAX   (2147483647)

Definition at line 76 of file scanner.c.

#define INT32_MIN   (-2147483647-1)

Definition at line 67 of file scanner.c.

#define INT8_MAX   (127)

Definition at line 70 of file scanner.c.

#define INT8_MIN   (-128)

Definition at line 61 of file scanner.c.

#define LINECOMMENT   1

Definition at line 794 of file scanner.c.

#define REJECT   reject_used_but_not_detected

Definition at line 712 of file scanner.c.

#define UINT16_MAX   (65535U)

Definition at line 82 of file scanner.c.

#define UINT32_MAX   (4294967295U)

Definition at line 85 of file scanner.c.

#define UINT8_MAX   (255U)

Definition at line 79 of file scanner.c.

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

Definition at line 185 of file scanner.c.

#define YY_AT_BOL ( )    (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)

Definition at line 331 of file scanner.c.

#define YY_BREAK   break;

Definition at line 960 of file scanner.c.

#define YY_BUF_SIZE   16384

Definition at line 144 of file scanner.c.

#define YY_BUFFER_EOF_PENDING   2

Definition at line 247 of file scanner.c.

#define YY_BUFFER_NEW   0

Definition at line 235 of file scanner.c.

Referenced by yy_flush_buffer(), and yy_scan_buffer().

#define YY_BUFFER_NORMAL   1

Definition at line 236 of file scanner.c.

Definition at line 270 of file scanner.c.

Referenced by yylex_destroy(), yypop_buffer_state(), and yypush_buffer_state().

#define YY_DECL   int yylex (void)

Definition at line 948 of file scanner.c.

#define YY_DECL_IS_OURS   1

Definition at line 944 of file scanner.c.

Value:
(yytext_ptr) = yy_bp; \
        yyleng = (yy_size_t) (yy_cp - yy_bp); \
        (yy_hold_char) = *yy_cp; \
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;

Definition at line 359 of file scanner.c.

#define YY_END_OF_BUFFER   119

Definition at line 367 of file scanner.c.

#define YY_END_OF_BUFFER_CHAR   0

Definition at line 140 of file scanner.c.

Referenced by yy_flush_buffer(), yy_scan_buffer(), and yy_scan_bytes().

#define YY_EXIT_FAILURE   2

Definition at line 2522 of file scanner.c.

Referenced by yy_fatal_error().

#define YY_EXTRA_TYPE   void *

Definition at line 807 of file scanner.c.

#define YY_FATAL_ERROR (   msg)    yy_fatal_error( msg )

Definition at line 935 of file scanner.c.

Referenced by yy_scan_buffer(), yy_scan_bytes(), and yyensure_buffer_stack().

#define YY_FLEX_MAJOR_VERSION   2

Definition at line 9 of file scanner.c.

#define YY_FLEX_MINOR_VERSION   5

Definition at line 10 of file scanner.c.

#define YY_FLEX_SUBMINOR_VERSION   35

Definition at line 11 of file scanner.c.

Definition at line 299 of file scanner.c.

#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); \
                        } \
                }\
\

Definition at line 888 of file scanner.c.

#define YY_INT_ALIGNED   short int

Definition at line 4 of file scanner.c.

#define YY_LESS_LINENO (   n)

Definition at line 169 of file scanner.c.

#define YY_MORE_ADJ   0

Definition at line 714 of file scanner.c.

Definition at line 309 of file scanner.c.

#define YY_NEW_FILE   yyrestart(yyin )

Definition at line 138 of file scanner.c.

#define YY_NO_INPUT   1

Definition at line 787 of file scanner.c.

#define YY_NULL   0

Definition at line 112 of file scanner.c.

#define YY_NUM_RULES   118

Definition at line 366 of file scanner.c.

#define YY_READ_BUF_SIZE   8192

Definition at line 873 of file scanner.c.

Definition at line 715 of file scanner.c.

Definition at line 963 of file scanner.c.

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

Definition at line 119 of file scanner.c.

#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; \
        }

Definition at line 321 of file scanner.c.

#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; \
        }

Definition at line 311 of file scanner.c.

#define YY_SKIP_YYWRAP

Definition at line 336 of file scanner.c.

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

Definition at line 131 of file scanner.c.

#define YY_START_STACK_INCR   25

Definition at line 930 of file scanner.c.

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

Definition at line 149 of file scanner.c.

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

Definition at line 135 of file scanner.c.

Definition at line 188 of file scanner.c.

Definition at line 152 of file scanner.c.

Definition at line 157 of file scanner.c.

#define YY_USER_ACTION

Definition at line 955 of file scanner.c.

#define yyconst

Definition at line 108 of file scanner.c.

#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_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 )

Definition at line 2534 of file scanner.c.

#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 )

Definition at line 2534 of file scanner.c.

#define yymore ( )    yymore_used_but_not_detected

Definition at line 713 of file scanner.c.

#define YYSTATE   YY_START

Definition at line 132 of file scanner.c.

#define YYTABLES_NAME   "yytables"

Definition at line 2724 of file scanner.c.

#define yyterminate ( )    return YY_NULL

Definition at line 925 of file scanner.c.

#define yytext_ptr   yytext

Definition at line 349 of file scanner.c.

#define yywrap (   n)    1

Definition at line 335 of file scanner.c.


Typedef Documentation

typedef short int flex_int16_t

Definition at line 52 of file scanner.c.

typedef int flex_int32_t

Definition at line 53 of file scanner.c.

typedef signed char flex_int8_t

Definition at line 51 of file scanner.c.

typedef unsigned short int flex_uint16_t

Definition at line 55 of file scanner.c.

typedef unsigned int flex_uint32_t

Definition at line 56 of file scanner.c.

typedef unsigned char flex_uint8_t

Definition at line 54 of file scanner.c.

Definition at line 153 of file scanner.c.

typedef unsigned char YY_CHAR

Definition at line 338 of file scanner.c.

typedef size_t yy_size_t

Definition at line 158 of file scanner.c.

typedef int yy_state_type

Definition at line 342 of file scanner.c.


Function Documentation

int clan_scanner ( int  token,
char *  message 
)

clan_scanner function: This function achieves some basic work when Lex recognize something: it prints a log information if necessary for debugging, it updates the string scanner_latest_text with the string that have been read and returns the token if we are scanning a SCoP or the special token IGNORE otherwise.

Parameters:
tokenThe token code to send to Yacc for the Lex item.
messageA string to be printed for debugging.

Definition at line 2818 of file scanner.c.

References CLAN_DEBUG, CLAN_FALSE, CLAN_realloc, clan_scanner_count(), CLAN_TRUE, and IGNORE.

clan_scanner_count function: this function updates the current line and column the scanner is reading.

Definition at line 2777 of file scanner.c.

References scanner_column.

Referenced by clan_scanner().

clan_scanner_free function: this function frees the memory allocated for the scanner. It frees flex's buffer (it supposes there is only one buffer) since flex does never free it itself. WARNING: this is probably not portable...

Definition at line 2799 of file scanner.c.

References YY_CURRENT_BUFFER, and yy_delete_buffer().

Referenced by clan_parse(), and clan_parser_autoscop().

clan_scanner_initialize function: this function initialises the scanner global variables with default values.

Definition at line 2735 of file scanner.c.

References CLAN_FALSE, CLAN_malloc, CLAN_UNDEFINED, yy_buffer_stack_top, YY_CURRENT_BUFFER, and yy_flush_buffer().

Referenced by clan_parse(), and clan_scanner_reinitialize().

void clan_scanner_reinitialize ( int  pragma,
int  line,
int  column 
)

clan_scanner_reinitialize function: this function frees the temporary dynamic variables of the scanner and and reset the variables to default or input values. It is meant to be used for a clean restart after a parse error.

Parameters:
[in]pragmaThe initialization value of scanner_pragma.
[in]lineThe initialization value of scanner_line.
[in]columnThe initialization value of scanner_column.

Definition at line 2763 of file scanner.c.

References clan_scanner_initialize().

Referenced by clan_parser_autoscop().

YY_BUFFER_STATE yy_create_buffer ( FILE *  file,
int  size 
)
static void yy_fatal_error ( yyconst char  msg[]) [static]
static void yy_fatal_error ( yyconst char *  msg) [static]

Definition at line 2525 of file scanner.c.

References YY_EXIT_FAILURE.

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

Parameters:
bthe buffer state to be flushed, usually YY_CURRENT_BUFFER.

Definition at line 2315 of file scanner.c.

References yy_buffer_state::yy_at_bol, yy_buffer_state::yy_buf_pos, YY_BUFFER_NEW, yy_buffer_state::yy_buffer_status, yy_buffer_state::yy_ch_buf, YY_CURRENT_BUFFER, YY_END_OF_BUFFER_CHAR, yy_load_buffer_state(), and yy_buffer_state::yy_n_chars.

Referenced by clan_scanner_initialize(), and yy_init_buffer().

static int yy_get_next_buffer ( void  ) [static]
static yy_state_type yy_get_previous_state ( void  ) [static]
static void yy_init_buffer ( YY_BUFFER_STATE  b,
FILE *  file 
) [static]
static int yy_init_globals ( void  ) [static]

Definition at line 2628 of file scanner.c.

References yy_buffer_stack, yy_buffer_stack_max, yy_buffer_stack_top, yy_c_buf_p, yy_init, yy_start, yyin, and yyout.

Referenced by yylex_destroy().

static void yy_load_buffer_state ( void  ) [static]
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.

Definition at line 2442 of file scanner.c.

References yy_buffer_state::yy_at_bol, yy_buffer_state::yy_buf_pos, yy_buffer_state::yy_buf_size, YY_BUFFER_NEW, yy_buffer_state::yy_buffer_status, yy_buffer_state::yy_ch_buf, YY_END_OF_BUFFER_CHAR, YY_FATAL_ERROR, yy_buffer_state::yy_fill_buffer, yy_buffer_state::yy_input_file, yy_buffer_state::yy_is_interactive, yy_buffer_state::yy_is_our_buffer, yy_buffer_state::yy_n_chars, yy_switch_to_buffer(), and yyalloc().

Referenced by 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.

Definition at line 2492 of file scanner.c.

References YY_END_OF_BUFFER_CHAR, YY_FATAL_ERROR, yy_buffer_state::yy_is_our_buffer, yy_scan_buffer(), and yyalloc().

Referenced by yy_scan_string().

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.

Definition at line 2479 of file scanner.c.

References yy_scan_bytes().

void yy_switch_to_buffer ( YY_BUFFER_STATE  new_buffer)

Referenced by yy_scan_buffer().

static yy_state_type yy_try_NUL_trans ( yy_state_type  current_state) [static]
void * yyalloc ( yy_size_t  size)

Definition at line 2702 of file scanner.c.

Referenced by yy_scan_buffer(), yy_scan_bytes(), and yyensure_buffer_stack().

static void yyensure_buffer_stack ( void  ) [static]
void yyfree ( void *  ptr)

Definition at line 2719 of file scanner.c.

Referenced by yylex_destroy().

int yyget_debug ( void  )

Definition at line 2618 of file scanner.c.

References yy_flex_debug.

FILE * yyget_in ( void  )

Get the input stream.

Definition at line 2562 of file scanner.c.

References yyin.

yy_size_t yyget_leng ( void  )

Get the length of the current token.

Definition at line 2578 of file scanner.c.

References yyleng.

int yyget_lineno ( void  )

Get the current line number.

Definition at line 2553 of file scanner.c.

References yylineno.

FILE * yyget_out ( void  )

Get the output stream.

Definition at line 2570 of file scanner.c.

References yyout.

char * yyget_text ( void  )

Get the current token.

Definition at line 2587 of file scanner.c.

References yytext.

int yylex ( void  )
int yylex_destroy ( void  )
void yypop_buffer_state ( void  )

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

Definition at line 2374 of file scanner.c.

References yy_buffer_stack_top, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, yy_delete_buffer(), yy_did_buffer_switch_on_eof, and yy_load_buffer_state().

Referenced by yylex_destroy().

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.

Definition at line 2344 of file scanner.c.

References yy_buffer_stack_top, yy_c_buf_p, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, yy_did_buffer_switch_on_eof, yy_hold_char, yy_load_buffer_state(), yy_n_chars, and yyensure_buffer_stack().

void * yyrealloc ( void *  ptr,
yy_size_t  size 
)

Definition at line 2707 of file scanner.c.

Referenced by yyensure_buffer_stack().

void yyrestart ( FILE *  input_file)
void yyset_debug ( int  debug_flag)

Definition at line 2623 of file scanner.c.

void yyset_extra ( YY_EXTRA_TYPE  user_defined)
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

Definition at line 2608 of file scanner.c.

References yyin.

void yyset_lineno ( int  line_number)

Set the current line number.

Parameters:
line_number

Definition at line 2596 of file scanner.c.

void yyset_out ( FILE *  out_str)

Definition at line 2613 of file scanner.c.

References yyout.


Variable Documentation

Clan options

Definition at line 151 of file parser.c.

What we record

What we record (statement body)

Definition at line 126 of file parser.c.

Referenced by clan_parser_reinitialize(), clan_parser_state_initialize(), and yyparse().

Do we record what we read?

Boolean: do we record or not?

Definition at line 125 of file parser.c.

Referenced by clan_parser_state_initialize(), and yyparse().

Top of the symbol table

Definition at line 124 of file parser.c.

char* scanner_clay

Data for the Clay software

Definition at line 779 of file scanner.c.

Referenced by yyparse().

Current column number

Definition at line 781 of file scanner.c.

Referenced by clan_parser_autoscop(), clan_scanner_count(), yyerror(), and yyparse().

Column number before token

Definition at line 782 of file scanner.c.

Referenced by yyparse().

Comment nesting depth

Definition at line 777 of file scanner.c.

Latest text read

Definition at line 778 of file scanner.c.

Referenced by yyparse().

Current line number

Definition at line 780 of file scanner.c.

Referenced by clan_parser_autoscop(), yyerror(), and yyparse().

Do we parse or not?

Definition at line 776 of file scanner.c.

Referenced by clan_parser_autoscop().

Between SCoP pragmas or not?

Definition at line 785 of file scanner.c.

Referenced by clan_parser_autoscop().

SCoP ending line

Definition at line 784 of file scanner.c.

Referenced by clan_parser_autoscop(), and clan_scop_generate_coordinates().

SCoP starting line

Definition at line 783 of file scanner.c.

Referenced by clan_parser_autoscop(), and clan_scop_generate_coordinates().

Are we reading spaces or not?

Definition at line 786 of file scanner.c.

Definition at line 375 of file scanner.c.

yyconst flex_int16_t yy_base[381] [static]

Definition at line 463 of file scanner.c.

Stack as an array.

Definition at line 255 of file scanner.c.

Referenced by yy_init_globals(), yyensure_buffer_stack(), and yylex_destroy().

size_t yy_buffer_stack_max = 0 [static]

capacity of stack.

Definition at line 254 of file scanner.c.

Referenced by yy_init_globals(), and yyensure_buffer_stack().

size_t yy_buffer_stack_top = 0 [static]

index of top of stack.

Definition at line 253 of file scanner.c.

Referenced by clan_scanner_initialize(), yy_init_globals(), yyensure_buffer_stack(), yypop_buffer_state(), and yypush_buffer_state().

char* yy_c_buf_p = (char *) 0 [static]

Definition at line 278 of file scanner.c.

Referenced by yy_init_globals(), and yypush_buffer_state().

yyconst flex_int16_t yy_chk[651] [static]

Definition at line 628 of file scanner.c.

yyconst flex_int16_t yy_def[381] [static]

Definition at line 508 of file scanner.c.

Definition at line 285 of file scanner.c.

Referenced by yypop_buffer_state(), and yypush_buffer_state().

yyconst flex_int32_t yy_ec[256] [static]

Definition at line 420 of file scanner.c.

int yy_flex_debug = 0

Definition at line 707 of file scanner.c.

Referenced by yyget_debug().

char yy_hold_char [static]

Definition at line 273 of file scanner.c.

Referenced by yypush_buffer_state().

int yy_init = 0 [static]

Definition at line 279 of file scanner.c.

Referenced by yy_init_globals().

char* yy_last_accepting_cpos [static]

Definition at line 704 of file scanner.c.

Definition at line 703 of file scanner.c.

Initial value:
    {   0,
        1,    1,    2,    1,    1,    1,    1,    1,    1,    3,
        1,    1,    1,    1,    1,    1,    4,    1,    5,    5,
        1,    1,    1,    1,    1,    1,    5,    5,    5,    5,
        5,    6,    6,    7,    7,    6,    6,    1,    1,    1,
        1,    6,    5,    5,    5,    5,    5,    5,    6,    6,
        6,    6,    7,    6,    6,    6,    7,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    1,    1,    1,    1
    }

Definition at line 452 of file scanner.c.

Definition at line 274 of file scanner.c.

Referenced by yypush_buffer_state().

yyconst flex_int16_t yy_nxt[651] [static]

Definition at line 553 of file scanner.c.

int yy_start = 0 [static]

Definition at line 280 of file scanner.c.

Referenced by yy_init_globals().

FILE* yyin = (FILE *) 0

Definition at line 340 of file scanner.c.

Definition at line 275 of file scanner.c.

Referenced by yyget_leng().

int yylineno = 1

Definition at line 346 of file scanner.c.

Referenced by yyget_lineno().

FILE * yyout = (FILE *) 0

Definition at line 340 of file scanner.c.

Referenced by yy_init_globals(), yyget_out(), and yyset_out().

char * yytext

Definition at line 716 of file scanner.c.

Referenced by yyget_text().