New warnings in plgsql/src/scan.l

Started by Alvaro Herreraover 20 years ago5 messages
#1Alvaro Herrera
alvherre@surnet.cl

I see new warnings in the generation of plpgsql's scanner:

/usr/bin/flex -Pplpgsql_base_yy -o'/pg/source/00orig/src/pl/plpgsql/src/pl_scan.c' /pg/source/00orig/src/pl/plpgsql/src/scan.l
/pg/source/00orig/src/pl/plpgsql/src/scan.l:198: warning, the character range [-�] is ambiguous in a case-insensitive scanner
/pg/source/00orig/src/pl/plpgsql/src/scan.l:198: warning, the character range [-�] is ambiguous in a case-insensitive scanner
/pg/source/00orig/src/pl/plpgsql/src/scan.l:320: warning, the character range [-�] is ambiguous in a case-insensitive scanner

I think those have to do with E'' handling changes. I remember there
were similar problems in the main scanner as well some time ago, not
sure about the resolution.

--
Alvaro Herrera (<alvherre[a]surnet.cl>)
"I personally became interested in Linux while I was dating an English major
who wouldn't know an operating system if it walked up and bit him."
(Val Henson)

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Alvaro Herrera (#1)
Re: New warnings in plgsql/src/scan.l

Alvaro Herrera wrote:

I see new warnings in the generation of plpgsql's scanner:

/usr/bin/flex -Pplpgsql_base_yy
-o'/pg/source/00orig/src/pl/plpgsql/src/pl_scan.c'
/pg/source/00orig/src/pl/plpgsql/src/scan.l
/pg/source/00orig/src/pl/plpgsql/src/scan.l:198: warning, the
character range [-�] is ambiguous in a case-insensitive scanner

This warning has existed in one from or another ever since the latest
flex version is in use. For example, 7.4 shows it as well. I don't
think we have to do anything (except rewrite PL/pgSQL's parser, which
is somehow planned (or hoped for) anyway).

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

#3Alvaro Herrera
alvherre@surnet.cl
In reply to: Peter Eisentraut (#2)
Re: New warnings in plgsql/src/scan.l

On Mon, Jul 04, 2005 at 06:51:48PM +0200, Peter Eisentraut wrote:

Alvaro Herrera wrote:

I see new warnings in the generation of plpgsql's scanner:

/usr/bin/flex -Pplpgsql_base_yy
-o'/pg/source/00orig/src/pl/plpgsql/src/pl_scan.c'
/pg/source/00orig/src/pl/plpgsql/src/scan.l
/pg/source/00orig/src/pl/plpgsql/src/scan.l:198: warning, the
character range [-�] is ambiguous in a case-insensitive scanner

This warning has existed in one from or another ever since the latest
flex version is in use.

Really? Hmm, maybe the issue is that my system "upgraded itself." I
see flex is at 2.5.31 ATM, not sure how to find out when it was
upgraded.

(But then maybe I'm wrong about those warnings being new; maybe they
were usually drowned in the noise of "tsort input having a loop", or
something like that, that I've never cared to shut up.)

--
Alvaro Herrera (<alvherre[a]surnet.cl>)
"This is a foot just waiting to be shot" (Andrew Dunstan)

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Alvaro Herrera (#3)
Re: New warnings in plgsql/src/scan.l

Alvaro Herrera <alvherre@surnet.cl> writes:

On Mon, Jul 04, 2005 at 06:51:48PM +0200, Peter Eisentraut wrote:

This warning has existed in one from or another ever since the latest
flex version is in use.

Really? Hmm, maybe the issue is that my system "upgraded itself." I
see flex is at 2.5.31 ATM, not sure how to find out when it was
upgraded.

2.5.31 is known broken; our only response to problems with it is
"use 2.5.4".

regards, tom lane

#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#2)
Re: New warnings in plgsql/src/scan.l

Peter Eisentraut <peter_e@gmx.net> writes:

Alvaro Herrera wrote:

I see new warnings in the generation of plpgsql's scanner:

/usr/bin/flex -Pplpgsql_base_yy
-o'/pg/source/00orig/src/pl/plpgsql/src/pl_scan.c'
/pg/source/00orig/src/pl/plpgsql/src/scan.l
/pg/source/00orig/src/pl/plpgsql/src/scan.l:198: warning, the
character range [-�] is ambiguous in a case-insensitive scanner

This warning has existed in one from or another ever since the latest
flex version is in use. For example, 7.4 shows it as well. I don't
think we have to do anything (except rewrite PL/pgSQL's parser, which
is somehow planned (or hoped for) anyway).

The warnings are pointing at uses of "identifier" and similar. I think
it's probably unhappy that we are writing things like

ident_start [A-Za-z\200-\377_]

along with '%option case-insensitive'. However this doesn't strike me
as ambiguous, merely redundant ...

It may also be important to invoke flex in C locale --- I seem to recall
some previous discussion to the effect that its idea of "case
insensitive" depends on the build-time locale.

regards, tom lane