[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/3] {master} convert the conflict messages to a more bison-l
From: |
Akim Demaille |
Subject: |
Re: [PATCH 0/3] {master} convert the conflict messages to a more bison-like form |
Date: |
Sun, 23 Sep 2012 15:33:15 +0200 |
Le 21 sept. 2012 à 18:34, Paul Eggert a écrit :
> On 09/21/2012 09:00 AM, Akim Demaille wrote:
>> Yet I tolerated them since they are "mandated by POSIX".
>
> I don't recall that discussion.
I don't either :) I was referring to comments in the code.
Actually, they trace back to (Gosh, David MacKenzie was really
everywhere!)…
commit 08089d5d35ece0c7d41659cc1bc09638e2abb151
Author: David MacKenzie <address@hidden>
Date: Tue Apr 20 05:42:52 1993 +0000
Initial revision
diff --git a/src/conflicts.c b/src/conflicts.c
new file mode 100644
index 0000000..4ed9dea
--- /dev/null
+++ b/src/conflicts.c
[…]+void
+total_conflicts()
+{
+ extern int fixed_outfiles;
+
+ if (src_total == expected_conflicts && rrc_total == 0)
+ return;
+
+ if (fixed_outfiles)
+ {
+ /* If invoked under the name `yacc', use the output format
+ specified by POSIX. */
+ fprintf(stderr, "conflicts: ");
+ if (src_total > 0)
+ fprintf(stderr, " %d shift/reduce", src_total);
+ if (src_total > 0 && rrc_total > 0)
+ fprintf(stderr, ",");
+ if (rrc_total > 0)
+ fprintf(stderr, " %d reduce/reduce", rrc_total);
+ putc('\n', stderr);
+ }
+ else
> What was the problem back
> then? I just now checked POSIX 1003.2-1992, and the wording
> it uses for diagnostics is the same as the POSIX 2008 wording
> you quoted. So I don't think the wording is mandated by POSIX.
Good then.
> If I had to guess, I suspect the problem was related to
> existing build procedures that expect a particular wording.
> That exact same wording has been used since Yacc in 7th
> Edition Unix (1978), and it probably goes back even further
> than that.
>
> Still, it would be helpful to double-check this, if you
> can recall the discussion in question.
I really don't remember anything about this. I only remember
that you had once a POSIX-conformance hacking session, where
you fixed several non-conformance issues in Bison.
Your wording for the commit I referred to
(http://lists.gnu.org/archive/html/bison-patches/2002-12/msg00027.html)
says:
> In my 2002-12-26 change to conflicts.c I noticed that the code
> generated conflict reports in a hard-to-translate manner, e.g., it
> assumed that "," has the same meaning in all languages. It's better
> to translate the whole diagnostic at once, rather than translate each
> piece separately; that lets the entire translation be more idiomatic.
> While fixing this I ended up dedicing that it's better to revert to
> the Yacc style of conflict reports: this is easily translated, and it
> has the virtue of familiarity, at any rate. So I installed this:
so it seems to me now that the constraint we lived with
("If invoked under the name `yacc', use the output format
specified by POSIX.") is not justified.
- [PATCH 0/3] {master} convert the conflict messages to a more bison-like form, Akim Demaille, 2012/09/21
- [PATCH 1/3] %expect-rr is for GLR only, Akim Demaille, 2012/09/21
- [PATCH 2/3] conflicts: refactor the counting routines, Akim Demaille, 2012/09/21
- [PATCH 3/3] use the regular warning interface for s/r and r/r conflicts, Akim Demaille, 2012/09/21
- Re: [PATCH 0/3] {master} convert the conflict messages to a more bison-like form, Paul Eggert, 2012/09/21
- Re: [PATCH 0/3] {master} convert the conflict messages to a more bison-like form,
Akim Demaille <=
- Re: [PATCH 0/3] {master} convert the conflict messages to a more bison-like form, Paul Eggert, 2012/09/23
- Re: [PATCH 0/3] {master} convert the conflict messages to a more bison-like form, Akim Demaille, 2012/09/23
- Re: [PATCH 0/3] {master} convert the conflict messages to a more bison-like form, Paul Eggert, 2012/09/23
- Re: [PATCH 0/3] {master} convert the conflict messages to a more bison-like form, Akim Demaille, 2012/09/24
- Re: [PATCH 0/3] {master} convert the conflict messages to a more bison-like form, Akim Demaille, 2012/09/24
- Re: [PATCH 0/3] {master} convert the conflict messages to a more bison-like form, Paul Eggert, 2012/09/24
- Re: [PATCH 0/3] {master} convert the conflict messages to a more bison-like form, Akim Demaille, 2012/09/25