Comment puis-je analyser des blocs de commentaires de ligne avec MGrammar?Analyse des blocs de commentaires de ligne à l'aide de MGrammar
Je veux analyser les blocs de commentaires de ligne. Les commentaires de ligne à côté de chacun doivent être regroupés dans la sortie MGraph.
Je n'arrive pas à regrouper les blocs de commentaires de ligne. Ma grammaire actuelle utilise "\ r \ n \ r \ n" pour terminer un bloc mais cela ne fonctionnera pas dans tous les cas comme à la fin du fichier ou quand j'introduis d'autres syntaxes.
entrée de l'échantillon pourrait ressembler à ceci:
/// This is block
/// number one
/// This is block
/// number two
Ma grammaire actuelle ressemble à ceci:
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";
}
}