2

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 パーサーでは端末と非端末に区分がないことはわかっていますが、エラー報告を改善するために、文法規則のいくつかのユーリスティックな分析は決して妨げません。

4

1 に答える 1