有没有一个我可以找到流行语言的巴克斯-诺尔范式(Backus–Naur Form)或BNF语法的地方?每当我搜索时,我发现很少,但我想它们一定被发布在某个地方。我最感兴趣的是看到Objective-C和可能是MySQL的其中一个。
有没有一个我可以找到流行语言的巴克斯-诺尔范式(Backus–Naur Form)或BNF语法的地方?每当我搜索时,我发现很少,但我想它们一定被发布在某个地方。我最感兴趣的是看到Objective-C和可能是MySQL的其中一个。
您需要搜索用于创建语法的工具:"lex/yacc grammar", "antlr grammar" "railroad diagram"
http://www.antlr3.org/grammar/list.html
这里有一些语法文件
值得一提的是,MySQL语法文件(mysql-server/sql/sql_yacc.y
)是开源的,并且可以在launchpad.net上进行浏览(尽管速度有点慢,当我试图打开特定文件时出现了错误)。
此外,整个MySQL Server源代码的快照可以从dev.mysql.com下载。
据我所知,BNF语法与yacc/bison所需的输入略有不同,这可能会非常烦人 :) 如果您打算将这些文件提供给解析器生成器,请查找适当格式的文件。我记得曾经在Java、JavaScript和C++等语言中看到过这样的文件。可能是作为Eclipse、Firefox和GCC的一部分,但我不能确定。我认为,通过找到使用该语言的开源项目,您可以找到几乎任何解析器输入文件。