Q在哪里可以找到 C 语言的 BNF 或 YACC 语法?
A当然,权威的语法是 ANSI 标准中的语法;请参阅问题 11.2。Jim Roskind 的另一份语法可在 ftp.eskimo.com 上获取,位于 home/scs/roskind_grammar.Z。一份充实、可工作的 ANSI C90 语法实例(由 Jeff Lee 提供)可在 ftp.uu.net 上找到(请参阅问题 18.16),位于 usenet/net.sources/ansi.c.grammar.Z(包含一个配套的词法分析器)。[脚注] FSF 的 GNU C 编译器包含一个语法,K&R2 的附录也是如此。
comp.compilers 存档包含更多关于语法的相关信息;请参阅问题 18.3。
参考文献:K&R1 第 A18 节 pp. 214-219
K&R2 第 A13 节 pp. 234-239
ISO 第 B.2 节
H&S pp. 423-435 附录 B