On Thu, Oct 07, 2021 at 04:24:16PM -0400, Tom Lane wrote:
> rir <rir...@comcast.net> writes:
> > On Thu, Oct 07, 2021 at 07:58:47AM +0200, Laurenz Albe wrote:
> >> Can you think of a way to modify the syntax diagram so that it
> >> expresses that and still remains comprehensible?
> 
> > For myself,
> >    'FETCH [ <direction> [ FROM | IN ] ] <cursor_name>'
> > clearly indicates that 'direction' is optional.

> 
>       FETCH FROM cursor_name
> 
> which in fact is legal.  I think however that we could make it read
> 
>       FETCH [ <direction> ] [ FROM | IN ] <cursor_name>'
> 
> and have a correct description without requiring <direction>
> to be allowed to be empty.

> BTW, as it stands, the diagram is ambiguous
> because there are two ways to parse
> 
>       FETCH cursor_name
> 
> ... is <direction> present but empty, or omitted altogether?

I am confident you know what you mean, but I don't.  At the _parsing_
stage how is any distinction between emptiness and omission?

I can correct the patch to reflect the rightness of
    FETCH [ <direction> ] [ FROM | IN ] <cursor_name>
in the sgml file and at least one misquote I have found.

Not being here that often, I will wait to see this conversation resolve.

Rob


Reply via email to