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分析永远不会阻止
答案 0 :(得分:2)
这种风格是用Dart语言编写的吗?
我相信他们添加了这个,因为它可以更容易地注释掉可能已经包含块注释的大块代码。大多数其他语法结构都是嵌套的,所以C风格的块注释对我来说不似乎总是很奇怪。
我认为C最初是以这种方式工作的,因为它更容易在没有内存的旧PDP-11上使用。我们不再有这种限制,因此我们可以使用更加用户友好的注释语法。