46 #include <osiUnistd.h> 49 #define NORETURN __attribute__((noreturn)) 55 #define FLEX_8_BIT_CHARS 57 #ifdef FLEX_8_BIT_CHARS 59 #define Char unsigned char 67 #define DEFAULT_CSIZE 128 72 #define MAXLINE BUFSIZ 75 #define FILENAMESIZE 1024 78 #define min(x,y) ((x) < (y) ? (x) : (y)) 81 #define max(x,y) ((x) > (y) ? (x) : (y)) 88 #ifndef DEFAULT_SKELETON_FILE 89 #define DEFAULT_SKELETON_FILE "flex.skel" 95 #define EOB_POSITION -1 96 #define ACTION_POSITION -2 99 #define NUMDATAITEMS 10 104 #define NUMDATALINES 10 107 #define TRANS_STRUCT_PRINT_LENGTH 15 112 #define FREE_EPSILON(state) \ 113 (transchar[state] == SYM_EPSILON && \ 114 trans2[state] == NO_TRANSITION && \ 115 finalst[state] != state) 120 #define SUPER_FREE_EPSILON(state) \ 121 (transchar[state] == SYM_EPSILON && \ 122 trans1[state] == NO_TRANSITION) \ 128 #define INITIAL_MAX_DFA_SIZE 750 129 #define MAX_DFA_SIZE_INCREMENT 750 141 #define YY_TRAILING_MASK 0x2000 144 #define YY_TRAILING_HEAD_MASK 0x4000 147 #define MAX_RULE (YY_TRAILING_MASK - 1) 156 #define NO_TRANSITION NIL 160 #define INITIAL_MAX_CCLS 100 161 #define MAX_CCLS_INCREMENT 100 164 #define INITIAL_MAX_CCL_TBL_SIZE 500 165 #define MAX_CCL_TBL_SIZE_INCREMENT 250 167 #define INITIAL_MAX_RULES 100 168 #define MAX_RULES_INCREMENT 100 170 #define INITIAL_MNS 2000 171 #define MNS_INCREMENT 1000 173 #define INITIAL_MAX_DFAS 1000 174 #define MAX_DFAS_INCREMENT 1000 176 #define JAMSTATE -32766 181 #define MARKER_DIFFERENCE 32000 182 #define MAXIMUM_MNS 31999 185 #define INITIAL_MAX_XPAIRS 2000 186 #define MAX_XPAIRS_INCREMENT 2000 189 #define INITIAL_MAX_TEMPLATE_XPAIRS 2500 190 #define MAX_TEMPLATE_XPAIRS_INCREMENT 2500 192 #define SYM_EPSILON (CSIZE + 1) 194 #define INITIAL_MAX_SCS 40 195 #define MAX_SCS_INCREMENT 40 197 #define ONE_STACK_SIZE 500 198 #define SAME_TRANS -1 206 #define PROTO_SIZE_PERCENTAGE 15 214 #define CHECK_COM_PERCENTAGE 50 221 #define FIRST_MATCH_DIFF_PERCENTAGE 10 227 #define ACCEPTABLE_DIFF_PERCENTAGE 50 233 #define TEMPLATE_SAME_PERCENTAGE 60 239 #define NEW_PROTO_DIFF_PERCENTAGE 20 245 #define INTERIOR_FIT_PERCENTAGE 15 250 #define PROT_SAVE_SIZE 2000 258 #define MAX_XTIONS_FULL_INTERIOR_FIT 4 263 #define MAX_ASSOC_RULES 100 268 #define BAD_SUBSCRIPT -32767 273 #define MAX_SHORT 32766 294 #define NAME_TABLE_HASH_SIZE 101 295 #define START_COND_HASH_SIZE 101 296 #define CCL_HASH_SIZE 101 339 #define REALLY_NOT_DETERMINED 0 340 #define REALLY_USED 1 341 #define REALLY_NOT_USED 2 413 #define STATE_NORMAL 0x1 414 #define STATE_TRAILING_CONTEXT 0x2 421 #define RULE_NORMAL 0 422 #define RULE_VARIABLE 1 581 #define allocate_integer_array(size) \ 582 (int *) allocate_array( size, sizeof( int ) ) 584 #define reallocate_integer_array(array,size) \ 585 (int *) reallocate_array( (void *) array, size, sizeof( int ) ) 587 #define allocate_int_ptr_array(size) \ 588 (int **) allocate_array( size, sizeof( int * ) ) 590 #define allocate_char_ptr_array(size) \ 591 (char **) allocate_array( size, sizeof( char * ) ) 593 #define allocate_dfaacc_union(size) \ 594 (union dfaacc_union *) \ 595 allocate_array( size, sizeof( union dfaacc_union ) ) 597 #define reallocate_int_ptr_array(array,size) \ 598 (int **) reallocate_array( (void *) array, size, sizeof( int * ) ) 600 #define reallocate_char_ptr_array(array,size) \ 601 (char **) reallocate_array( (void *) array, size, sizeof( char * ) ) 603 #define reallocate_dfaacc_union(array, size) \ 604 (union dfaacc_union *) \ 605 reallocate_array( (void *) array, size, sizeof( union dfaacc_union ) ) 607 #define allocate_character_array(size) \ 608 (Char *) allocate_array( size, sizeof( Char ) ) 610 #define reallocate_character_array(array,size) \ 611 (Char *) reallocate_array( (void *) array, size, sizeof( Char ) ) 630 extern void ccladd (
int,
int);
643 extern void ntod (
void);
652 extern int cre8ecs (
int[],
int[],
int);
658 extern void mkeccl (
Char[],
int,
int[],
int[],
int,
int);
661 extern void mkechar (
int,
int[],
int[]);
686 extern
void bubble (
int [],
int);
689 extern
void cshell (Char [],
int,
int);
700 extern
void lerrif (
char[],
int);
703 extern
void lerrsf (
char[],
char[]);
714 extern
int myctoi (Char []);
749 extern
int mkopt (
int);
752 extern
int mkor (
int,
int);
757 extern
int mkrep (
int,
int,
int);
773 extern
void synerr (
char []);
795 extern
void ndinstal (
char[], Char[]);
805 extern
void bldtbl (
int[],
int,
int,
int,
int);
813 extern
void mk1tbl (
int,
int,
int,
int);
819 extern
void stack1 (
int,
int,
int,
int);
void scinstal(char[], int)
void stack1(int, int, int, int)
#define NAME_TABLE_HASH_SIZE
void finish_rule(int, int, int, int)
void format_pinpoint_message(char[], char[])
int onedef[ONE_STACK_SIZE]
int onesym[ONE_STACK_SIZE]
#define START_COND_HASH_SIZE
void cclinstal(Char[], int)
void mk1tbl(int, int, int, int)
void mkechar(int, int[], int[])
struct hash_entry * ccltab[CCL_HASH_SIZE]
struct hash_entry * ndtbl[NAME_TABLE_HASH_SIZE]
void * allocate_array(int size, int element_size)
int cre8ecs(int[], int[], int)
struct hash_entry * sctbl[START_COND_HASH_SIZE]
int link_machines(int, int)
void mkeccl(Char[], int, int[], int[], int, int)
void increase_max_dfas(void)
int onestate[ONE_STACK_SIZE]
union dfaacc_union * dfaacc
void list_character_set(FILE *, int[])
void mark_beginning_as_normal(int)
void set_input_file(char *)
void lerrsf(char[], char[])
void flexend(int) NORETURN
void flexerror(char[]) NORETURN
void * reallocate_array(void *array, int size, int element_size)
int onenext[ONE_STACK_SIZE]
int current_max_ccl_tbl_size
void add_accept(int, int)
void line_directive_out(FILE *)
int protsave[PROT_SAVE_SIZE]
int variable_trailing_context_rules
void pinpoint_message(char[])
void bldtbl(int[], int, int, int, int)
void ndinstal(char[], Char[])
int current_max_template_xpairs
int ecs_from_xlation(int[])
struct hash_entry * hash_table[]
void cshell(Char[], int, int)
void transition_struct_out(int, int)
void place_state(int *, int, int)