POSIX sh EBNF语法

rub*_*nvb 9 grammar parsing posix sh ebnf

是否有现有的POSIX sh语法可用,还是我必须直接从规范中找出它?

注意我对纯粹的 sh 不太感兴趣; 对我来说,一个扩展但符合要求的sh也是好的.

rub*_*nvb 6

我做了一些挖掘并找到了这些资源:

  1. 一个sh位于教程这里

  2. 一本包含Bash 2.0的BNF语法的Bash书(从这里开始),相关的附录仍然在这里

我经历的来源看bash,pdkshposh,但还没有在抽象的层面,我需要远程发现任何东西.


Jon*_*ler 6

POSIX标准定义了POSIX shell 的语法.该定义包括带注释的Yacc语法.因此,它可以或多或少地机械地转换为EBNF.

如果你想要一个"真正的"语法,那么你必须更加努力.选择你的'真实外壳'并找到源代码并找出语法的来源.

请注意,EBNF未被广泛使用.它具有有限的实用价值,尤其是因为基本上没有支持它的工具.因此,您不太可能找到现成的EBNF语法(几乎任何东西).