version 1.14, 2015/11/19 23:20:34 |
version 1.15, 2015/11/19 23:28:03 |
|
|
mkeoltbl(void) |
mkeoltbl(void) |
{ |
{ |
int i; |
int i; |
flex_int8_t *tdata = 0; |
flex_int8_t *tdata = NULL; |
struct yytbl_data *tbl; |
struct yytbl_data *tbl; |
|
|
tbl = (struct yytbl_data *) calloc(1, sizeof(struct yytbl_data)); |
tbl = calloc(1, sizeof(struct yytbl_data)); |
yytbl_data_init(tbl, YYTD_ID_RULE_CAN_MATCH_EOL); |
yytbl_data_init(tbl, YYTD_ID_RULE_CAN_MATCH_EOL); |
tbl->td_flags = YYTD_DATA8; |
tbl->td_flags = YYTD_DATA8; |
tbl->td_lolen = num_rules + 1; |
tbl->td_lolen = num_rules + 1; |
tbl->td_data = tdata = |
tbl->td_data = tdata = |
(flex_int8_t *) calloc(tbl->td_lolen, sizeof(flex_int8_t)); |
calloc(tbl->td_lolen, sizeof(flex_int8_t)); |
|
|
for (i = 1; i <= num_rules; i++) |
for (i = 1; i <= num_rules; i++) |
tdata[i] = rule_has_nl[i] ? 1 : 0; |
tdata[i] = rule_has_nl[i] ? 1 : 0; |
|
|
mkctbl(void) |
mkctbl(void) |
{ |
{ |
int i; |
int i; |
struct yytbl_data *tbl = 0; |
struct yytbl_data *tbl = NULL; |
flex_int32_t *tdata = 0, curr = 0; |
flex_int32_t *tdata = NULL, curr = 0; |
int end_of_buffer_action = num_rules + 1; |
int end_of_buffer_action = num_rules + 1; |
|
|
buf_prints(&yydmap_buf, |
buf_prints(&yydmap_buf, |
|
|
((tblend + numecs + 1) >= INT16_MAX |
((tblend + numecs + 1) >= INT16_MAX |
|| long_align) ? "flex_int32_t" : "flex_int16_t"); |
|| long_align) ? "flex_int32_t" : "flex_int16_t"); |
|
|
tbl = (struct yytbl_data *) calloc(1, sizeof(struct yytbl_data)); |
tbl = calloc(1, sizeof(struct yytbl_data)); |
yytbl_data_init(tbl, YYTD_ID_TRANSITION); |
yytbl_data_init(tbl, YYTD_ID_TRANSITION); |
tbl->td_flags = YYTD_DATA32 | YYTD_STRUCT; |
tbl->td_flags = YYTD_DATA32 | YYTD_STRUCT; |
tbl->td_hilen = 0; |
tbl->td_hilen = 0; |
tbl->td_lolen = tblend + numecs + 1; /* number of structs */ |
tbl->td_lolen = tblend + numecs + 1; /* number of structs */ |
|
|
tbl->td_data = tdata = |
tbl->td_data = tdata = |
(flex_int32_t *) calloc(tbl->td_lolen * 2, sizeof(flex_int32_t)); |
calloc(tbl->td_lolen * 2, sizeof(flex_int32_t)); |
|
|
/* |
/* |
* We want the transition to be represented as the offset to the next |
* We want the transition to be represented as the offset to the next |
|
|
static struct yytbl_data * |
static struct yytbl_data * |
mkssltbl(void) |
mkssltbl(void) |
{ |
{ |
struct yytbl_data *tbl = 0; |
struct yytbl_data *tbl = NULL; |
flex_int32_t *tdata = 0; |
flex_int32_t *tdata = NULL; |
flex_int32_t i; |
flex_int32_t i; |
|
|
tbl = (struct yytbl_data *) calloc(1, sizeof(struct yytbl_data)); |
tbl = calloc(1, sizeof(struct yytbl_data)); |
yytbl_data_init(tbl, YYTD_ID_START_STATE_LIST); |
yytbl_data_init(tbl, YYTD_ID_START_STATE_LIST); |
tbl->td_flags = YYTD_DATA32 | YYTD_PTRANS; |
tbl->td_flags = YYTD_DATA32 | YYTD_PTRANS; |
tbl->td_hilen = 0; |
tbl->td_hilen = 0; |
tbl->td_lolen = lastsc * 2 + 1; |
tbl->td_lolen = lastsc * 2 + 1; |
|
|
tbl->td_data = tdata = |
tbl->td_data = tdata = |
(flex_int32_t *) calloc(tbl->td_lolen, sizeof(flex_int32_t)); |
calloc(tbl->td_lolen, sizeof(flex_int32_t)); |
|
|
for (i = 0; i <= lastsc * 2; ++i) |
for (i = 0; i <= lastsc * 2; ++i) |
tdata[i] = base[i]; |
tdata[i] = base[i]; |
|
|
mkecstbl(void) |
mkecstbl(void) |
{ |
{ |
int i; |
int i; |
struct yytbl_data *tbl = 0; |
struct yytbl_data *tbl = NULL; |
flex_int32_t *tdata = 0; |
flex_int32_t *tdata = NULL; |
|
|
tbl = (struct yytbl_data *) calloc(1, sizeof(struct yytbl_data)); |
tbl = calloc(1, sizeof(struct yytbl_data)); |
yytbl_data_init(tbl, YYTD_ID_EC); |
yytbl_data_init(tbl, YYTD_ID_EC); |
tbl->td_flags |= YYTD_DATA32; |
tbl->td_flags |= YYTD_DATA32; |
tbl->td_hilen = 0; |
tbl->td_hilen = 0; |
tbl->td_lolen = csize; |
tbl->td_lolen = csize; |
|
|
tbl->td_data = tdata = |
tbl->td_data = tdata = |
(flex_int32_t *) calloc(tbl->td_lolen, sizeof(flex_int32_t)); |
calloc(tbl->td_lolen, sizeof(flex_int32_t)); |
|
|
for (i = 1; i < csize; ++i) { |
for (i = 1; i < csize; ++i) { |
ecgroup[i] = ABS(ecgroup[i]); |
ecgroup[i] = ABS(ecgroup[i]); |
|
|
int i; |
int i; |
int end_of_buffer_action = num_rules + 1; |
int end_of_buffer_action = num_rules + 1; |
struct yytbl_data *tbl; |
struct yytbl_data *tbl; |
flex_int32_t *tdata = 0; |
flex_int32_t *tdata = NULL; |
|
|
tbl = (struct yytbl_data *) calloc(1, sizeof(struct yytbl_data)); |
tbl = calloc(1, sizeof(struct yytbl_data)); |
yytbl_data_init(tbl, YYTD_ID_ACCEPT); |
yytbl_data_init(tbl, YYTD_ID_ACCEPT); |
tbl->td_flags |= YYTD_DATA32; |
tbl->td_flags |= YYTD_DATA32; |
tbl->td_hilen = 0; /* it's a one-dimensional array */ |
tbl->td_hilen = 0; /* it's a one-dimensional array */ |
tbl->td_lolen = lastdfa + 1; |
tbl->td_lolen = lastdfa + 1; |
|
|
tbl->td_data = tdata = |
tbl->td_data = tdata = |
(flex_int32_t *) calloc(tbl->td_lolen, sizeof(flex_int32_t)); |
calloc(tbl->td_lolen, sizeof(flex_int32_t)); |
|
|
dfaacc[end_of_buffer_state].dfaacc_state = end_of_buffer_action; |
dfaacc[end_of_buffer_state].dfaacc_state = end_of_buffer_action; |
|
|
|
|
"\t{YYTD_ID_ACCLIST, (void**)&yy_acclist, sizeof(%s)},\n", |
"\t{YYTD_ID_ACCLIST, (void**)&yy_acclist, sizeof(%s)},\n", |
long_align ? "flex_int32_t" : "flex_int16_t"); |
long_align ? "flex_int32_t" : "flex_int16_t"); |
|
|
yyacclist_tbl = (struct yytbl_data *) calloc(1, sizeof(struct yytbl_data)); |
yyacclist_tbl = calloc(1, sizeof(struct yytbl_data)); |
yytbl_data_init(yyacclist_tbl, YYTD_ID_ACCLIST); |
yytbl_data_init(yyacclist_tbl, YYTD_ID_ACCLIST); |
yyacclist_tbl->td_lolen = MAX(numas, 1) + 1; |
yyacclist_tbl->td_lolen = MAX(numas, 1) + 1; |
yyacclist_tbl->td_data = yyacclist_data = |
yyacclist_tbl->td_data = yyacclist_data = |
(flex_int32_t *) calloc(yyacclist_tbl->td_lolen, sizeof(flex_int32_t)); |
calloc(yyacclist_tbl->td_lolen, sizeof(flex_int32_t)); |
yyacclist_curr = 1; |
yyacclist_curr = 1; |
|
|
j = 1; /* index into "yy_acclist" array */ |
j = 1; /* index into "yy_acclist" array */ |
|
|
"\t{YYTD_ID_ACCEPT, (void**)&yy_accept, sizeof(%s)},\n", |
"\t{YYTD_ID_ACCEPT, (void**)&yy_accept, sizeof(%s)},\n", |
long_align ? "flex_int32_t" : "flex_int16_t"); |
long_align ? "flex_int32_t" : "flex_int16_t"); |
|
|
yyacc_tbl = |
yyacc_tbl = calloc(1, sizeof(struct yytbl_data)); |
(struct yytbl_data *) calloc(1, |
|
sizeof(struct yytbl_data)); |
|
yytbl_data_init(yyacc_tbl, YYTD_ID_ACCEPT); |
yytbl_data_init(yyacc_tbl, YYTD_ID_ACCEPT); |
yyacc_tbl->td_lolen = k; |
yyacc_tbl->td_lolen = k; |
yyacc_tbl->td_data = yyacc_data = |
yyacc_tbl->td_data = yyacc_data = |
(flex_int32_t *) calloc(yyacc_tbl->td_lolen, sizeof(flex_int32_t)); |
calloc(yyacc_tbl->td_lolen, sizeof(flex_int32_t)); |
yyacc_curr = 1; |
yyacc_curr = 1; |
|
|
for (i = 1; i <= lastdfa; ++i) { |
for (i = 1; i <= lastdfa; ++i) { |
|
|
* Write out meta-equivalence classes (used to index |
* Write out meta-equivalence classes (used to index |
* templates with). |
* templates with). |
*/ |
*/ |
flex_int32_t *yymecs_data = 0; |
flex_int32_t *yymecs_data = NULL; |
yymeta_tbl = |
yymeta_tbl = calloc(1, sizeof(struct yytbl_data)); |
(struct yytbl_data *) calloc(1, |
|
sizeof(struct |
|
yytbl_data)); |
|
yytbl_data_init(yymeta_tbl, YYTD_ID_META); |
yytbl_data_init(yymeta_tbl, YYTD_ID_META); |
yymeta_tbl->td_lolen = numecs + 1; |
yymeta_tbl->td_lolen = numecs + 1; |
yymeta_tbl->td_data = yymecs_data = |
yymeta_tbl->td_data = yymecs_data = |
(flex_int32_t *) calloc(yymeta_tbl->td_lolen, |
calloc(yymeta_tbl->td_lolen, |
sizeof(flex_int32_t)); |
sizeof(flex_int32_t)); |
|
|
if (trace) |
if (trace) |
|
|
"\t{YYTD_ID_BASE, (void**)&yy_base, sizeof(%s)},\n", |
"\t{YYTD_ID_BASE, (void**)&yy_base, sizeof(%s)},\n", |
(tblend >= INT16_MAX |
(tblend >= INT16_MAX |
|| long_align) ? "flex_int32_t" : "flex_int16_t"); |
|| long_align) ? "flex_int32_t" : "flex_int16_t"); |
yybase_tbl = |
yybase_tbl = calloc(1, sizeof(struct yytbl_data)); |
(struct yytbl_data *) calloc(1, |
|
sizeof(struct yytbl_data)); |
|
yytbl_data_init(yybase_tbl, YYTD_ID_BASE); |
yytbl_data_init(yybase_tbl, YYTD_ID_BASE); |
yybase_tbl->td_lolen = total_states + 1; |
yybase_tbl->td_lolen = total_states + 1; |
yybase_tbl->td_data = yybase_data = |
yybase_tbl->td_data = yybase_data = |
(flex_int32_t *) calloc(yybase_tbl->td_lolen, |
calloc(yybase_tbl->td_lolen, |
sizeof(flex_int32_t)); |
sizeof(flex_int32_t)); |
yybase_curr = 1; |
yybase_curr = 1; |
|
|
|
|
(total_states >= INT16_MAX |
(total_states >= INT16_MAX |
|| long_align) ? "flex_int32_t" : "flex_int16_t"); |
|| long_align) ? "flex_int32_t" : "flex_int16_t"); |
|
|
yydef_tbl = |
yydef_tbl = calloc(1, sizeof(struct yytbl_data)); |
(struct yytbl_data *) calloc(1, |
|
sizeof(struct yytbl_data)); |
|
yytbl_data_init(yydef_tbl, YYTD_ID_DEF); |
yytbl_data_init(yydef_tbl, YYTD_ID_DEF); |
yydef_tbl->td_lolen = total_states + 1; |
yydef_tbl->td_lolen = total_states + 1; |
yydef_tbl->td_data = yydef_data = |
yydef_tbl->td_data = yydef_data = |
(flex_int32_t *) calloc(yydef_tbl->td_lolen, sizeof(flex_int32_t)); |
calloc(yydef_tbl->td_lolen, sizeof(flex_int32_t)); |
|
|
for (i = 1; i <= total_states; ++i) { |
for (i = 1; i <= total_states; ++i) { |
mkdata(def[i]); |
mkdata(def[i]); |
|
|
(total_states >= INT16_MAX |
(total_states >= INT16_MAX |
|| long_align) ? "flex_int32_t" : "flex_int16_t"); |
|| long_align) ? "flex_int32_t" : "flex_int16_t"); |
|
|
yynxt_tbl = |
yynxt_tbl = calloc(1, sizeof(struct yytbl_data)); |
(struct yytbl_data *) calloc(1, |
|
sizeof(struct yytbl_data)); |
|
yytbl_data_init(yynxt_tbl, YYTD_ID_NXT); |
yytbl_data_init(yynxt_tbl, YYTD_ID_NXT); |
yynxt_tbl->td_lolen = tblend + 1; |
yynxt_tbl->td_lolen = tblend + 1; |
yynxt_tbl->td_data = yynxt_data = |
yynxt_tbl->td_data = yynxt_data = |
(flex_int32_t *) calloc(yynxt_tbl->td_lolen, sizeof(flex_int32_t)); |
calloc(yynxt_tbl->td_lolen, sizeof(flex_int32_t)); |
|
|
for (i = 1; i <= tblend; ++i) { |
for (i = 1; i <= tblend; ++i) { |
/* |
/* |
|
|
(total_states >= INT16_MAX |
(total_states >= INT16_MAX |
|| long_align) ? "flex_int32_t" : "flex_int16_t"); |
|| long_align) ? "flex_int32_t" : "flex_int16_t"); |
|
|
yychk_tbl = |
yychk_tbl = calloc(1, sizeof(struct yytbl_data)); |
(struct yytbl_data *) calloc(1, |
|
sizeof(struct yytbl_data)); |
|
yytbl_data_init(yychk_tbl, YYTD_ID_CHK); |
yytbl_data_init(yychk_tbl, YYTD_ID_CHK); |
yychk_tbl->td_lolen = tblend + 1; |
yychk_tbl->td_lolen = tblend + 1; |
yychk_tbl->td_data = yychk_data = |
yychk_tbl->td_data = yychk_data = |
(flex_int32_t *) calloc(yychk_tbl->td_lolen, sizeof(flex_int32_t)); |
calloc(yychk_tbl->td_lolen, sizeof(flex_int32_t)); |
|
|
for (i = 1; i <= tblend; ++i) { |
for (i = 1; i <= tblend; ++i) { |
if (chk[i] == 0) |
if (chk[i] == 0) |
|
|
} |
} |
/* End generating yy_chk */ |
/* End generating yy_chk */ |
|
|
free((void *) acc_array); |
free(acc_array); |
} |
} |
|
|
|
|
|
|
} |
} |
} |
} |
if (nultrans) { |
if (nultrans) { |
flex_int32_t *yynultrans_data = 0; |
flex_int32_t *yynultrans_data = NULL; |
|
|
/* Begin generating yy_NUL_trans */ |
/* Begin generating yy_NUL_trans */ |
out_str_dec(get_state_decl(), "yy_NUL_trans", |
out_str_dec(get_state_decl(), "yy_NUL_trans", |
|
|
(fullspd) ? "struct yy_trans_info*" : |
(fullspd) ? "struct yy_trans_info*" : |
"flex_int32_t"); |
"flex_int32_t"); |
|
|
yynultrans_tbl = |
yynultrans_tbl = calloc(1, sizeof(struct yytbl_data)); |
(struct yytbl_data *) calloc(1, |
|
sizeof(struct |
|
yytbl_data)); |
|
yytbl_data_init(yynultrans_tbl, YYTD_ID_NUL_TRANS); |
yytbl_data_init(yynultrans_tbl, YYTD_ID_NUL_TRANS); |
if (fullspd) |
if (fullspd) |
yynultrans_tbl->td_flags |= YYTD_PTRANS; |
yynultrans_tbl->td_flags |= YYTD_PTRANS; |
yynultrans_tbl->td_lolen = lastdfa + 1; |
yynultrans_tbl->td_lolen = lastdfa + 1; |
yynultrans_tbl->td_data = yynultrans_data = |
yynultrans_tbl->td_data = yynultrans_data = |
(flex_int32_t *) calloc(yynultrans_tbl->td_lolen, |
calloc(yynultrans_tbl->td_lolen, |
sizeof(flex_int32_t)); |
sizeof(flex_int32_t)); |
|
|
for (i = 1; i <= lastdfa; ++i) { |
for (i = 1; i <= lastdfa; ++i) { |
|
|
dataend(); |
dataend(); |
if (tablesext) { |
if (tablesext) { |
yytbl_data_compress(yynultrans_tbl); |
yytbl_data_compress(yynultrans_tbl); |
if (yytbl_data_fwrite(&tableswr, yynultrans_tbl) < |
if (yytbl_data_fwrite(&tableswr, yynultrans_tbl) < 0) |
0) |
|
flexerror(_ |
flexerror(_ |
("Could not write yynultrans_tbl")); |
("Could not write yynultrans_tbl")); |
yytbl_data_destroy(yynultrans_tbl); |
yytbl_data_destroy(yynultrans_tbl); |