fix expandlabel.y (remove excess rules)
This commit is contained in:
parent
6bbc60f8fb
commit
06d8a548d3
|
|
@ -386,7 +386,6 @@ index: B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM
|
||||||
sign = XSIGN($3-$1);
|
sign = XSIGN($3-$1);
|
||||||
$$=my_malloc(_ALLOC_ID_, INITIALIDXSIZE*sizeof(int));
|
$$=my_malloc(_ALLOC_ID_, INITIALIDXSIZE*sizeof(int));
|
||||||
$$[0]=0;
|
$$[0]=0;
|
||||||
dbg(3, "yyparse(): parsing first idx range\n");
|
|
||||||
for(i=$1;;i+=sign*$5)
|
for(i=$1;;i+=sign*$5)
|
||||||
{
|
{
|
||||||
check_idx(&$$,++$$[0]);
|
check_idx(&$$,++$$[0]);
|
||||||
|
|
@ -401,7 +400,6 @@ index: B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM
|
||||||
int i;
|
int i;
|
||||||
$$=my_malloc(_ALLOC_ID_, INITIALIDXSIZE*sizeof(int));
|
$$=my_malloc(_ALLOC_ID_, INITIALIDXSIZE*sizeof(int));
|
||||||
$$[0]=0;
|
$$[0]=0;
|
||||||
dbg(3, "yyparse(): parsing first idx range\n");
|
|
||||||
for(i=$1;;i+=XSIGN($3-$1))
|
for(i=$1;;i+=XSIGN($3-$1))
|
||||||
{
|
{
|
||||||
check_idx(&$$,++$$[0]);
|
check_idx(&$$,++$$[0]);
|
||||||
|
|
@ -410,7 +408,6 @@ index: B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
| B_IDXNUM {
|
| B_IDXNUM {
|
||||||
dbg(3, "yyparse(): parsing first idx item\n");
|
|
||||||
$$=my_malloc(_ALLOC_ID_, INITIALIDXSIZE*sizeof(int));
|
$$=my_malloc(_ALLOC_ID_, INITIALIDXSIZE*sizeof(int));
|
||||||
$$[0]=0;
|
$$[0]=0;
|
||||||
check_idx(&$$, ++$$[0]);
|
check_idx(&$$, ++$$[0]);
|
||||||
|
|
@ -437,7 +434,6 @@ index: B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM
|
||||||
int sign;
|
int sign;
|
||||||
|
|
||||||
sign = XSIGN($5-$3);
|
sign = XSIGN($5-$3);
|
||||||
dbg(3, "yyparse(): parsing comma sep idx range\n");
|
|
||||||
for(i=$3;;i+=sign*$7)
|
for(i=$3;;i+=sign*$7)
|
||||||
{
|
{
|
||||||
check_idx(&$$, ++$$[0]);
|
check_idx(&$$, ++$$[0]);
|
||||||
|
|
@ -449,7 +445,6 @@ index: B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM
|
||||||
| index ',' B_IDXNUM ':' B_IDXNUM
|
| index ',' B_IDXNUM ':' B_IDXNUM
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
dbg(3, "yyparse(): parsing comma sep idx range\n");
|
|
||||||
for(i=$3;;i+=XSIGN($5-$3))
|
for(i=$3;;i+=XSIGN($5-$3))
|
||||||
{
|
{
|
||||||
check_idx(&$$, ++$$[0]);
|
check_idx(&$$, ++$$[0]);
|
||||||
|
|
@ -459,7 +454,6 @@ index: B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM
|
||||||
}
|
}
|
||||||
| index ',' B_IDXNUM
|
| index ',' B_IDXNUM
|
||||||
{
|
{
|
||||||
dbg(3, "yyparse(): parsing comma sep idx list\n");
|
|
||||||
check_idx(&$$, ++$$[0]);
|
check_idx(&$$, ++$$[0]);
|
||||||
$$[$$[0]]=$3;
|
$$[$$[0]]=$3;
|
||||||
}
|
}
|
||||||
|
|
@ -489,7 +483,6 @@ index_nobracket: B_IDXNUM B_DOUBLEDOT B_IDXNUM B_DOUBLEDOT B_IDXNUM B_DOUBLEDOT
|
||||||
sign = XSIGN($3-$1);
|
sign = XSIGN($3-$1);
|
||||||
$$=my_malloc(_ALLOC_ID_, INITIALIDXSIZE*sizeof(int));
|
$$=my_malloc(_ALLOC_ID_, INITIALIDXSIZE*sizeof(int));
|
||||||
$$[0]=0;
|
$$[0]=0;
|
||||||
dbg(3, "yyparse(): parsing first idx range\n");
|
|
||||||
for(i=$1;;i+=sign*$5)
|
for(i=$1;;i+=sign*$5)
|
||||||
{
|
{
|
||||||
check_idx(&$$,++$$[0]);
|
check_idx(&$$,++$$[0]);
|
||||||
|
|
@ -504,7 +497,6 @@ index_nobracket: B_IDXNUM B_DOUBLEDOT B_IDXNUM B_DOUBLEDOT B_IDXNUM B_DOUBLEDOT
|
||||||
int i;
|
int i;
|
||||||
$$=my_malloc(_ALLOC_ID_, INITIALIDXSIZE*sizeof(int));
|
$$=my_malloc(_ALLOC_ID_, INITIALIDXSIZE*sizeof(int));
|
||||||
$$[0]=0;
|
$$[0]=0;
|
||||||
dbg(3, "yyparse(): doubledot\n");
|
|
||||||
for(i=$1;;i+=XSIGN($3-$1))
|
for(i=$1;;i+=XSIGN($3-$1))
|
||||||
{
|
{
|
||||||
check_idx(&$$,++$$[0]);
|
check_idx(&$$,++$$[0]);
|
||||||
|
|
@ -533,7 +525,6 @@ index_nobracket: B_IDXNUM B_DOUBLEDOT B_IDXNUM B_DOUBLEDOT B_IDXNUM B_DOUBLEDOT
|
||||||
int sign;
|
int sign;
|
||||||
|
|
||||||
sign = XSIGN($5-$3);
|
sign = XSIGN($5-$3);
|
||||||
dbg(3, "yyparse(): parsing comma sep idx range\n");
|
|
||||||
for(i=$3;;i+=sign*$7)
|
for(i=$3;;i+=sign*$7)
|
||||||
{
|
{
|
||||||
check_idx(&$$, ++$$[0]);
|
check_idx(&$$, ++$$[0]);
|
||||||
|
|
@ -545,7 +536,6 @@ index_nobracket: B_IDXNUM B_DOUBLEDOT B_IDXNUM B_DOUBLEDOT B_IDXNUM B_DOUBLEDOT
|
||||||
| index_nobracket ',' B_IDXNUM B_DOUBLEDOT B_IDXNUM
|
| index_nobracket ',' B_IDXNUM B_DOUBLEDOT B_IDXNUM
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
dbg(3, "yyparse(): parsing comma sep idx range\n");
|
|
||||||
for(i=$3;;i+=XSIGN($5-$3))
|
for(i=$3;;i+=XSIGN($5-$3))
|
||||||
{
|
{
|
||||||
check_idx(&$$, ++$$[0]);
|
check_idx(&$$, ++$$[0]);
|
||||||
|
|
@ -553,59 +543,17 @@ index_nobracket: B_IDXNUM B_DOUBLEDOT B_IDXNUM B_DOUBLEDOT B_IDXNUM B_DOUBLEDOT
|
||||||
if(i==$5) break;
|
if(i==$5) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
| index ',' B_IDXNUM B_DOUBLEDOT B_IDXNUM B_DOUBLEDOT B_IDXNUM B_DOUBLEDOT B_IDXNUM
|
|
||||||
{
|
|
||||||
/* start .. end .. offset .. repetitions */
|
|
||||||
int r, i, sign, offset;
|
|
||||||
sign = XSIGN($5-$3);
|
|
||||||
offset = 0;
|
|
||||||
for(r=0; r < $9; r++) {
|
|
||||||
for(i = $3;; i += sign) {
|
|
||||||
check_idx(&$$,++$$[0]);
|
|
||||||
$$[$$[0]] = i + offset;
|
|
||||||
if(i == $5) break;
|
|
||||||
}
|
|
||||||
offset += $7;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
| index ',' B_IDXNUM B_DOUBLEDOT B_IDXNUM B_DOUBLEDOT B_IDXNUM
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
int sign;
|
|
||||||
|
|
||||||
sign = XSIGN($5-$3);
|
|
||||||
dbg(3, "yyparse(): parsing comma sep idx range\n");
|
|
||||||
for(i=$3;;i+=sign*$7)
|
|
||||||
{
|
|
||||||
check_idx(&$$, ++$$[0]);
|
|
||||||
$$[$$[0]]=i;
|
|
||||||
if(sign==1 && i + $7 > $5) break;
|
|
||||||
if(sign==-1 && i - $7 < $5) break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
| index ',' B_IDXNUM B_DOUBLEDOT B_IDXNUM
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
dbg(3, "yyparse(): parsing comma sep idx range\n");
|
|
||||||
for(i=$3;;i+=XSIGN($5-$3))
|
|
||||||
{
|
|
||||||
check_idx(&$$, ++$$[0]);
|
|
||||||
$$[$$[0]]=i;
|
|
||||||
if(i==$5) break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
| index_nobracket ',' B_IDXNUM
|
| index_nobracket ',' B_IDXNUM
|
||||||
{
|
{
|
||||||
dbg(3, "yyparse(): parsing comma sep idx list\n");
|
check_idx(&$$, ++$$[0]);
|
||||||
check_idx(&$$, ++$$[0]);
|
|
||||||
$$[$$[0]]=$3;
|
$$[$$[0]]=$3;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
| B_IDXNUM ',' index_nobracket
|
||||||
|
{
|
||||||
|
if($$==NULL) dbg(0, "null\n");
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
%%
|
%%
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue