[BACK]Return to gen.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / lex

Diff for /src/usr.bin/lex/gen.c between version 1.14 and 1.15

version 1.14, 2015/11/19 23:20:34 version 1.15, 2015/11/19 23:28:03
Line 108 
Line 108 
 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;
Line 214 
Line 214 
 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,
Line 223 
Line 223 
             ((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
Line 314 
Line 314 
 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];
Line 449 
Line 449 
 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]);
Line 657 
Line 657 
         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;
   
Line 1102 
Line 1102 
                     "\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 */
Line 1212 
Line 1212 
             "\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) {
Line 1269 
Line 1267 
                  * 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)
Line 1320 
Line 1315 
             "\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;
   
Line 1379 
Line 1372 
             (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]);
Line 1413 
Line 1404 
             (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) {
                 /*                  /*
Line 1453 
Line 1442 
             (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)
Line 1479 
Line 1466 
         }          }
         /* End generating yy_chk */          /* End generating yy_chk */
   
         free((void *) acc_array);          free(acc_array);
 }  }
   
   
Line 1706 
Line 1693 
                 }                  }
         }          }
         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",
Line 1716 
Line 1703 
                     (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) {
Line 1742 
Line 1726 
                 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);

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15