tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

regex, signed chars and 0x80 to 0xFF



When trying to compile emulators/wine (pkgsrc), flex chokes with

negative range in character class

because (BTW, the line reported is incorrect; it reports the line _after_ the
error) the regex are like this:

NCNameStartChar ([A-Za-z_]|[\xc0-\xd6\xd8-\xf6\xf8-\xff])

Is the problem with signed chars (but in this case, the ranges are
valid since they increase also with two-complement coding).

Or is the problem with the \x## notation that is not accepted by the
regex library, translating in fact \xd8-\xf6 in 8-6 (but in this case,
discarding \x as unknow, OK; but why discard 'd' or 'f' next...).

How are handled negative characters in a range when char is signed?

Side note: is there a way to obtain from flex a better description of
the problem?

Thanks in advance for any tip or reference,
-- 
        Thierry Laronde <tlaronde +AT+ kergis +dot+ com>
                     http://www.kergis.com/
                    http://kertex.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C


Home | Main Index | Thread Index | Old Index