char* infile; /* input file name */
int numbval; /* value of an input number */
-char tokname[NAMESIZE+4]; /* input token name, slop for runes and 0 */
+char tokname[NAMESIZE+UTFmax+1]; /* input token name, slop for runes and 0 */
/* structure declarations */
finput = Bopen(parser, OREAD);
if(finput == 0)
error("cannot find parser %s", parser);
+ Blethal(finput, nil);
warray("yyr1", levprd, nprod);
aryfil(temp1, nprod, 0);
PLOOP(1, i)
Bprint(ftable, "%4d\n};\n", 0);
/* copy parser text */
+ Bprint(ftable, "\n#line\t1\t\"%s\"\n", parser);
while((c=Bgetrune(finput)) != Beof) {
if(c == '$') {
if((c = Bgetrune(finput)) != 'A')
faction = Bopen(actname, OREAD);
if(faction == 0)
error("cannot reopen action tempfile");
+ Blethal(faction, nil);
while((c=Bgetrune(faction)) != Beof)
Bputrune(ftable, c);
Bterm(faction);
faction = Bopen(actname = mktemp(tactname), OWRITE);
if(ftemp == 0 || faction == 0)
error("cannot open temp file");
+ Blethal(ftemp, nil);
+ Blethal(faction, nil);
if(argc < 1)
error("no input file");
infile = argv[0];
finput = Bopen(infile, OREAD);
if(finput == 0)
error("cannot open '%s'", argv[0]);
+ Blethal(finput, nil);
cnamp = cnames;
defin(0, "$end");
foutput = Bopen(buf, OWRITE);
if(foutput == 0)
error("cannot open %s", buf);
+ Blethal(foutput, nil);
}
if(yydebug) {
snprint(buf, sizeof buf, "%s.%s", stem, FILEDEBUG);
fdefine = Bopen(buf, OWRITE);
if(fdefine == 0)
error("can't create %s", buf);
+ Blethal(fdefine, nil);
}
if(ytab == 0)
snprint(buf, sizeof buf, "%s.%s", stem, OFILE);
ftable = Bopen(buf, OWRITE);
if(ftable == 0)
error("cannot open table file %s", buf);
+ Blethal(ftable, nil);
}
/*
finput = Bopen(tempname, OREAD);
if(finput == 0)
error("optimizer cannot open tempfile");
+ Blethal(finput, nil);
pgo[0] = 0;
temp1[0] = 0;