Re: Bison 3.7.90 (beta): test 4
Akim Demaille <[email protected]> Thu, 19 Aug 2021 10:13:13 +0200
| Newsgroups | gmane.comp.parsers.bison.bugs |
|---|---|
| Message-ID | <[email protected]> |
> Le 19 août 2021 à 10:07, Dagobert Michelsen <[email protected]> a écrit : > > Hi Akim, > > Am 19.08.2021 um 10:01 schrieb Akim Demaille <[email protected]>: >> This is good: the input and the output are correct. So it's the test suite's post processing which is wrong. I guess Perl does not behave the expected way. Could you please give me the results (and out.1 and out.2) of: >> >> perl --version >> perl -p -e 's{([\0\200\210\360\377])}{sprintf "\\x%02x", ord($1)}ge' <log >out.1 >> perl -p -e 's{([\000\200\210\360\377])}{sprintf "\\x%02x", ord($1)}ge' <log >out.2 >> >> where log is the previous log file (from LC_ALL=C tests/bison tests/testsuite.dir/004/input.y 2>log). > > Sure, I also added the respective output from the system shipped perl: Thanks. Neither work as I expect. It seems that \0 does not work in char classes. Could you please try this also? perl -p -e 's{(\0|[\200\210\360\377])}{sprintf "\\x%02x", ord($1)}ge' <log >out.3 Currently your output looks like this: tests/testsuite.dir/004/input.y:1.11: error: invalid null character 1 | %header "\xf0\x80\x88" | ^ the expected output should also show \x00: 1 | %header "\xf0\x00\x80\x88" | ^