Re: CVS HEAD compile warning

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Michael Meskes <meskes(at)postgresql(dot)org>
Cc: Neil Conway <neilc(at)samurai(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: CVS HEAD compile warning
Date: 2004-02-27 16:39:05
Message-ID: 20033.1077899945@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Michael Meskes <meskes(at)postgresql(dot)org> writes:
>> At this point I think our first question is whether flex 2.5.31 is
>> correctly detecting a hole in the ecpg lexer rules that was missed by
>> flex 2.5.4, or whether the warning is simply wrong.

> Yes, that's it. The big problem seems to be that flex does not have a
> way to help finding that hole.

Yeah, I was scratching my head over that too. You'd think there'd be
some more useful debug output.

FWIW, I found two basic causes of that failure when I was fixing the
other lexers:

* not accounting for the fact that "." matches everything but newline.
You can write .|\n instead.

* not ensuring that a single character can always be matched. For
instance, one lexer had several rules for \ followed by various
things, but no rule that could match \ not followed by anything,
which meant that \ just before EOF was a missing case.

But I'm not sure that helps, since flex 2.5.4 detected those cases.
We don't really know what we're dealing with in this ecpg situation...

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2004-02-27 16:42:46 Re: Tablespaces
Previous Message Shridhar Daithankar 2004-02-27 15:29:10 Re: Thread safe connection-name mapping in ECPG. Is it