Michael Meskes <[EMAIL PROTECTED]> 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

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to