summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2000-07-09 19:45:37 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2000-07-09 19:45:37 (GMT)
commit61a83f312ce95090dc02ca3b8ce8dd3319d97df1 (patch)
tree2dbdf12fc6696bf3a9d133e8e23ef223690e919a /src/scanner.l
parente3baf8c5ec430e5f09f00384ebdfa35242fd3316 (diff)
downloadDoxygen-61a83f312ce95090dc02ca3b8ce8dd3319d97df1.zip
Doxygen-61a83f312ce95090dc02ca3b8ce8dd3319d97df1.tar.gz
Doxygen-61a83f312ce95090dc02ca3b8ce8dd3319d97df1.tar.bz2
Release-1.1.5_20000709
Diffstat (limited to 'src/scanner.l')
-rw-r--r--src/scanner.l49
1 files changed, 34 insertions, 15 deletions
diff --git a/src/scanner.l b/src/scanner.l
index 5c97241..8062238 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -796,7 +796,7 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
FileDef *fd;
if ((fd=findFileDef(imageNameDict,fileName,ambig)))
{
- QFile inImage(fd->absFilePath().data());
+ QFile inImage(QString(fd->absFilePath().data()));
if (inImage.open(IO_ReadOnly))
{
result = fileName;
@@ -816,7 +816,7 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
break;
}
QCString outputFile = outputDir+"/"+result;
- QFile outImage(outputFile.data());
+ QFile outImage(QString(outputFile.data()));
if (outImage.open(IO_WriteOnly)) // copy the image
{
char *buffer = new char[inImage.size()];
@@ -1300,19 +1300,28 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
insideArgumentList=TRUE;
}
}
-<DocScan>{CMD}"par"{B}+ {
+<DocScan>(({B}*"\n"){2,}{B}*)?{CMD}"par"{B}* {
BEGIN(DocPar);
}
<DocPar>[^\n]*{BN} {
- endArgumentList();
- if (inBlock()) endBlock();
- inParBlock=TRUE;
- outDoc->startDescList();
- outDoc->startBold();
- outDoc->docify(((QCString)yytext).stripWhiteSpace());
- outDoc->endBold();
- outDoc->endDescTitle();
- outDoc->writeDescItem();
+ QCString title=QCString(yytext).stripWhiteSpace();
+ bool b = inBlock();
+ if (!title.isEmpty())
+ {
+ endArgumentList();
+ if (b) endBlock();
+ inParBlock=TRUE;
+ outDoc->startDescList();
+ outDoc->startBold();
+ outDoc->docify(title);
+ outDoc->endBold();
+ outDoc->endDescTitle();
+ outDoc->writeDescItem();
+ }
+ else
+ {
+ outDoc->newParagraph();
+ }
BEGIN(DocScan);
}
<DocScan>{CMD}"warning"/{BN} {
@@ -2397,7 +2406,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
BEGIN( NextSemi );
}
<FindMembers>{B}*"typename"{BN}+ { lineCount(); }
-<FindMembers>{B}*"namespace"{BN}+ {
+<FindMembers>{B}*"namespace"{BN}*/[^a-z_A-Z0-9] {
isTypedef=FALSE;
current->section = Entry::NAMESPACE_SEC;
current->type = "namespace" ;
@@ -2417,6 +2426,16 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
lineCount();
BEGIN( CompoundName );
}
+<FindMembers>{B}*"library"{BN}+ {
+ isTypedef=FALSE;
+ current->section = Entry::NAMESPACE_SEC;
+ current->type = "library" ;
+ current->fileName = yyFileName;
+ current->startLine = yyLineNr;
+ current->bodyLine = yyLineNr;
+ lineCount();
+ BEGIN( CompoundName );
+ }
<FindMembers>{B}*"interface"{BN}+ { // M$/Corba IDL interface
isTypedef=FALSE;
current->section = Entry::INTERFACE_SEC;
@@ -4852,8 +4871,8 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
copyArgString = &current->args;
BEGIN( ReadFuncArgType ) ;
}
-<ClassDocFunc>"("({B}*"*")+ {
- current->name+="(*";
+<ClassDocFunc>"("({ID}"::")*({B}*"*")+ {
+ current->name+=yytext;
BEGIN( ClassDocFuncPtr );
}
<ClassDocFuncPtr>{SCOPENAME} {