Date:        Thu, 15 Jun 2017 08:12:37 +0000
    From:        =?UTF-8?B?WWFubiBSw6lnaXMtR2lhbmFz?= 
<y...@pps.univ-paris-diderot.fr>
    Message-ID:  
<cam+uc3wc06e6tgoegqppw7tcktydx0fgperskh498jrve37...@mail.gmail.com>


  | For the moment, our implementation will continue to follow the shell
  | grammar of the POSIX standard (i.e. we will continue to accept "until a do
  | b; done" as a syntactically valid script.

Does your implementation also accept

        until a "do" b; done

as valid?   If not why not?  Because in the shell that is an identical
(invalid) command to the one you gave.

The grammar does not make that (either version) valid, a "do" reserved
word is required between "until" and "done", and there is none here.

Words in shell do not get to be reserved words just because they are spelled
the same was as a reserved word, they also have to occur in a position where
a reserved word can occur.

If this were not true, it would be impossible to write

        echo waiting for input

because that would have a "for" reserved word sitting in the middle of it,
and there is no grammar rule that allows that.

Yet it is possible, try it in any shell...

kre

Reply via email to