Search code examples
parsingposixgrammarshebnf

POSIX sh EBNF grammar


Is there an existing POSIX sh grammar available or do I have to figure it out from the specification directly?

Note I'm not so much interested in a pure sh; an extended but conformant sh is also more than fine for my purposes.


Solution

  • I have done some more digging and found these resources:

    1. An sh tutorial located here

    2. A Bash book containing Bash 2.0's BNF grammar (gone from here) with the relevant appendix still here

    I have looked through the sources of bash, pdksh, and posh but haven't found anything remotely at the level of abstraction I need.