bison-patches
[Top][All Lists]
Advanced

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

Re: FYI: default %printer/%destructor


From: Hans Aberg
Subject: Re: FYI: default %printer/%destructor
Date: Tue, 21 Nov 2006 23:28:25 +0100

On 21 Nov 2006, at 22:39, Joel E. Denny wrote:

But here, the LHSs should somehow be adapted to Bison notation.

I think this is the key.  We can't hope to avoid collisions with every
notation Bison might possibly want to use in the future or that users
might already be familiar with.

The problem is that EBNF is so fundamental, it is important to find a good notation of it.

There are only so many characters on the
keyboard.

Well, Unicode has some 100000 plus characters, and one might substitute poor-mans-ASCII for some of them.

Bison will have to develop its own alternatives in some cases.
However, using () in a grammar to group symbols is pervasive in my
experience, and so we might ought to avoid using it for other purposes.

So this seems.

I suspect that using [] in a grammar to mean optional is not nearly as
common.

I think it is quite common, in fact.

I think "[ ]" will work much
better than "(...)?", which is sometimes used - one needs to attach actions to these EBNF constructs as well, and postfix operators like "?" may cause
problems.

I don't follow.

It might cause a long lookahead, though I do not know if it is needed in this case. I had to implement the implicit set notation used in a metamath book
  {f|P}_x
where x is the variable bound by the set construct. Then one does not know what variable is bound until after the "_x" subscript has been read, making it hard to parse f and P. So I changed it to:
  {_x f|P}

Perhaps not a problem here, as "?" will be a key symbol. Just came to my mind.

  Hans Aberg






reply via email to

[Prev in Thread] Current Thread [Next in Thread]