[OpenBIOS] Parsing empty \ comments
Rolf Schroedter
Rolf at Rolf-Schroedter.de
Thu Oct 19 22:08:20 CEST 2006
I noticed that kernel/bootstrap.c fails parsing empty \ comments, e.g.
from "bootstrap.fs":
\ Some comment<lf>
\<lf>
: tuck swap over ;
complaining about "tuck not defined". No problem if the 2nd line has a
space:
\ <lf>
One could say "That's FORTH", but IMHO this behavior is ugly because
the difference between both cases is not visible. In my case I had an
editor
configured to truncate trailing spaces in a line ...
I suggest to resolve this problem by not eating <lf> when parsing
for white spaces(delim=0) in parse(f,line,delim ), something like:
static int parse(FILE * f, char *line, char delim)
{
int cnt = 0, c;
while (!feof(f)) {
c = getc(f);
if (delim && c == delim)
break;
if ((!delim) && (c == ' ' || c == '\n' || c == '\t')) {
>>>>> if (c == '\n') ungetc(c, f);
break;
}
line[cnt++] = c;
}
line[cnt] = 0;
return cnt;
}
A similar change should probably be done at FORTH level in ":
parse-word" and/or ": parse".
Regards, Rolf.
--
------------------------------------
Rolf Schroedter
German Aerospace Center
Institute of Planetary Research
D-12489 Berlin, Rutherfordstrasse 2
Tel/Fax: (+49) (30) 67055-416/384
Email: Rolf.Schroedter at dlr.de
More information about the OpenBIOS
mailing list