0
如何解析使用MGrammar的行注释块?使用MGrammar解析行注释块
我想解析行注释的块。每行旁边的行注释应分组在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";
}
}