summaryrefslogtreecommitdiffstats
path: root/src/commentcnv.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/commentcnv.l')
-rw-r--r--src/commentcnv.l14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/commentcnv.l b/src/commentcnv.l
index b0fed8d..4e3e8e3 100644
--- a/src/commentcnv.l
+++ b/src/commentcnv.l
@@ -41,7 +41,7 @@ static void replaceCommentMarker(const char *s,int len)
p++;
}
// replace start of comment marker by spaces
- while ((c=*p) && (c=='/' || c=='!'))
+ while ((c=*p) && (c=='/' || c=='!' || c=='#'))
{
g_outBuf->addChar(' ');
p++;
@@ -109,6 +109,12 @@ static int yyread(char *buf,int max_size)
copyToOutput(yytext+i,yyleng-i);
BEGIN(SComment);
}
+<Scan>"//##Documentation".*\n { /* Start of Rational Rose ANSI C++ comment block */
+ int i=17; //=strlen("//##Documentation");
+ copyToOutput("/**",3);
+ copyToOutput(yytext+i,yyleng-i);
+ BEGIN(SComment);
+ }
<Scan>"//".*\n { /* one line C++ comment */
copyToOutput(yytext,yyleng);
}
@@ -180,6 +186,12 @@ static int yyread(char *buf,int max_size)
<SComment>\n[ \t]*"//!".*/\n {
replaceCommentMarker(yytext,yyleng);
}
+<SComment>^[ \t]*"//##".*/\n {
+ replaceCommentMarker(yytext,yyleng);
+ }
+<SComment>\n[ \t]*"//##".*/\n {
+ replaceCommentMarker(yytext,yyleng);
+ }
<SComment>\n { /* end of special comment */
copyToOutput(" */",3);
copyToOutput(yytext,yyleng);