我正在寻找 5.0 版编程语言 C# 的 EBNF 语法。这个语法应该是机器可读的,所以我可以用这个 EBNF 语法做一些处理
直到现在我才发现Visual Studio的安装中包含了C#的语言规范文档(%PROGRAMFILES(x86)%\Microsoft Visual Studio 12.0\VC#\Specifications\1033
)本文档已包含嵌入文档中的 BNF 语法。然而,这只是 BNF 语法而不是 EBNF,并且它嵌入在 *.docx 文档中,没有单独的文件,这意味着它对我来说还不够。
此外,我还找到了这些资源:
-
MSDN 博客 http://blogs.msdn.com/b/lucian/archive/2010/04/19/grammar.aspx:这是 C# 4.0 版本的 EBNF 语法
-
slps.github.io http://slps.github.io/zoo/#Cs_4.0:这包含提取的 C# 版本 4.0 的 BNF 语法
所以这些资源对于我的项目来说是不够的。您知道 C# 5.0 的完整 EBNF 语法吗?
我知道您正在寻找 C# 5.0 语法,但是有一个ANTLR
c# 6.0 的语法位于github https://github.com/antlr/grammars-v4/tree/master/csharp. ANTLR
使用一种 EBNF 表示法,可以由计算机解析。如果您希望 ANTLR 允许您从该语法生成 C# 解析器。由于 C# 6.0 是 C# 5.0 的超集,因此版本差异应该不重要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)