Files
bison/tests
Akim Demaille fc2191f137 diagnostics: modernize bison's syntax errors
We used to display the unexpected token first:

    $ bison foo.y
    foo.y:1.8-13: error: syntax error, unexpected %token, expecting character literal or identifier or <tag>
        1 | %token %token
          |        ^~~~~~

GCC uses a different format:

    $ gcc-mp-9 foo.c
    foo.c:1:5: error: expected identifier or '(' before ')' token
        1 | int()()()
          |     ^

and so does Clang:

    $ clang-mp-9.0 foo.c
    foo.c:1:5: error: expected identifier or '('
    int()()()
        ^
    1 error generated.

They display the unexpected token last (or not at all).  Also, they
don't waste width with "syntax error".  Let's try that.  It gives, for
the same example as above:

    $ bison foo.y
    foo.y:1.8-13: error: expected character literal or identifier or <tag> before %token
        1 | %token %token
          |        ^~~~~~

* src/complain.h, src/complain.c (syntax_error): New.
* src/parse-gram.y (yyreport_syntax_error): Use it.
2020-01-23 08:30:28 +01:00
..
2019-02-21 06:46:07 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-19 21:23:11 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00
2019-11-03 10:32:22 +01:00
2020-01-10 19:16:23 +01:00
2020-01-10 19:16:23 +01:00