Dart使用哪种风格的多行注释?

时间:2013-07-28 09:11:53

标签: parsing dart

Dart上使用哪种多线评论?

我知道多行评论的C-style。此样式不允许多行注释(nested comments)内的多行注释。

这是'C' style条评论在多行评论中遇到的第一个*/结束。

示例:

Vaild C风格的评论:

/*
*/

无效的C风格评论:

/*
/**/
*/

在Dart中,这两种风格都有效,但据我所知,在大多数流行语言中只使用了C-style条评论。

这是我的问题。

Dart语言中的这种风格? From a historical point of view and practical

P.S。

我正在为Dart编写PEG解析器,当我在语法中找到它时感到很惊讶。 此规则不允许在我的解析器中自动识别multilne comment作为终端,因为它递归调用自己。

MULTI_LINE_COMMENT <- '/*' (MULTI_LINE_COMMENT / !'*/' .)* '*/' ;

此多行注释如何在Bison/Flex术语中描述?

这个问题到了,因为在PEG解析器术语中,注释是white spaces的一部分。在大多数情况下white spaces可以假设为终端,因为它们不会改变行为(它们不会分支,也不会被人类逻辑递归,即由词汇scaners直接产生的标记)。

我知道在PEG解析器中没有终端和非终端的划分,但为了更好的错误报告,一些语法规则的euristic分析永远不会阻止

1 个答案:

答案 0 :(得分:2)

  

这种风格是用Dart语言编写的吗?

我相信他们添加了这个,因为它可以更容易地注释掉可能已经包含块注释的大块代码。大多数其他语法结构都是嵌套的,所以C风格的块注释对我来说似乎总是很奇怪。

我认为C最初是以这种方式工作的,因为它更容易在没有内存的旧PDP-11上使用。我们不再有这种限制,因此我们可以使用更加用户友好的注释语法。