osprey/kgccfe/gnu/f/lex.c File Reference

#include "proj.h"
#include "top.h"
#include "bad.h"
#include "com.h"
#include "lex.h"
#include "malloc.h"
#include "src.h"
#include "debug.h"
#include "flags.h"
#include "input.h"
#include "toplev.h"
#include "output.h"
#include "ggc.h"

Include dependency graph for lex.c:

Go to the source code of this file.

Defines

#define FFELEX_columnINITIAL_SIZE_   255
#define FFELEX_FREE_MAX_COLUMNS_   132
#define FFELEX_columnTOKEN_SIZE_   63
#define wide_flag   0
#define warn_traditional   0
#define flag_traditional   0

Functions/Subroutines

static void ffelex_append_to_token_ (char c)
static int ffelex_backslash_ (int c, ffewhereColumnNumber col)
static void ffelex_bad_1_ (ffebad errnum, ffewhereLineNumber ln0, ffewhereColumnNumber cn0)
static void ffelex_bad_2_ (ffebad errnum, ffewhereLineNumber ln0, ffewhereColumnNumber cn0, ffewhereLineNumber ln1, ffewhereColumnNumber cn1)
static void ffelex_bad_here_ (int num, ffewhereLineNumber ln0, ffewhereColumnNumber cn0)
static void ffelex_finish_statement_ (void)
static int ffelex_get_directive_line_ (char **text, FILE *finput)
static int ffelex_hash_ (FILE *f)
static ffewhereColumnNumber ffelex_image_char_ (int c, ffewhereColumnNumber col)
static void ffelex_include_ (void)
static bool ffelex_is_free_char_ctx_contin_ (ffewhereColumnNumber col)
static bool ffelex_is_free_nonc_ctx_contin_ (ffewhereColumnNumber col)
static void ffelex_next_line_ (void)
static void ffelex_prepare_eos_ (void)
static void ffelex_send_token_ (void)
static ffelexHandler ffelex_swallow_tokens_ (ffelexToken t)
static ffelexToken ffelex_token_new_ (void)
static int ffelex_getc_ (FILE *finput)
static int ffelex_cfebackslash_ (int *use_d, int *d, FILE *finput)
static int ffelex_cfelex_ (ffelexToken *xtoken, FILE *finput, int c)
static void ffelex_file_pop_ (const char *input_filename)
static void ffelex_file_push_ (int old_lineno, const char *input_filename)
static const char * ffelex_type_string_ (ffelexType type)
void ffelex_display_token (ffelexToken t)
bool ffelex_expecting_character ()
ffelexHandler ffelex_file_fixed (ffewhereFile wf, FILE *f)
ffelexHandler ffelex_file_free (ffewhereFile wf, FILE *f)
void ffelex_hash_kludge (FILE *finput)
void ffelex_init_1 ()
bool ffelex_is_names_expected ()
char * ffelex_line ()
ffewhereColumnNumber ffelex_line_length ()
ffewhereLineNumber ffelex_line_number ()
void ffelex_set_expecting_hollerith (long length, char which, ffewhereLine line, ffewhereColumn column)
void ffelex_set_handler (ffelexHandler first)
void ffelex_set_hexnum (bool f)
void ffelex_set_include (ffewhereFile wf, bool free_form, FILE *fi)
void ffelex_set_names (bool f)
void ffelex_set_names_pure (bool f)
ffelexHandler ffelex_splice_tokens (ffelexHandler first, ffelexToken master, ffeTokenLength start)
ffelexHandler ffelex_swallow_tokens (ffelexToken t, ffelexHandler handler)
ffelexToken ffelex_token_dollar_from_names (ffelexToken t, ffeTokenLength start)
void ffelex_token_kill (ffelexToken t)
ffelexToken ffelex_token_name_from_names (ffelexToken t, ffeTokenLength start, ffeTokenLength len)
ffelexToken ffelex_token_names_from_names (ffelexToken t, ffeTokenLength start, ffeTokenLength len)
ffelexToken ffelex_token_new_character (const char *s, ffewhereLine l, ffewhereColumn c)
ffelexToken ffelex_token_new_eof ()
ffelexToken ffelex_token_new_name (const char *s, ffewhereLine l, ffewhereColumn c)
ffelexToken ffelex_token_new_names (const char *s, ffewhereLine l, ffewhereColumn c)
ffelexToken ffelex_token_new_number (const char *s, ffewhereLine l, ffewhereColumn c)
ffelexToken ffelex_token_new_simple_ (ffelexType type, ffewhereLine l, ffewhereColumn c)
ffelexToken ffelex_token_number_from_names (ffelexToken t, ffeTokenLength start)
ffelexToken ffelex_token_uscore_from_names (ffelexToken t, ffeTokenLength start)
ffelexToken ffelex_token_use (ffelexToken t)

Variables

static char * ffelex_card_image_
static ffewhereColumnNumber ffelex_card_size_
static ffewhereColumnNumber ffelex_card_length_
static bool ffelex_saw_tab_
static bool ffelex_bad_line_ = FALSE
static ffewhereColumnNumber ffelex_final_nontab_column_
static ffelexType ffelex_first_char_ [256]
static ffewhereFile ffelex_current_wf_
static bool ffelex_permit_include_
static bool ffelex_set_include_
static FILEffelex_include_file_
static bool ffelex_include_free_form_
static ffewhereFile ffelex_include_wherefile_
static ffewhereLineNumber ffelex_linecount_current_
static ffewhereLineNumber ffelex_linecount_next_
static ffewhereLine ffelex_current_wl_
static ffewhereColumn ffelex_current_wc_
static ffelexToken ffelex_token_
static ffelexHandler ffelex_handler_
static bool ffelex_names_
static bool ffelex_names_pure_
static bool ffelex_hexnum_
static ffelexHandler ffelex_eos_handler_
static unsigned long int ffelex_number_of_tokens_
static unsigned long int ffelex_label_tokens_
static long int ffelex_total_tokens_ = 0
static long int ffelex_old_total_tokens_ = 1
static long int ffelex_token_nextid_ = 0
static long int ffelex_expecting_hollerith_
static long int ffelex_raw_mode_
static char ffelex_raw_char_
static bool ffelex_backslash_reconsider_ = FALSE
static int * ffelex_kludge_chars_ = NULL
static bool ffelex_kludge_flag_ = FALSE
static ffewhereLine ffelex_raw_where_line_
static ffewhereColumn ffelex_raw_where_col_


Define Documentation

#define FFELEX_columnINITIAL_SIZE_   255

Definition at line 63 of file lex.c.

Referenced by ffelex_file_fixed(), and ffelex_init_1().

#define FFELEX_columnTOKEN_SIZE_   63

Definition at line 125 of file lex.c.

Referenced by ffelex_append_to_token_().

#define FFELEX_FREE_MAX_COLUMNS_   132

Definition at line 74 of file lex.c.

Referenced by ffelex_file_free().

#define flag_traditional   0

#define warn_traditional   0

#define wide_flag   0


Function Documentation

static void ffelex_append_to_token_ ( char  c  )  [static]

static int ffelex_backslash_ ( int  c,
ffewhereColumnNumber  col 
) [static]

static void ffelex_bad_1_ ( ffebad  errnum,
ffewhereLineNumber  ln0,
ffewhereColumnNumber  cn0 
) [static]

static void ffelex_bad_2_ ( ffebad  errnum,
ffewhereLineNumber  ln0,
ffewhereColumnNumber  cn0,
ffewhereLineNumber  ln1,
ffewhereColumnNumber  cn1 
) [static]

static void ffelex_bad_here_ ( int  num,
ffewhereLineNumber  ln0,
ffewhereColumnNumber  cn0 
) [static]

static int ffelex_cfebackslash_ ( int *  use_d,
int *  d,
FILE finput 
) [static]

static int ffelex_cfelex_ ( ffelexToken xtoken,
FILE finput,
int  c 
) [static]

void ffelex_display_token ( ffelexToken  t  ) 

bool ffelex_expecting_character ( void   ) 

Definition at line 1794 of file lex.c.

References ffelex_raw_mode_.

Referenced by ffesta_save_().

ffelexHandler ffelex_file_fixed ( ffewhereFile  wf,
FILE f 
)

Definition at line 1808 of file lex.c.

References abort, assert, c, _lextoken_::currentnames_col, _lextoken_::currentnames_line, EOF, FALSE, ffe_case_match, ffe_is_90, ffe_is_dollar_ok, ffe_is_pedantic, ffe_is_vxt, ffelex_append_to_token_(), ffelex_backslash_(), ffelex_backslash_reconsider_, ffelex_bad_1_(), ffelex_bad_2_(), ffelex_bad_line_, ffelex_card_image_, ffelex_card_length_, ffelex_card_size_, FFELEX_columnINITIAL_SIZE_, ffelex_current_wc_, ffelex_expecting_hollerith_, ffelex_final_nontab_column_, ffelex_finish_statement_(), ffelex_first_char_, ffelex_getc_(), ffelex_handler_, ffelex_hash_(), ffelex_hexnum_, ffelex_image_char_(), ffelex_label_tokens_, ffelex_linecount_current_, ffelex_names_, ffelex_next_line_(), ffelex_number_of_tokens_, ffelex_permit_include_, ffelex_prepare_eos_(), ffelex_raw_char_, ffelex_raw_mode_, ffelex_raw_where_col_, ffelex_saw_tab_, ffelex_send_token_(), FFELEX_typeAMPERSAND, FFELEX_typeAPOSTROPHE, FFELEX_typeASTERISK, FFELEX_typeCLOSE_ANGLE, FFELEX_typeCLOSE_ARRAY, FFELEX_typeCLOSE_PAREN, FFELEX_typeCOLON, FFELEX_typeCOLONCOLON, FFELEX_typeCOMMA, FFELEX_typeCOMMENT, FFELEX_typeCONCAT, FFELEX_typeDEBUG, FFELEX_typeDOLLAR, FFELEX_typeEQUALS, FFELEX_typeERROR, FFELEX_typeHASH, FFELEX_typeHOLLERITH, FFELEX_typeMINUS, FFELEX_typeNAME, FFELEX_typeNAMES, FFELEX_typeNONE, FFELEX_typeNUMBER, FFELEX_typeOPEN_ANGLE, FFELEX_typeOPEN_ARRAY, FFELEX_typeOPEN_PAREN, FFELEX_typePERCENT, FFELEX_typePERIOD, FFELEX_typePLUS, FFELEX_typePOINTS, FFELEX_typePOWER, FFELEX_typeQUESTION, FFELEX_typeQUOTE, FFELEX_typeREL_EQ, FFELEX_typeREL_GE, FFELEX_typeREL_LE, FFELEX_typeREL_NE, FFELEX_typeSEMICOLON, FFELEX_typeSLASH, FFELEX_typeUNDERSCORE, ffesrc_char_match_init, ffesrc_char_source, ffesrc_strncmp_2c(), ffewhere_column_kill, ffewhere_column_new, ffewhere_column_unknown, ffewhere_column_use, FFEWHERE_columnUNKNOWN, ffewhere_file_name, FFEWHERE_indexMAX, ffewhere_line_kill(), ffewhere_line_new(), ffewhere_line_unknown, ffewhere_line_use(), ffewhere_track(), first_line, getc(), i, input_filename, _lextoken_::length, lineno, malloc_pool_image, NULL, strcpy, _lextoken_::text, TRUE, _lextoken_::type, _lextoken_::where_col, _lextoken_::where_line, and _lextoken_::wheretrack.

Referenced by ffe_file(), and ffelex_include_().

ffelexHandler ffelex_file_free ( ffewhereFile  wf,
FILE f 
)

Definition at line 3007 of file lex.c.

References abort, assert, c, _lextoken_::currentnames_col, _lextoken_::currentnames_line, EOF, FALSE, ffe_is_90, ffe_is_dollar_ok, ffelex_append_to_token_(), ffelex_backslash_(), ffelex_backslash_reconsider_, ffelex_bad_1_(), ffelex_bad_line_, ffelex_card_image_, ffelex_card_length_, ffelex_current_wc_, ffelex_expecting_hollerith_, ffelex_finish_statement_(), FFELEX_FREE_MAX_COLUMNS_, ffelex_getc_(), ffelex_handler_, ffelex_hash_(), ffelex_hexnum_, ffelex_image_char_(), ffelex_is_free_char_ctx_contin_(), ffelex_is_free_nonc_ctx_contin_(), ffelex_linecount_current_, ffelex_names_pure_, ffelex_next_line_(), ffelex_number_of_tokens_, ffelex_permit_include_, ffelex_raw_char_, ffelex_raw_mode_, ffelex_raw_where_col_, ffelex_saw_tab_, ffelex_send_token_(), FFELEX_typeAMPERSAND, FFELEX_typeAPOSTROPHE, FFELEX_typeASTERISK, FFELEX_typeCLOSE_ANGLE, FFELEX_typeCLOSE_ARRAY, FFELEX_typeCLOSE_PAREN, FFELEX_typeCOLON, FFELEX_typeCOLONCOLON, FFELEX_typeCOMMA, FFELEX_typeCONCAT, FFELEX_typeDOLLAR, FFELEX_typeEQUALS, FFELEX_typeHOLLERITH, FFELEX_typeMINUS, FFELEX_typeNAME, FFELEX_typeNAMES, FFELEX_typeNONE, FFELEX_typeNUMBER, FFELEX_typeOPEN_ANGLE, FFELEX_typeOPEN_ARRAY, FFELEX_typeOPEN_PAREN, FFELEX_typePERCENT, FFELEX_typePERIOD, FFELEX_typePLUS, FFELEX_typePOINTS, FFELEX_typePOWER, FFELEX_typeQUESTION, FFELEX_typeQUOTE, FFELEX_typeREL_EQ, FFELEX_typeREL_GE, FFELEX_typeREL_LE, FFELEX_typeREL_NE, FFELEX_typeSEMICOLON, FFELEX_typeSLASH, FFELEX_typeUNDERSCORE, ffesrc_char_match_init, ffesrc_char_source, ffewhere_column_kill, ffewhere_column_new, ffewhere_column_unknown, ffewhere_column_use, ffewhere_file_name, FFEWHERE_indexMAX, ffewhere_line_kill(), ffewhere_line_new(), ffewhere_line_unknown, ffewhere_line_use(), ffewhere_track(), getc(), input_filename, _lextoken_::length, lineno, NULL, TRUE, _lextoken_::type, _lextoken_::where_col, _lextoken_::where_line, and _lextoken_::wheretrack.

Referenced by ffe_file(), and ffelex_include_().

static void ffelex_file_pop_ ( const char *  input_filename  )  [static]

static void ffelex_file_push_ ( int  old_lineno,
const char *  input_filename 
) [static]

static void ffelex_finish_statement_ ( void   )  [static]

static int ffelex_get_directive_line_ ( char **  text,
FILE finput 
) [static]

Definition at line 964 of file lex.c.

References bytes_used, c, EOF, error(), ffelex_next_line_(), getc(), NULL, p, xmalloc(), and xrealloc().

Referenced by ffelex_hash_().

static int ffelex_getc_ ( FILE finput  )  [static]

Definition at line 563 of file lex.c.

References c, ffelex_kludge_chars_, getc(), and NULL.

Referenced by ffelex_cfelex_(), ffelex_file_fixed(), ffelex_file_free(), and ffelex_hash_().

static int ffelex_hash_ ( FILE f  )  [static]

void ffelex_hash_kludge ( FILE finput  ) 

Definition at line 3907 of file lex.c.

References ARRAY_SIZE, c, EOF, FALSE, ffelex_hash_(), ffelex_kludge_chars_, ffelex_kludge_flag_, getc(), p, q, and TRUE.

Referenced by ffe_init().

static ffewhereColumnNumber ffelex_image_char_ ( int  c,
ffewhereColumnNumber  col 
) [static]

static void ffelex_include_ ( void   )  [static]

void ffelex_init_1 ( void   ) 

static bool ffelex_is_free_char_ctx_contin_ ( ffewhereColumnNumber  col  )  [static]

Definition at line 1582 of file lex.c.

References FALSE, ffelex_card_image_, and TRUE.

Referenced by ffelex_file_free().

static bool ffelex_is_free_nonc_ctx_contin_ ( ffewhereColumnNumber  col  )  [static]

Definition at line 1603 of file lex.c.

References FALSE, ffelex_card_image_, and TRUE.

Referenced by ffelex_file_free().

bool ffelex_is_names_expected ( void   ) 

Definition at line 4024 of file lex.c.

References ffelex_names_.

Referenced by ffesta_save_().

char* ffelex_line ( void   ) 

Definition at line 4033 of file lex.c.

References ffelex_card_image_.

Referenced by ffewhere_line_new().

ffewhereColumnNumber ffelex_line_length ( void   ) 

Definition at line 4045 of file lex.c.

References ffelex_card_length_.

Referenced by ffewhere_line_new().

ffewhereLineNumber ffelex_line_number ( void   ) 

Definition at line 4054 of file lex.c.

References ffelex_linecount_current_.

Referenced by ffewhere_file_set(), and ffewhere_line_new().

static void ffelex_next_line_ ( void   )  [static]

static void ffelex_prepare_eos_ ( void   )  [static]

static void ffelex_send_token_ ( void   )  [static]

void ffelex_set_expecting_hollerith ( long  length,
char  which,
ffewhereLine  line,
ffewhereColumn  column 
)

void ffelex_set_handler ( ffelexHandler  first  ) 

Definition at line 4151 of file lex.c.

References ffelex_handler_.

Referenced by ffe_file().

void ffelex_set_hexnum ( bool  f  ) 

Definition at line 4168 of file lex.c.

References ffelex_hexnum_.

Referenced by ffeexpr_nil_name_rhs_(), ffeexpr_token_name_apos_(), and ffeexpr_token_name_rhs_().

void ffelex_set_include ( ffewhereFile  wf,
bool  free_form,
FILE fi 
)

void ffelex_set_names ( bool  f  ) 

void ffelex_set_names_pure ( bool  f  ) 

ffelexHandler ffelex_splice_tokens ( ffelexHandler  first,
ffelexToken  master,
ffeTokenLength  start 
)

ffelexHandler ffelex_swallow_tokens ( ffelexToken  t,
ffelexHandler  handler 
)

Definition at line 4325 of file lex.c.

References assert, ffelex_eos_handler_, ffelex_swallow_tokens_(), ffelex_token_type, FFELEX_typeEOS, FFELEX_typeSEMICOLON, and NULL.

Referenced by ffesta_first(), ffesta_second_(), ffesta_two(), ffestb_beru(), ffestb_beru10_(), ffestb_beru1_(), ffestb_beru4_(), ffestb_beru5_(), ffestb_beru6_(), ffestb_beru7_(), ffestb_beru8_(), ffestb_beru9_(), ffestb_block(), ffestb_blockdata(), ffestb_construct1_(), ffestb_decl_attrs_(), ffestb_decl_attrs_1_(), ffestb_decl_attrs_2_(), ffestb_decl_attrs_7_(), ffestb_decl_chartype(), ffestb_decl_dbltype(), ffestb_decl_double(), ffestb_decl_ents_(), ffestb_decl_ents_10_(), ffestb_decl_ents_11_(), ffestb_decl_ents_1_(), ffestb_decl_ents_2_(), ffestb_decl_ents_3_(), ffestb_decl_ents_4_(), ffestb_decl_ents_5_(), ffestb_decl_ents_6_(), ffestb_decl_ents_7_(), ffestb_decl_ents_8_(), ffestb_decl_ents_9_(), ffestb_decl_entsp_(), ffestb_decl_entsp_1_(), ffestb_decl_entsp_3_(), ffestb_decl_entsp_4_(), ffestb_decl_funcname_(), ffestb_decl_funcname_1_(), ffestb_decl_funcname_2_(), ffestb_decl_funcname_3_(), ffestb_decl_funcname_4_(), ffestb_decl_funcname_5_(), ffestb_decl_funcname_6_(), ffestb_decl_funcname_7_(), ffestb_decl_funcname_8_(), ffestb_decl_funcname_9_(), ffestb_decl_gentype(), ffestb_decl_kindparam_1_(), ffestb_decl_kindparam_2_(), ffestb_decl_R539(), ffestb_decl_R5391_(), ffestb_decl_R5392_(), ffestb_decl_R5394_(), ffestb_decl_R5395_(), ffestb_decl_R539letters_(), ffestb_decl_R539letters_1_(), ffestb_decl_R539letters_2_(), ffestb_decl_R539letters_3_(), ffestb_decl_R539letters_4_(), ffestb_decl_R539letters_5_(), ffestb_decl_R539maybe_5_(), ffestb_decl_starkind_(), ffestb_decl_starlen_(), ffestb_decl_starlen_1_(), ffestb_decl_typeparams_(), ffestb_decl_typeparams_1_(), ffestb_decl_typeparams_2_(), ffestb_decl_typeparams_3_(), ffestb_do(), ffestb_do1_(), ffestb_do2_(), ffestb_do3_(), ffestb_do4_(), ffestb_do5_(), ffestb_do7_(), ffestb_do8_(), ffestb_do9_(), ffestb_dowhile(), ffestb_dummy(), ffestb_dummy1_(), ffestb_dummy2_(), ffestb_else(), ffestb_else1_(), ffestb_else2_(), ffestb_else3_(), ffestb_else4_(), ffestb_else5_(), ffestb_elsexyz(), ffestb_end(), ffestb_end1_(), ffestb_end2_(), ffestb_end3_(), ffestb_endxyz(), ffestb_goto(), ffestb_goto1_(), ffestb_goto2_(), ffestb_goto3_(), ffestb_goto4_(), ffestb_goto5_(), ffestb_goto6_(), ffestb_goto7_(), ffestb_halt(), ffestb_halt1_(), ffestb_if(), ffestb_if1_(), ffestb_if2_(), ffestb_if3_(), ffestb_let(), ffestb_let1_(), ffestb_let2_(), ffestb_R1001(), ffestb_R100111_(), ffestb_R100112_(), ffestb_R100114_(), ffestb_R100115_(), ffestb_R100116_(), ffestb_R100117_(), ffestb_R100118_(), ffestb_R10012_(), ffestb_R10014_(), ffestb_R10017_(), ffestb_R10019_(), ffestb_R1102(), ffestb_R11021_(), ffestb_R1111_1_(), ffestb_R1111_2_(), ffestb_R1212(), ffestb_R12121_(), ffestb_R1227(), ffestb_R12271_(), ffestb_R1229(), ffestb_R12291_(), ffestb_R12292_(), ffestb_R522(), ffestb_R5221_(), ffestb_R5222_(), ffestb_R5223_(), ffestb_R5224_(), ffestb_R524(), ffestb_R5241_(), ffestb_R5242_(), ffestb_R5243_(), ffestb_R528(), ffestb_R5281_(), ffestb_R5282_(), ffestb_R5283_(), ffestb_R5284_(), ffestb_R537(), ffestb_R5371_(), ffestb_R5372_(), ffestb_R5373_(), ffestb_R542(), ffestb_R5421_(), ffestb_R5422_(), ffestb_R5423_(), ffestb_R5424_(), ffestb_R5425_(), ffestb_R544(), ffestb_R5441_(), ffestb_R5442_(), ffestb_R5443_(), ffestb_R5444_(), ffestb_R547(), ffestb_R5471_(), ffestb_R5472_(), ffestb_R5473_(), ffestb_R5474_(), ffestb_R5475_(), ffestb_R5476_(), ffestb_R809(), ffestb_R8091_(), ffestb_R8092_(), ffestb_R8093_(), ffestb_R810(), ffestb_R8101_(), ffestb_R8102_(), ffestb_R8103_(), ffestb_R8104_(), ffestb_R834(), ffestb_R8341_(), ffestb_R835(), ffestb_R8351_(), ffestb_R838(), ffestb_R8381_(), ffestb_R8382_(), ffestb_R8383_(), ffestb_R840(), ffestb_R8401_(), ffestb_R8402_(), ffestb_R8403_(), ffestb_R8404_(), ffestb_R8405_(), ffestb_R8406_(), ffestb_R8407_(), ffestb_R841(), ffestb_R904(), ffestb_R9043_(), ffestb_R9044_(), ffestb_R9045_(), ffestb_R9046_(), ffestb_R9047_(), ffestb_R9048_(), ffestb_R9049_(), ffestb_R907(), ffestb_R9073_(), ffestb_R9074_(), ffestb_R9075_(), ffestb_R9076_(), ffestb_R9077_(), ffestb_R9078_(), ffestb_R9079_(), ffestb_R909(), ffestb_R90910_(), ffestb_R90911_(), ffestb_R90912_(), ffestb_R90914_(), ffestb_R90915_(), ffestb_R9091_(), ffestb_R9094_(), ffestb_R9097_(), ffestb_R9098_(), ffestb_R9099_(), ffestb_R910(), ffestb_R91010_(), ffestb_R91011_(), ffestb_R91012_(), ffestb_R91013_(), ffestb_R91014_(), ffestb_R9103_(), ffestb_R9106_(), ffestb_R9107_(), ffestb_R9108_(), ffestb_R9109_(), ffestb_R911(), ffestb_R9111_(), ffestb_R9112_(), ffestb_R923(), ffestb_R92310_(), ffestb_R92311_(), ffestb_R9233_(), ffestb_R9234_(), ffestb_R9235_(), ffestb_R9236_(), ffestb_R9237_(), ffestb_R9238_(), ffestb_R9239_(), ffestb_S3P4(), ffestb_S3P41_(), ffestb_subr_ambig_nope_(), ffestb_V014(), ffestb_V0141_(), ffestb_V0142_(), ffestb_V0143_(), ffestb_V0144_(), ffestb_V020(), ffestb_V0201_(), ffestb_V0202_(), ffestb_V027(), ffestb_V0271_(), ffestb_V0272_(), ffestb_V0273_(), ffestb_varlist(), ffestb_varlist5_(), and ffestb_varlist6_().

static ffelexHandler ffelex_swallow_tokens_ ( ffelexToken  t  )  [static]

ffelexToken ffelex_token_dollar_from_names ( ffelexToken  t,
ffeTokenLength  start 
)

void ffelex_token_kill ( ffelexToken  t  ) 

Definition at line 4375 of file lex.c.

References assert, ffelex_total_tokens_, FFELEX_typeNAMES, ffewhere_column_kill, ffewhere_line_kill(), ffewhere_track_kill(), _lextoken_::length, malloc_kill_ks, malloc_kill_ksr, malloc_pool_image, NULL, _lextoken_::size, _lextoken_::text, _lextoken_::type, _lextoken_::uses, _lextoken_::where_col, _lextoken_::where_line, and _lextoken_::wheretrack.

Referenced by ffeexpr_cb_close_paren_ambig_(), ffeexpr_cb_close_paren_ambig_1_(), ffeexpr_cb_comma_c_(), ffeexpr_cb_comma_ci_(), ffeexpr_cb_comma_i_5_(), ffeexpr_cb_end_loc_(), ffeexpr_cb_end_notloc_(), ffeexpr_cb_end_notloc_1_(), ffeexpr_expr_kill_(), ffeexpr_finished_(), ffeexpr_nil_number_exponent_(), ffeexpr_nil_number_per_exp_(), ffeexpr_nil_number_period_(), ffeexpr_nil_percent_name_(), ffeexpr_token_anything_(), ffeexpr_token_apos_char_(), ffeexpr_token_arguments_(), ffeexpr_token_binary_end_per_(), ffeexpr_token_binary_period_(), ffeexpr_token_elements_(), ffeexpr_token_end_period_(), ffeexpr_token_first_lhs_1_(), ffeexpr_token_first_rhs_1_(), ffeexpr_token_first_rhs_2_(), ffeexpr_token_first_rhs_4_(), ffeexpr_token_first_rhs_6_(), ffeexpr_token_name_apos_(), ffeexpr_token_name_apos_name_(), ffeexpr_token_namelist_(), ffeexpr_token_num_per_exp_sign_(), ffeexpr_token_num_real_exp_sn_(), ffeexpr_token_number_(), ffeexpr_token_number_exp_sign_(), ffeexpr_token_number_exponent_(), ffeexpr_token_number_per_exp_(), ffeexpr_token_number_period_(), ffeexpr_token_number_real_(), ffeexpr_token_number_real_exp_(), ffeexpr_token_percent_(), ffeexpr_token_percent_name_(), ffeexpr_token_period_(), ffeexpr_token_quote_(), ffeexpr_token_real_(), ffeexpr_token_real_exp_sign_(), ffeexpr_token_real_exponent_(), ffeexpr_token_substring_1_(), ffeglobal_proc_def_arg(), ffeglobal_proc_ref_arg(), ffeglobal_proc_ref_nargs(), ffelex_cfelex_(), ffelex_hash_(), ffelex_send_token_(), ffelex_splice_tokens(), ffename_kill(), ffesta_eof(), ffesta_save_(), ffesta_two(), ffesta_zero(), ffestb_beru2_(), ffestb_beru3_(), ffestb_decl_attrs_1_(), ffestb_decl_attrs_2_(), ffestb_decl_attrsp_(), ffestb_decl_chartype1_(), ffestb_decl_ents_10_(), ffestb_decl_ents_1_(), ffestb_decl_ents_2_(), ffestb_decl_ents_3_(), ffestb_decl_ents_4_(), ffestb_decl_ents_5_(), ffestb_decl_ents_6_(), ffestb_decl_ents_7_(), ffestb_decl_ents_8_(), ffestb_decl_entsp_(), ffestb_decl_entsp_1_(), ffestb_decl_entsp_2_(), ffestb_decl_entsp_3_(), ffestb_decl_entsp_4_(), ffestb_decl_entsp_5_(), ffestb_decl_entsp_6_(), ffestb_decl_entsp_8_(), ffestb_decl_funcname_(), ffestb_decl_funcname_1_(), ffestb_decl_funcname_2_(), ffestb_decl_funcname_3_(), ffestb_decl_funcname_4_(), ffestb_decl_funcname_5_(), ffestb_decl_funcname_6_(), ffestb_decl_funcname_7_(), ffestb_decl_funcname_8_(), ffestb_decl_funcname_9_(), ffestb_decl_kindparam_1_(), ffestb_decl_kindparam_2_(), ffestb_decl_R539(), ffestb_decl_R539letters_(), ffestb_decl_R539letters_1_(), ffestb_decl_R539letters_2_(), ffestb_decl_R539letters_3_(), ffestb_decl_R539letters_4_(), ffestb_decl_R539letters_5_(), ffestb_decl_R539maybe_2_(), ffestb_decl_R539maybe_3_(), ffestb_decl_R539maybe_5_(), ffestb_decl_starkind_(), ffestb_decl_starlen_(), ffestb_decl_starlen_1_(), ffestb_decl_typeparams_(), ffestb_decl_typeparams_1_(), ffestb_decl_typeparams_2_(), ffestb_decl_typeparams_3_(), ffestb_do(), ffestb_do1_(), ffestb_do2_(), ffestb_do3_(), ffestb_do4_(), ffestb_do5_(), ffestb_do7_(), ffestb_do8_(), ffestb_do9_(), ffestb_dowhile(), ffestb_dummy1_(), ffestb_dummy2_(), ffestb_else1_(), ffestb_else3_(), ffestb_else4_(), ffestb_else5_(), ffestb_end3_(), ffestb_goto(), ffestb_goto2_(), ffestb_goto3_(), ffestb_goto5_(), ffestb_goto6_(), ffestb_goto7_(), ffestb_if(), ffestb_if1_(), ffestb_if2_(), ffestb_if3_(), ffestb_let2_(), ffestb_R100110_(), ffestb_R100115_(), ffestb_R100116_(), ffestb_R100117_(), ffestb_R100118_(), ffestb_R10013_(), ffestb_R10014_(), ffestb_R10017_(), ffestb_R10019_(), ffestb_R11021_(), ffestb_R1111_2_(), ffestb_R1212(), ffestb_R12291_(), ffestb_R522(), ffestb_R5223_(), ffestb_R5224_(), ffestb_R524(), ffestb_R5242_(), ffestb_R5243_(), ffestb_R528(), ffestb_R5283_(), ffestb_R5372_(), ffestb_R547(), ffestb_R5473_(), ffestb_R5475_(), ffestb_R5476_(), ffestb_R809(), ffestb_R8091_(), ffestb_R8092_(), ffestb_R8093_(), ffestb_R8102_(), ffestb_R8341_(), ffestb_R8351_(), ffestb_R838(), ffestb_R8381_(), ffestb_R8382_(), ffestb_R8383_(), ffestb_R8402_(), ffestb_R8403_(), ffestb_R8404_(), ffestb_R8405_(), ffestb_R8406_(), ffestb_R8407_(), ffestb_R9042_(), ffestb_R9072_(), ffestb_R9092_(), ffestb_R9093_(), ffestb_R9096_(), ffestb_R9102_(), ffestb_R9105_(), ffestb_R9232_(), ffestb_S3P4(), ffestb_subr_ambig_nope_(), ffestb_subr_ambig_to_ents_(), ffestb_subr_kill_easy_(), ffestb_subr_R1001_append_p_(), ffestb_V014(), ffestb_V0143_(), ffestb_V0144_(), ffestb_V0271_(), ffestb_V0272_(), ffestb_varlist(), ffestb_varlist6_(), ffestc_labeldef_begin_(), ffestc_labeldef_branch_begin_(), ffestc_labeldef_branch_end_(), ffestc_labeldef_endif_(), ffestc_labeldef_format_(), ffestc_labeldef_invalid_(), ffestc_labeldef_notloop_(), ffestc_labeldef_notloop_begin_(), ffestc_labeldef_useless_(), ffestc_R1212(), ffestc_shriek_blockdata_(), ffestc_shriek_do_(), ffestc_shriek_end_program_(), ffestc_shriek_function_(), ffestc_shriek_ifthen_(), ffestc_shriek_select_(), ffestc_shriek_subroutine_(), ffestd_stmt_pass_(), ffeste_R842(), ffeste_R843(), ffestt_caselist_kill(), ffestt_dimlist_kill(), ffestt_exprlist_kill(), ffestt_formatlist_kill(), ffestt_implist_kill(), ffestt_tokenlist_kill(), ffesymbol_error(), ffesymbol_kill_manifest_(), ffesymbol_resolve_intrin(), and ffesymbol_unhook_().

ffelexToken ffelex_token_name_from_names ( ffelexToken  t,
ffeTokenLength  start,
ffeTokenLength  len 
)

ffelexToken ffelex_token_names_from_names ( ffelexToken  t,
ffeTokenLength  start,
ffeTokenLength  len 
)

static ffelexToken ffelex_token_new_ ( void   )  [static]

ffelexToken ffelex_token_new_character ( const char *  s,
ffewhereLine  l,
ffewhereColumn  c 
)

ffelexToken ffelex_token_new_eof ( void   ) 

ffelexToken ffelex_token_new_name ( const char *  s,
ffewhereLine  l,
ffewhereColumn  c 
)

ffelexToken ffelex_token_new_names ( const char *  s,
ffewhereLine  l,
ffewhereColumn  c 
)

ffelexToken ffelex_token_new_number ( const char *  s,
ffewhereLine  l,
ffewhereColumn  c 
)

ffelexToken ffelex_token_new_simple_ ( ffelexType  type,
ffewhereLine  l,
ffewhereColumn  c 
)

ffelexToken ffelex_token_number_from_names ( ffelexToken  t,
ffeTokenLength  start 
)

ffelexToken ffelex_token_uscore_from_names ( ffelexToken  t,
ffeTokenLength  start 
)

ffelexToken ffelex_token_use ( ffelexToken  t  ) 

Definition at line 4674 of file lex.c.

References assert, NULL, and _lextoken_::uses.

Referenced by ffeexpr_cb_close_paren_ambig_(), ffeexpr_cb_close_paren_ambig_1_(), ffeexpr_cb_close_paren_c_(), ffeexpr_cb_close_paren_ci_(), ffeexpr_cb_comma_ci_(), ffeexpr_make_float_const_(), ffeexpr_nil_number_(), ffeexpr_nil_percent_(), ffeexpr_token_apos_char_(), ffeexpr_token_apostrophe_(), ffeexpr_token_arguments_(), ffeexpr_token_binary_(), ffeexpr_token_binary_period_(), ffeexpr_token_elements_(), ffeexpr_token_first_lhs_(), ffeexpr_token_first_rhs_(), ffeexpr_token_first_rhs_3_(), ffeexpr_token_first_rhs_5_(), ffeexpr_token_first_rhs_6_(), ffeexpr_token_lhs_(), ffeexpr_token_name_apos_(), ffeexpr_token_name_lhs_(), ffeexpr_token_name_rhs_(), ffeexpr_token_number_(), ffeexpr_token_number_exponent_(), ffeexpr_token_number_per_exp_(), ffeexpr_token_number_period_(), ffeexpr_token_number_real_(), ffeexpr_token_number_real_exp_(), ffeexpr_token_percent_(), ffeexpr_token_percent_name_(), ffeexpr_token_period_(), ffeexpr_token_real_(), ffeexpr_token_real_exponent_(), ffeexpr_token_rhs_(), ffeexpr_token_substrp_(), ffeglobal_init_common(), ffeglobal_new_common(), ffeglobal_new_progunit_(), ffeglobal_proc_def_arg(), ffeglobal_proc_ref_arg(), ffeglobal_proc_ref_nargs(), ffeglobal_ref_intrinsic(), ffeglobal_ref_progunit_(), ffename_find(), ffesta_first(), ffesta_save_(), ffesta_second_(), ffesta_two(), ffestb_beru(), ffestb_beru1_(), ffestb_beru2_(), ffestb_beru4_(), ffestb_beru5_(), ffestb_beru7_(), ffestb_beru8_(), ffestb_blockdata(), ffestb_construct1_(), ffestb_decl_attrs_(), ffestb_decl_ents_(), ffestb_decl_ents_2_(), ffestb_decl_ents_5_(), ffestb_decl_ents_6_(), ffestb_decl_ents_9_(), ffestb_decl_entsp_(), ffestb_decl_entsp_3_(), ffestb_decl_entsp_4_(), ffestb_decl_entsp_5_(), ffestb_decl_entsp_6_(), ffestb_decl_entsp_7_(), ffestb_decl_funcname_(), ffestb_decl_funcname_2_(), ffestb_decl_funcname_3_(), ffestb_decl_funcname_7_(), ffestb_decl_kindparam_(), ffestb_decl_kindparam_2_(), ffestb_decl_R539letters_1_(), ffestb_decl_R539letters_3_(), ffestb_decl_R539maybe_1_(), ffestb_decl_R539maybe_2_(), ffestb_decl_R539maybe_3_(), ffestb_decl_R539maybe_4_(), ffestb_decl_starkind_(), ffestb_decl_starlen_(), ffestb_decl_starlen_1_(), ffestb_decl_typeparams_(), ffestb_decl_typeparams_2_(), ffestb_decl_typeparams_3_(), ffestb_do(), ffestb_do2_(), ffestb_do4_(), ffestb_do6_(), ffestb_do7_(), ffestb_do8_(), ffestb_dummy(), ffestb_dummy1_(), ffestb_else(), ffestb_else2_(), ffestb_else4_(), ffestb_end2_(), ffestb_goto1_(), ffestb_goto4_(), ffestb_goto6_(), ffestb_if1_(), ffestb_if2_(), ffestb_let1_(), ffestb_R1001(), ffestb_R100111_(), ffestb_R100112_(), ffestb_R100113_(), ffestb_R10012_(), ffestb_R10014_(), ffestb_R10015_(), ffestb_R10017_(), ffestb_R10019_(), ffestb_R1102(), ffestb_R1111_1_(), ffestb_R5221_(), ffestb_R5222_(), ffestb_R5241_(), ffestb_R5282_(), ffestb_R5371_(), ffestb_R5441_(), ffestb_R5442_(), ffestb_R5472_(), ffestb_R5474_(), ffestb_R8092_(), ffestb_R8101_(), ffestb_R8103_(), ffestb_R834(), ffestb_R835(), ffestb_R838(), ffestb_R8401_(), ffestb_R8402_(), ffestb_R8404_(), ffestb_R8406_(), ffestb_R9041_(), ffestb_R9043_(), ffestb_R9044_(), ffestb_R9046_(), ffestb_R9047_(), ffestb_R9071_(), ffestb_R9073_(), ffestb_R9074_(), ffestb_R9076_(), ffestb_R9077_(), ffestb_R909(), ffestb_R90910_(), ffestb_R90911_(), ffestb_R9091_(), ffestb_R9092_(), ffestb_R9094_(), ffestb_R9095_(), ffestb_R9097_(), ffestb_R9098_(), ffestb_R91010_(), ffestb_R9101_(), ffestb_R9103_(), ffestb_R9104_(), ffestb_R9106_(), ffestb_R9107_(), ffestb_R9109_(), ffestb_R9111_(), ffestb_R9231_(), ffestb_R9233_(), ffestb_R9234_(), ffestb_R9236_(), ffestb_R9237_(), ffestb_subr_dimlist_(), ffestb_subr_label_list_(), ffestb_subr_name_list_(), ffestb_subr_name_list_1_(), ffestb_V0141_(), ffestb_V0142_(), ffestb_V0201_(), ffestb_V027(), ffestb_V0273_(), ffestb_varlist5_(), ffestc_R1102(), ffestc_R1111(), ffestc_R1219(), ffestc_R1223(), ffestc_R803(), ffestc_R809(), ffestc_R810(), ffestc_R819A(), ffestc_R819B(), ffestc_R820A(), ffestc_R820B(), ffestd_R819A(), ffestd_R909_item(), ffestd_R910_item(), ffestd_R911_item(), ffesymbol_check(), and ffesymbol_signal_change().

static const char* ffelex_type_string_ ( ffelexType  type  )  [static]

Definition at line 1709 of file lex.c.

References ARRAY_SIZE, and types.

Referenced by ffelex_display_token().


Variable Documentation

Definition at line 184 of file lex.c.

Referenced by ffelex_backslash_(), ffelex_file_fixed(), and ffelex_file_free().

bool ffelex_bad_line_ = FALSE [static]

Definition at line 83 of file lex.c.

Referenced by ffelex_file_fixed(), ffelex_file_free(), and ffelex_image_char_().

char* ffelex_card_image_ [static]

Definition at line 70 of file lex.c.

Referenced by ffelex_file_fixed(), ffelex_image_char_(), ffelex_include_(), and ffelex_init_1().

Definition at line 119 of file lex.c.

Referenced by ffelex_file_fixed(), ffelex_file_free(), ffelex_include_(), and ffelex_prepare_eos_().

Definition at line 96 of file lex.c.

Definition at line 118 of file lex.c.

Definition at line 147 of file lex.c.

Referenced by ffelex_swallow_tokens(), and ffelex_swallow_tokens_().

Definition at line 86 of file lex.c.

Referenced by ffelex_file_fixed(), ffelex_include_(), and ffelex_init_1().

Definition at line 90 of file lex.c.

Referenced by ffelex_file_fixed(), and ffelex_init_1().

bool ffelex_hexnum_ [static]

Definition at line 107 of file lex.c.

Referenced by ffelex_include_(), and ffelex_set_include().

Definition at line 108 of file lex.c.

Referenced by ffelex_include_(), and ffelex_set_include().

Definition at line 109 of file lex.c.

int* ffelex_kludge_chars_ = NULL [static]

Definition at line 187 of file lex.c.

Referenced by ffelex_getc_(), and ffelex_hash_kludge().

bool ffelex_kludge_flag_ = FALSE [static]

Definition at line 190 of file lex.c.

Referenced by ffelex_cfelex_(), ffelex_hash_(), and ffelex_hash_kludge().

unsigned long int ffelex_label_tokens_ [static]

Definition at line 156 of file lex.c.

Referenced by ffelex_file_fixed(), and ffelex_finish_statement_().

Definition at line 114 of file lex.c.

Referenced by ffelex_init_1(), and ffelex_next_line_().

bool ffelex_names_ [static]

unsigned long int ffelex_number_of_tokens_ [static]

long int ffelex_old_total_tokens_ = 1 [static]

Definition at line 160 of file lex.c.

Referenced by ffelex_finish_statement_().

char ffelex_raw_char_ [static]

long int ffelex_raw_mode_ [static]

Definition at line 193 of file lex.c.

Definition at line 79 of file lex.c.

Referenced by ffelex_file_fixed(), ffelex_file_free(), ffelex_image_char_(), and ffelex_include_().

Definition at line 104 of file lex.c.

Referenced by ffelex_include_(), ffelex_init_1(), ffelex_send_token_(), and ffelex_set_include().

Definition at line 131 of file lex.c.

long int ffelex_token_nextid_ = 0 [static]

Definition at line 161 of file lex.c.

Referenced by ffelex_token_new_().

long int ffelex_total_tokens_ = 0 [static]

Definition at line 159 of file lex.c.

Referenced by ffelex_finish_statement_(), ffelex_token_kill(), and ffelex_token_new_().


Generated on Wed Apr 8 14:44:39 2009 for Open64 by  doxygen 1.5.6