summaryrefslogtreecommitdiffstats
path: root/src/pyscanner.l
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2006-02-27 20:11:09 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2006-02-27 20:11:09 (GMT)
commitc8b3a0f8232656c1a11c185d595f19eb65c56c82 (patch)
tree5e27018c48206637a831c02760f69c7df275f1c9 /src/pyscanner.l
parent8b0ae7ca77a14eef79e972d6061a9470de9ae458 (diff)
downloadDoxygen-c8b3a0f8232656c1a11c185d595f19eb65c56c82.zip
Doxygen-c8b3a0f8232656c1a11c185d595f19eb65c56c82.tar.gz
Doxygen-c8b3a0f8232656c1a11c185d595f19eb65c56c82.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;