Lines 1667-1677
FILE *err;
Link Here
|
1667 |
} |
1667 |
} |
1668 |
spcnt += k; |
1668 |
spcnt += k; |
1669 |
for(; argv[i]; i++) fprintf(err," %s",argv[i]); |
1669 |
for(; argv[i]; i++) fprintf(err," %s",argv[i]); |
1670 |
if( spcnt<20 ){ |
|
|
1671 |
fprintf(err,"\n%*s^-- here\n",spcnt,""); |
1672 |
}else{ |
1673 |
fprintf(err,"\n%*shere --^\n",spcnt-7,""); |
1674 |
} |
1675 |
} |
1670 |
} |
1676 |
|
1671 |
|
1677 |
/* |
1672 |
/* |
Lines 1913-1930
void OptPrint(){
Link Here
|
1913 |
break; |
1908 |
break; |
1914 |
case OPT_INT: |
1909 |
case OPT_INT: |
1915 |
case OPT_FINT: |
1910 |
case OPT_FINT: |
1916 |
fprintf(errstream," %s=<integer>%*s %s\n",op[i].label, |
1911 |
fprintf(errstream," %s=<integer> %s\n",op[i].label,op[i].message); |
1917 |
(int)(max-lemonStrlen(op[i].label)-9),"",op[i].message); |
|
|
1918 |
break; |
1912 |
break; |
1919 |
case OPT_DBL: |
1913 |
case OPT_DBL: |
1920 |
case OPT_FDBL: |
1914 |
case OPT_FDBL: |
1921 |
fprintf(errstream," %s=<real>%*s %s\n",op[i].label, |
1915 |
fprintf(errstream," %s=<real> %s\n",op[i].label,op[i].message); |
1922 |
(int)(max-lemonStrlen(op[i].label)-6),"",op[i].message); |
|
|
1923 |
break; |
1916 |
break; |
1924 |
case OPT_STR: |
1917 |
case OPT_STR: |
1925 |
case OPT_FSTR: |
1918 |
case OPT_FSTR: |
1926 |
fprintf(errstream," %s=<string>%*s %s\n",op[i].label, |
1919 |
fprintf(errstream," %s=<string> %s\n",op[i].label,op[i].message); |
1927 |
(int)(max-lemonStrlen(op[i].label)-8),"",op[i].message); |
|
|
1928 |
break; |
1920 |
break; |
1929 |
} |
1921 |
} |
1930 |
} |
1922 |
} |
Lines 2866-2890
int PrintAction(struct action *ap, FILE
Link Here
|
2866 |
int result = 1; |
2858 |
int result = 1; |
2867 |
switch( ap->type ){ |
2859 |
switch( ap->type ){ |
2868 |
case SHIFT: |
2860 |
case SHIFT: |
2869 |
fprintf(fp,"%*s shift %d",indent,ap->sp->name,ap->x.stp->statenum); |
2861 |
fprintf(fp,"%s shift %d",ap->sp->name,ap->x.stp->statenum); |
2870 |
break; |
2862 |
break; |
2871 |
case REDUCE: |
2863 |
case REDUCE: |
2872 |
fprintf(fp,"%*s reduce %d",indent,ap->sp->name,ap->x.rp->index); |
2864 |
fprintf(fp,"%s reduce %d",ap->sp->name,ap->x.rp->index); |
2873 |
break; |
2865 |
break; |
2874 |
case ACCEPT: |
2866 |
case ACCEPT: |
2875 |
fprintf(fp,"%*s accept",indent,ap->sp->name); |
2867 |
fprintf(fp,"%s accept",ap->sp->name); |
2876 |
break; |
2868 |
break; |
2877 |
case ERROR: |
2869 |
case ERROR: |
2878 |
fprintf(fp,"%*s error",indent,ap->sp->name); |
2870 |
fprintf(fp,"%s error",ap->sp->name); |
2879 |
break; |
2871 |
break; |
2880 |
case SRCONFLICT: |
2872 |
case SRCONFLICT: |
2881 |
case RRCONFLICT: |
2873 |
case RRCONFLICT: |
2882 |
fprintf(fp,"%*s reduce %-3d ** Parsing conflict **", |
2874 |
fprintf(fp,"%s reduce %-3d ** Parsing conflict **", |
2883 |
indent,ap->sp->name,ap->x.rp->index); |
2875 |
ap->sp->name,ap->x.rp->index); |
2884 |
break; |
2876 |
break; |
2885 |
case SSCONFLICT: |
2877 |
case SSCONFLICT: |
2886 |
fprintf(fp,"%*s shift %d ** Parsing conflict **", |
2878 |
fprintf(fp,"%s shift %d ** Parsing conflict **", |
2887 |
indent,ap->sp->name,ap->x.stp->statenum); |
2879 |
ap->sp->name,ap->x.stp->statenum); |
2888 |
break; |
2880 |
break; |
2889 |
case SH_RESOLVED: |
2881 |
case SH_RESOLVED: |
2890 |
case RD_RESOLVED: |
2882 |
case RD_RESOLVED: |
Lines 2916-2922
struct lemon *lemp;
Link Here
|
2916 |
char buf[20]; |
2908 |
char buf[20]; |
2917 |
if( cfp->dot==cfp->rp->nrhs ){ |
2909 |
if( cfp->dot==cfp->rp->nrhs ){ |
2918 |
sprintf(buf,"(%d)",cfp->rp->index); |
2910 |
sprintf(buf,"(%d)",cfp->rp->index); |
2919 |
fprintf(fp," %5s ",buf); |
2911 |
fprintf(fp," %s ",buf); |
2920 |
}else{ |
2912 |
}else{ |
2921 |
fprintf(fp," "); |
2913 |
fprintf(fp," "); |
2922 |
} |
2914 |
} |
Lines 3817-3825
int mhflag; /* Output in makeheaders
Link Here
|
3817 |
for(i=0; i<lemp->nterminal; i++){ |
3809 |
for(i=0; i<lemp->nterminal; i++){ |
3818 |
struct symbol *p = lemp->symbols[i]; |
3810 |
struct symbol *p = lemp->symbols[i]; |
3819 |
if( p->fallback==0 ){ |
3811 |
if( p->fallback==0 ){ |
3820 |
fprintf(out, " 0, /* %10s => nothing */\n", p->name); |
3812 |
fprintf(out, " 0, /* %s => nothing */\n", p->name); |
3821 |
}else{ |
3813 |
}else{ |
3822 |
fprintf(out, " %3d, /* %10s => %s */\n", p->fallback->index, |
3814 |
fprintf(out, " %3d, /* %s => %s */\n", p->fallback->index, |
3823 |
p->name, p->fallback->name); |
3815 |
p->name, p->fallback->name); |
3824 |
} |
3816 |
} |
3825 |
lineno++; |
3817 |
lineno++; |