c# – ISO语法遵循特定格式

以下是C#语言规范语法部分的摘录:

>这是用特定格式写的吗?我查看了我发现的旧C ISO中的语法部分,它似乎遵循相同的格式,所以这里是否有一些标准用于编写这种语法?我问,因为我希望能够创建一个工具,我可以直接粘贴语法并立即使用一个有效的C#解析器.
>微软似乎免费发布了他们的C#规范,但我无法在任何地方找到C 11格式.我是否必须购买才能查看?

解决方法:

它是Yacc使用的BNF的变种. Yacc通常有;作为其语法的一部分,但改变使用C#和C等语言使事情更简单;本身非常重要.与大多数BNF变体不同,它有一个:BNF经常使用=(参见Van Wijngaarden语法,你很快就会知道这个答案来自的一点点知识).

ISO没有关于哪些语法必须在其标准中使用的规则,因此其他人使用BNF,ABNF,EBNF,Wirth语法以及其他语法.

ISO标准通常源自国家或其他标准,然后由ISO采用.由于不同的标准体使用不同的语法(IETF在RFC中使用ABNF [本身在RFC 5234中定义],BSI和W3C使用不同的EBNF变体,等等)ISO中的语法通常反映其起源.

这就是这种情况. Kernigan和Ritchie在他们的书“The C Programming Language”中使用了这种格式.虽然ANSI标准和后来的ISO标准在语法本身上有所不同,但它们使用相同的格式,并且它已被用于其他类C语言.

上一篇:语言Java的语法描述


下一篇:为什么说Python是最伟大的语言?看图就知道了