| To: Barbara Denny <denny@3com.com>
Subject: Re: freebsd flex bug?
In-reply-to: Your message of Fri, 30 Jan 1998 12:00:43 PST.
Date: Fri, 30 Jan 1998 12:42:32 PST
From: Vern Paxson <vern>
> lex.yy.c:1996: parse error before `='
This is the key, identifying this error. (It may help to pinpoint
it by using flex -L, so it doesn't generate #line directives in its
output.) I will bet you heavy money that you have a start condition
name that is also a variable name, or something like that; flex spits
out #define's for each start condition name, mapping them to a number,
so you can wind up with:
%x foo
%%
...
%%
void bar()
{
int foo = 3;
}
and the penultimate will turn into "int 1 = 3" after C preprocessing,
since flex will put "#define foo 1" in the generated scanner.
Vern
|