> On Thu, Jan 03, 2002 at 05:27:43PM -0000, Simon Marlow wrote:
> > 
> >     '(' exp(i+1) op(a,i) ')'
> >     '(' op(a,i) exp(i+1) ')'
> > 
> >     '(' lexp(i) op(l,i) ')'
> >     '(' op(r,i) rexp(i) ')'
> > 
> > And for the sake of fewer ambiguities, replace each op(a,i) 
> with op(n,i)
> > in the existing two section productions.
> 
> (+ 5) would not then be valid.

Oops, quite right.  Then we should follow the example of the lexp/rexp
productions:

        '(' (lexp(i) | exp(i+1)) op(l,i) ')'
        '(' op(r,i) (rexp(i) | exp(i+1)) ')'
        '(' op(n,i) exp(i+1) ')'
        '(' exp(i+1) op(n,i) ')'

Yeuch.  The grammar would be much more readable (not to mention
parseable) if fixity resolution was described seperately.

Cheers,
        Simon

_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to