summaryrefslogtreecommitdiffstats
path: root/src/pyscanner.l
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2006-02-27 20:11:09 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2006-02-27 20:11:09 (GMT)
commit0a773cb15d41e5806b799cd24c076c60b734615c (patch)
tree5e27018c48206637a831c02760f69c7df275f1c9 /src/pyscanner.l
parenta9a600c4692a1d0b0a6a09362db1d6da8bda9a30 (diff)
downloadDoxygen-0a773cb15d41e5806b799cd24c076c60b734615c.zip
Doxygen-0a773cb15d41e5806b799cd24c076c60b734615c.tar.gz
Doxygen-0a773cb15d41e5806b799cd24c076c60b734615c.tar.bz2
Release-1.4.6-20060227
Diffstat (limited to 'src/pyscanner.l')
-rw-r--r--src/pyscanner.l18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/pyscanner.l b/src/pyscanner.l
index d29b2c1..ba6784a 100644
--- a/src/pyscanner.l
+++ b/src/pyscanner.l
@@ -414,6 +414,7 @@ EXPCHAR [#(){}\[\],:.%/\\=`*~|&<>!;+-]
NONEMPTYEXP [^ \t\n:]
PARAMNONEMPTY [^ \t\n():]
IDENTIFIER ({LETTER}|"_")({LETTER}|{DIGIT}|"_")*
+SCOPE {IDENTIFIER}("."{IDENTIFIER})*
BORDER ([^A-Za-z0-9])
TRISINGLEQUOTE "'''"(!)?
@@ -899,13 +900,15 @@ STARTDOCSYMS ^{B}"##"/[^#]
YY_CURRENT_BUFFER->yy_at_bol=TRUE;
BEGIN(Search);
}
- \n/"##" {
+ /*
+ ^{B}/"##" { // start of a special comment
yyLineNr++;
endOfDef();
g_hideClassDocs = FALSE;
YY_CURRENT_BUFFER->yy_at_bol=TRUE;
BEGIN(Search);
}
+ */
^{BB}/\n { // skip empty line
current->program+=yytext;
}
@@ -953,7 +956,7 @@ STARTDOCSYMS ^{B}"##"/[^#]
current->program+=*yytext;
yyLineNr++;
}
- ^{POUNDCOMMENT} { // normal comment
+ {POUNDCOMMENT} { // normal comment
current->program+=yytext;
}
. { // any character
@@ -1007,9 +1010,9 @@ STARTDOCSYMS ^{B}"##"/[^#]
BEGIN(ClassCaptureIndent);
}
- {IDENTIFIER} {
+ {SCOPE} {
current->extends->append(
- new BaseInfo(yytext,Public,Normal)
+ new BaseInfo(substitute(yytext,".","::"),Public,Normal)
);
//Has base class-do stuff
}
@@ -1040,7 +1043,7 @@ STARTDOCSYMS ^{B}"##"/[^#]
//fprintf(stderr,"setting indent %d\n",g_curIndent);
//printf("current->program=[%s]\n",current->program.data());
g_hideClassDocs = TRUE;
- BEGIN( ClassBody );
+ BEGIN(ClassBody);
}
""/({NONEMPTY}|{EXPCHAR}) {
@@ -1492,6 +1495,11 @@ static void parseMain(const char *fileName,const char *fileBuf,Entry *rt)
static void parsePrototype(const QCString &text)
{
//printf("**** parsePrototype(%s) begin\n",text.data());
+ if (text.isEmpty())
+ {
+ warn(yyFileName,yyLineNr,"Empty prototype found!");
+ return;
+ }
//g_expectModuleDocs = FALSE;
g_specialBlock = FALSE;