Dart で使用される複数行コメントのスタイルは?
私C-style
は複数行のコメントを知っています。このスタイルでは、複数行のコメント ( ) 内に複数行のコメントを含めることはできませんnested comments
。
つまり、複数行のコメント'C' style
で最初*/
に遭遇した位置でコメントが終了します。
例:
有効な C スタイルのコメント:
/*
*/
無効な C スタイルのコメント:
/*
/**/
*/
Dart では両方のスタイルが有効ですが、私が知っているように、ほとんどの一般的な言語ではC-style
コメントのみが使用されます。
これが私の質問です。
Dart言語のこのスタイルはどこから来たのですか? From a historical point of view and practical
.
PS
私は Dart 用の PEG パーサーを書いていますが、文法で見つけたときは驚きました。multilne comment
このルールは、自分自身を再帰的に呼び出すため、パーサーの自動認識を端末として許可しません。
MULTI_LINE_COMMENT <- '/*' (MULTI_LINE_COMMENT / !'*/' .)* '*/' ;
Bison/Flex
また、この複数行のコメントは用語でどのように説明できますか?
この質問が来るのは、PEG パーサーの用語ではコメントが の一部であるためwhite spaces
です。また、white spaces
ほとんどの場合、これらは動作を変更しないため (分岐せず、人間の論理によって再帰的でない、つまり、レキシカル スキャナーによってトークンに直接生成されない) ため、ターミナルと見なすことができます。
PEG パーサーでは端末と非端末に区分がないことはわかっていますが、エラー報告を改善するために、文法規則のいくつかのユーリスティックな分析は決して妨げません。