MGramar で行コメントのブロックを解析するにはどうすればよいですか?
行コメントのブロックを解析したい。それぞれの横にある行コメントは、MGraph 出力でグループ化する必要があります。
行コメントのブロックをグループ化するのに問題があります。私の現在の文法では "\r\n\r\n" を使用してブロックを終了していますが、ファイルの終わりや他の構文を導入した場合など、すべての場合に機能するとは限りません。
サンプル入力は次のようになります。
/// This is block
/// number one
/// This is block
/// number two
私の現在の文法は次のようになります。
module MyModule
{
language MyLanguage
{
syntax Main = CommentLineBlock*;
token CommentContent = !(
'\u000A' // New Line
|'\u000D' // Carriage Return
|'\u0085' // Next Line
|'\u2028' // Line Separator
|'\u2029' // Paragraph Separator
);
token CommentLine = "///" c:CommentContent* => c;
syntax CommentLineBlock = (CommentLine)+ "\r\n\r\n";
interleave Whitespace = " " | "\r" | "\n";
}
}