Comment on
EBNF Grammar for POSIX Shell
there are typos in lines 118 (asyncp), 202 (substitue), 346 (bracketet; also see line 352) and 386 (asnyc), and in line 346 you did not update the names from brack to bracket, and in line 283 (and consequently also line 320) the word order should probably be redirect-output-append