Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
doxverilog
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
doxverilog
Commits
f309c3c0
Commit
f309c3c0
authored
May 26, 2004
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.3.7-20040526
parent
6e92a0d3
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
375 additions
and
113 deletions
+375
-113
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
commands.doc
doc/commands.doc
+23
-1
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
code.l
src/code.l
+11
-5
diagram.cpp
src/diagram.cpp
+13
-6
diagram.h
src/diagram.h
+2
-1
docparser.cpp
src/docparser.cpp
+28
-14
docparser.h
src/docparser.h
+4
-4
doctokenizer.l
src/doctokenizer.l
+9
-8
doxygen.cpp
src/doxygen.cpp
+9
-8
htmldocvisitor.cpp
src/htmldocvisitor.cpp
+1
-1
htmlgen.cpp
src/htmlgen.cpp
+2
-2
htmlhelp.cpp
src/htmlhelp.cpp
+1
-0
index.cpp
src/index.cpp
+49
-12
index.h
src/index.h
+13
-0
mandocvisitor.cpp
src/mandocvisitor.cpp
+8
-0
mangen.cpp
src/mangen.cpp
+1
-0
pre.l
src/pre.l
+1
-0
rtfgen.cpp
src/rtfgen.cpp
+1
-1
scanner.l
src/scanner.l
+187
-34
util.cpp
src/util.cpp
+6
-10
No files found.
INSTALL
View file @
f309c3c0
DOXYGEN Version 1.3.7-200405
17
DOXYGEN Version 1.3.7-200405
26
Please read the installation section of the manual
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
(http://www.doxygen.org/install.html) for instructions.
--------
--------
Dimitri van Heesch (
17
May 2004)
Dimitri van Heesch (
26
May 2004)
README
View file @
f309c3c0
DOXYGEN Version 1.3.7_200405
17
DOXYGEN Version 1.3.7_200405
26
Please read INSTALL for compilation instructions.
Please read INSTALL for compilation instructions.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
17
May 2004)
Dimitri van Heesch (dimitri@stack.nl) (
26
May 2004)
VERSION
View file @
f309c3c0
1.3.7-200405
17
1.3.7-200405
26
doc/commands.doc
View file @
f309c3c0
...
@@ -48,6 +48,7 @@ documentation:
...
@@ -48,6 +48,7 @@ documentation:
\refitem cmdbug \\bug
\refitem cmdbug \\bug
\refitem cmdc \\c
\refitem cmdc \\c
\refitem cmdcallgraph \\callgraph
\refitem cmdcallgraph \\callgraph
\refitem cmdcategory \\category
\refitem cmdclass \\class
\refitem cmdclass \\class
\refitem cmdcode \\code
\refitem cmdcode \\code
\refitem cmdcopydoc \\copydoc
\refitem cmdcopydoc \\copydoc
...
@@ -111,6 +112,7 @@ documentation:
...
@@ -111,6 +112,7 @@ documentation:
\refitem cmdpost \\post
\refitem cmdpost \\post
\refitem cmdpre \\pre
\refitem cmdpre \\pre
\refitem cmdproperty \\property
\refitem cmdproperty \\property
\refitem cmdprotocol \\protocol
\refitem cmdref \\ref
\refitem cmdref \\ref
\refitem cmdrelates \\relates
\refitem cmdrelates \\relates
\refitem cmdrelatesalso \\relatesalso
\refitem cmdrelatesalso \\relatesalso
...
@@ -203,6 +205,16 @@ doxygen. Unrecognized commands are treated as normal text.
...
@@ -203,6 +205,16 @@ doxygen. Unrecognized commands are treated as normal text.
\note The completeness (and correctness) of the call graph depends on the
\note The completeness (and correctness) of the call graph depends on the
doxygen code parser which is not perfect.
doxygen code parser which is not perfect.
<hr>
\section cmdcategory \category <name> [<header-file>] [<header-name>]
\addindex \\category
For Objective-C only: Indicates that a comment block contains documentation
for a class category with name \<name\>. The arguments are
equal to the \\class command.
\sa section \ref cmdclass "\\class".
\section cmdclass \class <name> [<header-file>] [<header-name>]
\section cmdclass \class <name> [<header-file>] [<header-name>]
\addindex \\class
\addindex \\class
...
@@ -385,7 +397,7 @@ doxygen. Unrecognized commands are treated as normal text.
...
@@ -385,7 +397,7 @@ doxygen. Unrecognized commands are treated as normal text.
\ref cmdaddtogroup "\\addtogroup" and \ref cmdweakgroup "\\weakgroup"
\ref cmdaddtogroup "\\addtogroup" and \ref cmdweakgroup "\\weakgroup"
<hr>
<hr>
\section cmdinterface \interface
\section cmdinterface \interface
<name> [<header-file>] [<header-name>]
\addindex \\interface
\addindex \\interface
Indicates that a comment block contains documentation for an
Indicates that a comment block contains documentation for an
...
@@ -552,6 +564,16 @@ See section \ref memgroup for an example.
...
@@ -552,6 +564,16 @@ See section \ref memgroup for an example.
\sa section \ref cmdfn "\\fn" and \ref cmdvar "\\var".
\sa section \ref cmdfn "\\fn" and \ref cmdvar "\\var".
<hr>
\section cmdprotocol \protocol <name> [<header-file>] [<header-name>]
\addindex \\protocol
Indicates that a comment block contains documentation for a
protocol in Objective-C with name \<name\>. The arguments are equal
to the \\class command.
\sa section \ref cmdclass "\\class".
<hr>
<hr>
\section cmdrelates \relates <name>
\section cmdrelates \relates <name>
...
...
packages/rpm/doxygen.spec
View file @
f309c3c0
Summary: A documentation system for C/C++.
Summary: A documentation system for C/C++.
Name: doxygen
Name: doxygen
Version: 1.3.7_200405
17
Version: 1.3.7_200405
26
Release: 1
Release: 1
Epoch: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
...
...
src/code.l
View file @
f309c3c0
...
@@ -711,7 +711,6 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName,
...
@@ -711,7 +711,6 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName,
bool typeOnly=FALSE)
bool typeOnly=FALSE)
{
{
int i=0;
int i=0;
//fprintf(stderr,"generateClassOrGlobalLink(clName=%s)\n",clName);
if (*clName=='~') // correct for matching negated values i.s.o. destructors.
if (*clName=='~') // correct for matching negated values i.s.o. destructors.
{
{
g_code->codify("~");
g_code->codify("~");
...
@@ -726,14 +725,21 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName,
...
@@ -726,14 +725,21 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName,
ClassDef *cd=0;
ClassDef *cd=0;
MemberDef *md=0;
MemberDef *md=0;
//printf("generateClassOrGlobalLink(className=%s)\n",className.data());
if (!g_theVarContext.findVariable(className)) // not a local variable
if (!g_theVarContext.findVariable(className)) // not a local variable
{
{
Definition *d = g_currentDefinition;
Definition *d = g_currentDefinition;
//printf("d=%p g_sourceFileDef=%p\n",d,g_currentDefinition);
cd = getResolvedClass(d,g_sourceFileDef,className,&md);
cd = getResolvedClass(d,g_sourceFileDef,className,&md);
if (cd==0 && md==0 && (i=className.find('<'))!=-1)
if (cd==0 && md==0 && (i=className.find('<'))!=-1)
{
{
cd=getResolvedClass(d,g_sourceFileDef,className.left(i),&md);
cd=getResolvedClass(d,g_sourceFileDef,className.left(i),&md);
}
}
//printf("is not found as a variable %s\n",cd?cd->name().data():"<null>");
}
else
{
//printf("is a local variable!\n");
}
}
if (cd && cd->isLinkable()) // is it a linkable class
if (cd && cd->isLinkable()) // is it a linkable class
{
{
...
@@ -1212,7 +1218,7 @@ static void writeObjCMethodCall(ObjCCallCtx *ctx)
...
@@ -1212,7 +1218,7 @@ static void writeObjCMethodCall(ObjCCallCtx *ctx)
}
}
else
else
{
{
printf("Invalid name: id=%d\n",refId);
//
printf("Invalid name: id=%d\n",refId);
}
}
}
}
else if (nc=='o') // reference to potential object name
else if (nc=='o') // reference to potential object name
...
@@ -1321,7 +1327,7 @@ static void writeObjCMethodCall(ObjCCallCtx *ctx)
...
@@ -1321,7 +1327,7 @@ static void writeObjCMethodCall(ObjCCallCtx *ctx)
}
}
else
else
{
{
printf("Invalid object: id=%d\n",refId);
//
printf("Invalid object: id=%d\n",refId);
}
}
}
}
else if (nc=='c') // reference to nested call
else if (nc=='c') // reference to nested call
...
@@ -1364,7 +1370,7 @@ static void writeObjCMethodCall(ObjCCallCtx *ctx)
...
@@ -1364,7 +1370,7 @@ static void writeObjCMethodCall(ObjCCallCtx *ctx)
}
}
else
else
{
{
printf("Invalid context: id=%d\n",refId);
//
printf("Invalid context: id=%d\n",refId);
}
}
}
}
else // illegal marker
else // illegal marker
...
@@ -1981,7 +1987,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'"))
...
@@ -1981,7 +1987,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'"))
<Body>{SCOPETNAME}/{B}*"(" { // a() or c::a() or t<A,B>::a()
<Body>{SCOPETNAME}/{B}*"(" { // a() or c::a() or t<A,B>::a()
addType();
addType();
generateFunctionLink(*g_code,yytext);
generateFunctionLink(*g_code,yytext);
g_theVarContext.addVariable(g_type,yytext);
//
g_theVarContext.addVariable(g_type,yytext);
g_bracketCount=0;
g_bracketCount=0;
g_args.resize(0);
g_args.resize(0);
g_name+=yytext;
g_name+=yytext;
...
...
src/diagram.cpp
View file @
f309c3c0
...
@@ -151,7 +151,8 @@ static void writeVectorBox(QTextStream &t,DiagramItem *di,
...
@@ -151,7 +151,8 @@ static void writeVectorBox(QTextStream &t,DiagramItem *di,
if
(
di
->
virtualness
()
==
Virtual
)
t
<<
"solid
\n
"
;
if
(
di
->
virtualness
()
==
Virtual
)
t
<<
"solid
\n
"
;
}
}
static
void
writeMapArea
(
QTextStream
&
t
,
ClassDef
*
cd
,
int
x
,
int
y
,
int
w
,
int
h
)
static
void
writeMapArea
(
QTextStream
&
t
,
ClassDef
*
cd
,
QCString
relPath
,
int
x
,
int
y
,
int
w
,
int
h
)
{
{
if
(
cd
->
isLinkable
())
if
(
cd
->
isLinkable
())
{
{
...
@@ -169,6 +170,10 @@ static void writeMapArea(QTextStream &t,ClassDef *cd,int x,int y,int w,int h)
...
@@ -169,6 +170,10 @@ static void writeMapArea(QTextStream &t,ClassDef *cd,int x,int y,int w,int h)
{
{
if
((
dest
=
Doxygen
::
tagDestinationDict
[
ref
]))
t
<<
*
dest
<<
"/"
;
if
((
dest
=
Doxygen
::
tagDestinationDict
[
ref
]))
t
<<
*
dest
<<
"/"
;
}
}
else
{
t
<<
relPath
;
}
t
<<
cd
->
getOutputFileBase
()
<<
Doxygen
::
htmlFileExtension
<<
"
\"
"
;
t
<<
cd
->
getOutputFileBase
()
<<
Doxygen
::
htmlFileExtension
<<
"
\"
"
;
t
<<
"alt=
\"
"
<<
cd
->
displayName
();
t
<<
"alt=
\"
"
<<
cd
->
displayName
();
t
<<
"
\"
shape=
\"
rect
\"
coords=
\"
"
<<
x
<<
","
<<
y
<<
","
;
t
<<
"
\"
shape=
\"
rect
\"
coords=
\"
"
<<
x
<<
","
<<
y
<<
","
;
...
@@ -479,6 +484,7 @@ void TreeDiagram::drawBoxes(QTextStream &t,Image *image,
...
@@ -479,6 +484,7 @@ void TreeDiagram::drawBoxes(QTextStream &t,Image *image,
bool
doBase
,
bool
bitmap
,
bool
doBase
,
bool
bitmap
,
uint
baseRows
,
uint
superRows
,
uint
baseRows
,
uint
superRows
,
uint
cellWidth
,
uint
cellHeight
,
uint
cellWidth
,
uint
cellHeight
,
QCString
relPath
,
bool
generateMap
)
bool
generateMap
)
{
{
DiagramRow
*
dr
=
first
();
DiagramRow
*
dr
=
first
();
...
@@ -548,7 +554,7 @@ void TreeDiagram::drawBoxes(QTextStream &t,Image *image,
...
@@ -548,7 +554,7 @@ void TreeDiagram::drawBoxes(QTextStream &t,Image *image,
writeBitmapBox
(
di
,
image
,
x
,
y
,
cellWidth
,
cellHeight
,
firstRow
,
writeBitmapBox
(
di
,
image
,
x
,
y
,
cellWidth
,
cellHeight
,
firstRow
,
hasDocs
,
di
->
getChildren
()
->
count
()
>
0
);
hasDocs
,
di
->
getChildren
()
->
count
()
>
0
);
if
(
!
firstRow
&&
generateMap
)
if
(
!
firstRow
&&
generateMap
)
writeMapArea
(
t
,
di
->
getClassDef
(),
x
,
y
,
cellWidth
,
cellHeight
);
writeMapArea
(
t
,
di
->
getClassDef
(),
relPath
,
x
,
y
,
cellWidth
,
cellHeight
);
}
}
else
else
{
{
...
@@ -581,7 +587,7 @@ void TreeDiagram::drawBoxes(QTextStream &t,Image *image,
...
@@ -581,7 +587,7 @@ void TreeDiagram::drawBoxes(QTextStream &t,Image *image,
bool
hasDocs
=
di
->
getClassDef
()
->
isLinkable
();
bool
hasDocs
=
di
->
getClassDef
()
->
isLinkable
();
writeBitmapBox
(
di
,
image
,
x
,
y
,
cellWidth
,
cellHeight
,
firstRow
,
hasDocs
);
writeBitmapBox
(
di
,
image
,
x
,
y
,
cellWidth
,
cellHeight
,
firstRow
,
hasDocs
);
if
(
!
firstRow
&&
generateMap
)
if
(
!
firstRow
&&
generateMap
)
writeMapArea
(
t
,
di
->
getClassDef
(),
x
,
y
,
cellWidth
,
cellHeight
);
writeMapArea
(
t
,
di
->
getClassDef
(),
relPath
,
x
,
y
,
cellWidth
,
cellHeight
);
}
}
else
else
{
{
...
@@ -1252,7 +1258,8 @@ void ClassDiagram::writeFigure(QTextStream &output,const char *path,
...
@@ -1252,7 +1258,8 @@ void ClassDiagram::writeFigure(QTextStream &output,const char *path,
void
ClassDiagram
::
writeImage
(
QTextStream
&
t
,
const
char
*
path
,
void
ClassDiagram
::
writeImage
(
QTextStream
&
t
,
const
char
*
path
,
const
char
*
fileName
,
bool
generateMap
)
const
char
*
relPath
,
const
char
*
fileName
,
bool
generateMap
)
{
{
uint
baseRows
=
base
->
computeRows
();
uint
baseRows
=
base
->
computeRows
();
uint
superRows
=
super
->
computeRows
();
uint
superRows
=
super
->
computeRows
();
...
@@ -1272,8 +1279,8 @@ void ClassDiagram::writeImage(QTextStream &t,const char *path,
...
@@ -1272,8 +1279,8 @@ void ClassDiagram::writeImage(QTextStream &t,const char *path,
Image
image
(
imageWidth
,
imageHeight
);
Image
image
(
imageWidth
,
imageHeight
);
base
->
drawBoxes
(
t
,
&
image
,
TRUE
,
TRUE
,
baseRows
,
superRows
,
cellWidth
,
cellHeight
,
generateMap
);
base
->
drawBoxes
(
t
,
&
image
,
TRUE
,
TRUE
,
baseRows
,
superRows
,
cellWidth
,
cellHeight
,
relPath
,
generateMap
);
super
->
drawBoxes
(
t
,
&
image
,
FALSE
,
TRUE
,
baseRows
,
superRows
,
cellWidth
,
cellHeight
,
generateMap
);
super
->
drawBoxes
(
t
,
&
image
,
FALSE
,
TRUE
,
baseRows
,
superRows
,
cellWidth
,
cellHeight
,
relPath
,
generateMap
);
base
->
drawConnectors
(
t
,
&
image
,
TRUE
,
TRUE
,
baseRows
,
superRows
,
cellWidth
,
cellHeight
);
base
->
drawConnectors
(
t
,
&
image
,
TRUE
,
TRUE
,
baseRows
,
superRows
,
cellWidth
,
cellHeight
);
super
->
drawConnectors
(
t
,
&
image
,
FALSE
,
TRUE
,
baseRows
,
superRows
,
cellWidth
,
cellHeight
);
super
->
drawConnectors
(
t
,
&
image
,
FALSE
,
TRUE
,
baseRows
,
superRows
,
cellWidth
,
cellHeight
);
...
...
src/diagram.h
View file @
f309c3c0
...
@@ -105,6 +105,7 @@ class TreeDiagram : public QList<DiagramRow>
...
@@ -105,6 +105,7 @@ class TreeDiagram : public QList<DiagramRow>
bool
doBase
,
bool
bitmap
,
bool
doBase
,
bool
bitmap
,
uint
baseRows
,
uint
superRows
,
uint
baseRows
,
uint
superRows
,
uint
cellWidth
,
uint
cellHeight
,
uint
cellWidth
,
uint
cellHeight
,
QCString
relPath
=
""
,
bool
generateMap
=
TRUE
);
bool
generateMap
=
TRUE
);
void
drawConnectors
(
QTextStream
&
t
,
Image
*
image
,
void
drawConnectors
(
QTextStream
&
t
,
Image
*
image
,
bool
doBase
,
bool
bitmap
,
bool
doBase
,
bool
bitmap
,
...
@@ -123,7 +124,7 @@ class ClassDiagram
...
@@ -123,7 +124,7 @@ class ClassDiagram
~
ClassDiagram
();
~
ClassDiagram
();
void
writeFigure
(
QTextStream
&
t
,
const
char
*
path
,
void
writeFigure
(
QTextStream
&
t
,
const
char
*
path
,
const
char
*
file
);
const
char
*
file
);
void
writeImage
(
QTextStream
&
t
,
const
char
*
path
,
void
writeImage
(
QTextStream
&
t
,
const
char
*
path
,
const
char
*
relPath
,
const
char
*
file
,
bool
generateMap
=
TRUE
);
const
char
*
file
,
bool
generateMap
=
TRUE
);
private
:
private
:
TreeDiagram
*
base
;
TreeDiagram
*
base
;
...
...
src/docparser.cpp
View file @
f309c3c0
...
@@ -239,7 +239,7 @@ static QCString findAndCopyImage(const char *fileName,DocImage::Type type)
...
@@ -239,7 +239,7 @@ static QCString findAndCopyImage(const char *fileName,DocImage::Type type)
/*! Collects the parameters found with \@param or \@retval commands
/*! Collects the parameters found with \@param or \@retval commands
* in a global list g_paramsFound. If \a isParam is set to TRUE
* in a global list g_paramsFound. If \a isParam is set to TRUE
* and the parameter is not an actual parameter of the current
* and the parameter is not an actual parameter of the current
* member g_memberDef, th
a
n a warning is raised (unless warnings
* member g_memberDef, th
e
n a warning is raised (unless warnings
* are disabled altogether).
* are disabled altogether).
*/
*/
static
void
checkArgumentName
(
const
QString
&
name
,
bool
isParam
)
static
void
checkArgumentName
(
const
QString
&
name
,
bool
isParam
)
...
@@ -340,7 +340,7 @@ static void checkUndocumentedParams()
...
@@ -340,7 +340,7 @@ static void checkUndocumentedParams()
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
/*! Strips know html and tex extensions from \a text. */
/*! Strips know
n
html and tex extensions from \a text. */
static
QString
stripKnownExtensions
(
const
char
*
text
)
static
QString
stripKnownExtensions
(
const
char
*
text
)
{
{
QString
result
=
text
;
QString
result
=
text
;
...
@@ -1429,16 +1429,14 @@ void DocCopy::parse()
...
@@ -1429,16 +1429,14 @@ void DocCopy::parse()
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void
DocXRefItem
::
parse
()
DocXRefItem
::
DocXRefItem
(
DocNode
*
parent
,
int
id
,
const
char
*
key
)
:
m_parent
(
parent
),
m_id
(
id
),
m_key
(
key
),
m_relPath
(
g_relPath
)
{
}
bool
DocXRefItem
::
parse
()
{
{
QString
listName
;
QString
listName
;
//switch(m_type)
//{
// case Bug: listName="bug"; break;
// case Test: listName="test"; break;
// case Todo: listName="todo"; break;
// case Deprecated: listName="deprecated"; break;
//}
RefList
*
refList
=
Doxygen
::
xrefLists
->
find
(
m_key
);
RefList
*
refList
=
Doxygen
::
xrefLists
->
find
(
m_key
);
if
(
refList
&&
if
(
refList
&&
(
(
...
@@ -1465,7 +1463,9 @@ void DocXRefItem::parse()
...
@@ -1465,7 +1463,9 @@ void DocXRefItem::parse()
docParserPopContext
();
docParserPopContext
();
}
}
}
}
return
TRUE
;
}
}
return
FALSE
;
}
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
...
@@ -1699,6 +1699,7 @@ DocRef::DocRef(DocNode *parent,const QString &target) :
...
@@ -1699,6 +1699,7 @@ DocRef::DocRef(DocNode *parent,const QString &target) :
ASSERT
(
!
target
.
isEmpty
());
ASSERT
(
!
target
.
isEmpty
());
m_relPath
=
g_relPath
;
m_relPath
=
g_relPath
;
SectionInfo
*
sec
=
Doxygen
::
sectionDict
[
target
];
SectionInfo
*
sec
=
Doxygen
::
sectionDict
[
target
];
//printf("DocRef::DocRef(target=%s) sec=%p\n",target.data(),sec);
if
(
sec
)
// ref to section or anchor
if
(
sec
)
// ref to section or anchor
{
{
m_text
=
sec
->
title
;
m_text
=
sec
->
title
;
...
@@ -1709,6 +1710,8 @@ DocRef::DocRef(DocNode *parent,const QString &target) :
...
@@ -1709,6 +1710,8 @@ DocRef::DocRef(DocNode *parent,const QString &target) :
if
(
sec
->
type
!=
SectionInfo
::
Page
)
m_anchor
=
sec
->
label
;
if
(
sec
->
type
!=
SectionInfo
::
Page
)
m_anchor
=
sec
->
label
;
m_refToAnchor
=
sec
->
type
==
SectionInfo
::
Anchor
;
m_refToAnchor
=
sec
->
type
==
SectionInfo
::
Anchor
;
m_refToSection
=
sec
->
type
!=
SectionInfo
::
Anchor
;
m_refToSection
=
sec
->
type
!=
SectionInfo
::
Anchor
;
//printf("m_text=%s,m_ref=%s,m_file=%s,m_refToAnchor=%d\n",
// m_text.data(),m_ref.data(),m_file.data(),m_refToAnchor);
}
}
else
if
(
resolveLink
(
g_context
,
target
,
TRUE
,
&
compound
,
/*&pageInfo,*/
anchor
))
else
if
(
resolveLink
(
g_context
,
target
,
TRUE
,
&
compound
,
/*&pageInfo,*/
anchor
))
{
{
...
@@ -3234,8 +3237,14 @@ int DocPara::handleXRefItem()
...
@@ -3234,8 +3237,14 @@ int DocPara::handleXRefItem()
if
(
retval
==
RetVal_OK
)
if
(
retval
==
RetVal_OK
)
{
{
DocXRefItem
*
ref
=
new
DocXRefItem
(
this
,
g_token
->
id
,
g_token
->
name
);
DocXRefItem
*
ref
=
new
DocXRefItem
(
this
,
g_token
->
id
,
g_token
->
name
);
m_children
.
append
(
ref
);
if
(
ref
->
parse
())
ref
->
parse
();
{
m_children
.
append
(
ref
);
}
else
{
delete
ref
;
}
}
}
doctokenizerYYsetStatePara
();
doctokenizerYYsetStatePara
();
return
retval
;
return
retval
;
...
@@ -3329,13 +3338,13 @@ void DocPara::handleImage(const QString &cmdName)
...
@@ -3329,13 +3338,13 @@ void DocPara::handleImage(const QString &cmdName)
}
}
doctokenizerYYsetStateFile
();
doctokenizerYYsetStateFile
();
tok
=
doctokenizerYYlex
();
tok
=
doctokenizerYYlex
();
doctokenizerYYsetStatePara
();
if
(
tok
!=
TK_WORD
)
if
(
tok
!=
TK_WORD
)
{
{
warn_doc_error
(
g_fileName
,
doctokenizerYYlineno
,
"Warning: unexpected token %s as the argument of %s"
,
warn_doc_error
(
g_fileName
,
doctokenizerYYlineno
,
"Warning: unexpected token %s as the argument of %s"
,
tokToString
(
tok
),
cmdName
.
data
());
tokToString
(
tok
),
cmdName
.
data
());
return
;
return
;
}
}
doctokenizerYYsetStatePara
();
HtmlAttribList
attrList
;
HtmlAttribList
attrList
;
DocImage
*
img
=
new
DocImage
(
this
,
attrList
,
findAndCopyImage
(
g_token
->
name
,
t
),
t
);
DocImage
*
img
=
new
DocImage
(
this
,
attrList
,
findAndCopyImage
(
g_token
->
name
,
t
),
t
);
m_children
.
append
(
img
);
m_children
.
append
(
img
);
...
@@ -3353,13 +3362,13 @@ void DocPara::handleDotFile(const QString &cmdName)
...
@@ -3353,13 +3362,13 @@ void DocPara::handleDotFile(const QString &cmdName)
}
}
doctokenizerYYsetStateFile
();
doctokenizerYYsetStateFile
();
tok
=
doctokenizerYYlex
();
tok
=
doctokenizerYYlex
();
doctokenizerYYsetStatePara
();
if
(
tok
!=
TK_WORD
)
if
(
tok
!=
TK_WORD
)
{
{
warn_doc_error
(
g_fileName
,
doctokenizerYYlineno
,
"Warning: unexpected token %s as the argument of %s"
,
warn_doc_error
(
g_fileName
,
doctokenizerYYlineno
,
"Warning: unexpected token %s as the argument of %s"
,
tokToString
(
tok
),
cmdName
.
data
());
tokToString
(
tok
),
cmdName
.
data
());
return
;
return
;
}
}
doctokenizerYYsetStatePara
();
QString
name
=
g_token
->
name
;
QString
name
=
g_token
->
name
;
DocDotFile
*
df
=
new
DocDotFile
(
this
,
name
);
DocDotFile
*
df
=
new
DocDotFile
(
this
,
name
);
m_children
.
append
(
df
);
m_children
.
append
(
df
);
...
@@ -4825,6 +4834,10 @@ DocNode *validatingParseDoc(const char *fileName,int startLine,
...
@@ -4825,6 +4834,10 @@ DocNode *validatingParseDoc(const char *fileName,int startLine,
{
{
g_context
=
ctx
->
name
();
g_context
=
ctx
->
name
();
}
}
else
if
(
ctx
&&
ctx
->
definitionType
()
==
Definition
::
TypePage
)
{
g_context
=
ctx
->
getOuterScope
()
->
name
();
}
else
else
{
{
g_context
=
""
;
g_context
=
""
;
...
@@ -4904,6 +4917,7 @@ DocNode *validatingParseDoc(const char *fileName,int startLine,
...
@@ -4904,6 +4917,7 @@ DocNode *validatingParseDoc(const char *fileName,int startLine,
g_fileName
=
fileName
;
g_fileName
=
fileName
;
g_relPath
=
ctx
?
relativePathToRoot
(
ctx
->
getOutputFileBase
())
:
QString
(
""
);
g_relPath
=
ctx
?
relativePathToRoot
(
ctx
->
getOutputFileBase
())
:
QString
(
""
);
//printf("ctx->name=%s relPath=%s\n",ctx->name().data(),g_relPath.data());
g_memberDef
=
md
;
g_memberDef
=
md
;
g_nodeStack
.
clear
();
g_nodeStack
.
clear
();
g_styleStack
.
clear
();
g_styleStack
.
clear
();
...
...
src/docparser.h
View file @
f309c3c0
...
@@ -541,16 +541,15 @@ class DocXRefItem : public CompAccept<DocXRefItem>, public DocNode
...
@@ -541,16 +541,15 @@ class DocXRefItem : public CompAccept<DocXRefItem>, public DocNode
{
{
public
:
public
:
//enum Type { Bug, Test, Todo, Deprecated };
//enum Type { Bug, Test, Todo, Deprecated };
DocXRefItem
(
DocNode
*
parent
,
int
id
,
const
char
*
key
)
:
DocXRefItem
(
DocNode
*
parent
,
int
id
,
const
char
*
key
);
m_parent
(
parent
),
m_id
(
id
),
m_key
(
key
)
/*, m_type(t)*/
{}
Kind
kind
()
const
{
return
Kind_XRefItem
;
}
Kind
kind
()
const
{
return
Kind_XRefItem
;
}
//Type type() const { return m_type; }
QString
file
()
const
{
return
m_file
;
}
QString
file
()
const
{
return
m_file
;
}
QString
anchor
()
const
{
return
m_anchor
;
}
QString
anchor
()
const
{
return
m_anchor
;
}
QString
title
()
const
{
return
m_title
;
}
QString
title
()
const
{
return
m_title
;
}
DocNode
*
parent
()
const
{
return
m_parent
;
}
DocNode
*
parent
()
const
{
return
m_parent
;
}
QString
relPath
()
const
{
return
m_relPath
;
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocXRefItem
>::
accept
(
this
,
v
);
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocXRefItem
>::
accept
(
this
,
v
);
}
void
parse
();
bool
parse
();
private
:
private
:
DocNode
*
m_parent
;
DocNode
*
m_parent
;
...
@@ -559,6 +558,7 @@ class DocXRefItem : public CompAccept<DocXRefItem>, public DocNode
...
@@ -559,6 +558,7 @@ class DocXRefItem : public CompAccept<DocXRefItem>, public DocNode
QString
m_file
;
QString
m_file
;
QString
m_anchor
;
QString
m_anchor
;
QString
m_title
;
QString
m_title
;
QString
m_relPath
;
};
};
/*! @brief Node representing an image */
/*! @brief Node representing an image */
...
...
src/doctokenizer.l
View file @
f309c3c0
...
@@ -585,6 +585,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
...
@@ -585,6 +585,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
BEGIN(St_TitleN);
BEGIN(St_TitleN);
}
}
<St_Title>\n {
<St_Title>\n {
unput(*yytext);
return 0;
return 0;
}
}
<St_TitleN>"&"{ID}";" { /* symbol */
<St_TitleN>"&"{ID}";" { /* symbol */
...
@@ -680,7 +681,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
...
@@ -680,7 +681,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
unput(*yytext);
unput(*yytext);
return 0;
return 0;
}
}
<St_IntRef>[A-Z_a-z0-9.:#\-\+]+ {
<St_IntRef>[A-Z_a-z0-9.:
/
#\-\+]+ {
g_token->name = yytext;
g_token->name = yytext;
return TK_WORD;
return TK_WORD;
}
}
...
@@ -710,7 +711,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
...
@@ -710,7 +711,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
<St_Ref2>"\""|\n { /* " or \n => end of title */
<St_Ref2>"\""|\n { /* " or \n => end of title */
return 0;
return 0;
}
}
<St_XRefItem>{ID}
{
<St_XRefItem>{ID} {
g_token->name=yytext;
g_token->name=yytext;
}
}
<St_XRefItem>" " {
<St_XRefItem>" " {
...
@@ -793,27 +794,27 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
...
@@ -793,27 +794,27 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
g_secType = SectionInfo::Paragraph;
g_secType = SectionInfo::Paragraph;
BEGIN(St_SecLabel2);
BEGIN(St_SecLabel2);
}
}
<St_Sections>{CMD}"verbatim"
{
<St_Sections>{CMD}"verbatim"
{BLANK}+
{
g_endMarker="endverbatim";
g_endMarker="endverbatim";
BEGIN(St_SecSkip);
BEGIN(St_SecSkip);
}
}
<St_Sections>{CMD}"dot"
{
<St_Sections>{CMD}"dot"
/[^a-z_A-Z0-9]
{
g_endMarker="enddot";
g_endMarker="enddot";
BEGIN(St_SecSkip);
BEGIN(St_SecSkip);
}
}
<St_Sections>{CMD}"htmlonly"
{
<St_Sections>{CMD}"htmlonly"
/[^a-z_A-Z0-9]
{
g_endMarker="endhtmlonly";
g_endMarker="endhtmlonly";
BEGIN(St_SecSkip);
BEGIN(St_SecSkip);
}
}
<St_Sections>{CMD}"latexonly"
{
<St_Sections>{CMD}"latexonly"
/[^a-z_A-Z0-9]
{
g_endMarker="endlatexonly";
g_endMarker="endlatexonly";
BEGIN(St_SecSkip);
BEGIN(St_SecSkip);
}
}
<St_Sections>{CMD}"xmlonly"
{
<St_Sections>{CMD}"xmlonly"
/[^a-z_A-Z0-9]
{
g_endMarker="endxmlonly";
g_endMarker="endxmlonly";
BEGIN(St_SecSkip);
BEGIN(St_SecSkip);
}
}
<St_Sections>{CMD}"code"
{
<St_Sections>{CMD}"code"
/[^a-z_A-Z0-9]
{
g_endMarker="endcode";
g_endMarker="endcode";
BEGIN(St_SecSkip);
BEGIN(St_SecSkip);
}
}
...
...
src/doxygen.cpp
View file @
f309c3c0
...
@@ -6497,13 +6497,14 @@ static void generatePageDocs()
...
@@ -6497,13 +6497,14 @@ static void generatePageDocs()
outputList
->
endSection
(
si
->
label
,
si
->
type
);
outputList
->
endSection
(
si
->
label
,
si
->
type
);
}
}
outputList
->
startTextBlock
();
outputList
->
startTextBlock
();
outputList
->
parseDoc
(
pd
->
docFile
(),
outputList
->
parseDoc
(
pd
->
docFile
(),
// fileName
pd
->
docLine
(),
pd
->
docLine
(),
// startLine
pd
->
getOuterScope
(),
0
,
pd
,
// context
pd
->
documentation
(),
0
,
// memberdef
TRUE
,
// index words
pd
->
documentation
(),
// docStr
FALSE
// not an example
TRUE
,
// index words
/*,pd->sectionDict*/
);
FALSE
// not an example
);
outputList
->
endTextBlock
();
outputList
->
endTextBlock
();
endFile
(
*
outputList
);
endFile
(
*
outputList
);
//outputList->enable(OutputGenerator::Man);
//outputList->enable(OutputGenerator::Man);
...
@@ -6591,7 +6592,7 @@ static void generateExampleDocs()
...
@@ -6591,7 +6592,7 @@ static void generateExampleDocs()
endTitle
(
*
outputList
,
n
,
0
);
endTitle
(
*
outputList
,
n
,
0
);
outputList
->
parseDoc
(
pd
->
docFile
(),
// file
outputList
->
parseDoc
(
pd
->
docFile
(),
// file
pd
->
docLine
(),
// startLine
pd
->
docLine
(),
// startLine
pd
->
getOuterScope
(),
// context
pd
,
// context
0
,
// memberDef
0
,
// memberDef
pd
->
documentation
()
+
"
\n\\
include "
+
pd
->
name
(),
// docs
pd
->
documentation
()
+
"
\n\\
include "
+
pd
->
name
(),
// docs
TRUE
,
// index words
TRUE
,
// index words
...
...
src/htmldocvisitor.cpp
View file @
f309c3c0
...
@@ -908,7 +908,7 @@ void HtmlDocVisitor::visitPre(DocXRefItem *x)
...
@@ -908,7 +908,7 @@ void HtmlDocVisitor::visitPre(DocXRefItem *x)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"<dl compact><dt><b><a class=
\"
el
\"
href=
\"
"
m_t
<<
"<dl compact><dt><b><a class=
\"
el
\"
href=
\"
"
<<
x
->
file
()
<<
Doxygen
::
htmlFileExtension
<<
"#"
<<
x
->
anchor
()
<<
"
\"
>"
;
<<
x
->
relPath
()
<<
x
->
file
()
<<
Doxygen
::
htmlFileExtension
<<
"#"
<<
x
->
anchor
()
<<
"
\"
>"
;
filter
(
x
->
title
());
filter
(
x
->
title
());
m_t
<<
":</a></b></dt><dd>"
;
m_t
<<
":</a></b></dt><dd>"
;
}
}
...
...
src/htmlgen.cpp
View file @
f309c3c0
...
@@ -813,11 +813,11 @@ void HtmlGenerator::endClassDiagram(ClassDiagram &d,
...
@@ -813,11 +813,11 @@ void HtmlGenerator::endClassDiagram(ClassDiagram &d,
const
char
*
fileName
,
const
char
*
name
)
const
char
*
fileName
,
const
char
*
name
)
{
{
t
<<
"
\n
<p><center><img src=
\"
"
t
<<
"
\n
<p><center><img src=
\"
"
<<
fileName
<<
".png
\"
usemap=
\"
#"
<<
name
<<
"_map
\"
"
<<
relPath
<<
fileName
<<
".png
\"
usemap=
\"
#"
<<
name
<<
"_map
\"
"
<<
" border=
\"
0
\"
alt=
\"\"
></center>"
<<
endl
<<
" border=
\"
0
\"
alt=
\"\"
></center>"
<<
endl
<<
"<map name=
\"
"
<<
name
<<
"_map
\"
>"
<<
endl
;
<<
"<map name=
\"
"
<<
name
<<
"_map
\"
>"
<<
endl
;
d
.
writeImage
(
t
,
dir
,
fileName
);
d
.
writeImage
(
t
,
dir
,
relPath
,
fileName
);
}
}
...
...
src/htmlhelp.cpp
View file @
f309c3c0
...
@@ -353,6 +353,7 @@ void HtmlHelp::initialize()
...
@@ -353,6 +353,7 @@ void HtmlHelp::initialize()
s_languageDict
.
insert
(
"japanese-en"
,
new
QCString
(
"0x411 Japanese"
));
s_languageDict
.
insert
(
"japanese-en"
,
new
QCString
(
"0x411 Japanese"
));
s_languageDict
.
insert
(
"korean"
,
new
QCString
(
"0x412 Korean"
));
s_languageDict
.
insert
(
"korean"
,
new
QCString
(
"0x412 Korean"
));
s_languageDict
.
insert
(
"chinese"
,
new
QCString
(
"0x804 Chinese (PRC)"
));
s_languageDict
.
insert
(
"chinese"
,
new
QCString
(
"0x804 Chinese (PRC)"
));
s_languageDict
.
insert
(
"chinese-traditional"
,
new
QCString
(
"0x404 Chinese (Taiwan)"
));
}
}
...
...
src/index.cpp
View file @
f309c3c0
...
@@ -116,6 +116,7 @@ static void endIndexHierarchy(OutputList &ol,int level)
...
@@ -116,6 +116,7 @@ static void endIndexHierarchy(OutputList &ol,int level)
static
bool
g_memberIndexLetterUsed
[
CMHL_Total
][
256
];
static
bool
g_memberIndexLetterUsed
[
CMHL_Total
][
256
];
static
bool
g_fileIndexLetterUsed
[
FMHL_Total
][
256
];
static
bool
g_fileIndexLetterUsed
[
FMHL_Total
][
256
];
static
bool
g_namespaceIndexLetterUsed
[
NMHL_Total
][
256
];
static
bool
g_namespaceIndexLetterUsed
[
NMHL_Total
][
256
];
static
bool
g_classIndexLetterUsed
[
CHL_Total
][
256
];
const
int
maxItemsBeforeQuickIndex
=
30
;
const
int
maxItemsBeforeQuickIndex
=
30
;
...
@@ -886,9 +887,7 @@ void writeFileIndex(OutputList &ol)
...
@@ -886,9 +887,7 @@ void writeFileIndex(OutputList &ol)
ftvHelp
->
addContentsItem
(
TRUE
,
0
,
"files"
,
0
,
ftvHelpTitle
);
ftvHelp
->
addContentsItem
(
TRUE
,
0
,
"files"
,
0
,
ftvHelpTitle
);
ftvHelp
->
incContentsDepth
();
ftvHelp
->
incContentsDepth
();
}
}
//ol.newParagraph();
ol
.
parseText
(
theTranslator
->
trFileListDescription
(
Config_getBool
(
"EXTRACT_ALL"
)));
ol
.
parseText
(
theTranslator
->
trFileListDescription
(
Config_getBool
(
"EXTRACT_ALL"
)));
//ol.newParagraph();
ol
.
endTextBlock
();
ol
.
endTextBlock
();
OutputNameDict
outputNameDict
(
1009
);
OutputNameDict
outputNameDict
(
1009
);
...
@@ -1196,16 +1195,58 @@ void writeAnnotatedClassList(OutputList &ol)
...
@@ -1196,16 +1195,58 @@ void writeAnnotatedClassList(OutputList &ol)
bool
hasHtmlHelp
=
generateHtml
&&
Config_getBool
(
"GENERATE_HTMLHELP"
);
bool
hasHtmlHelp
=
generateHtml
&&
Config_getBool
(
"GENERATE_HTMLHELP"
);
bool
hasFtvHelp
=
generateHtml
&&
Config_getBool
(
"GENERATE_TREEVIEW"
);
bool
hasFtvHelp
=
generateHtml
&&
Config_getBool
(
"GENERATE_TREEVIEW"
);
ol
.
startIndexList
();
ol
.
startIndexList
();
//ClassDef *cd=Doxygen::classList.first();
//while (cd)
ClassSDict
::
Iterator
cli
(
Doxygen
::
classSDict
);
ClassSDict
::
Iterator
cli
(
Doxygen
::
classSDict
);
ClassDef
*
cd
;
ClassDef
*
cd
;
for
(;(
cd
=
cli
.
current
());
++
cli
)
// clear index
for
(
int
y
=
0
;
y
<
CHL_Total
;
y
++
)
{
for
(
int
x
=
0
;
x
<
256
;
x
++
)
{
g_classIndexLetterUsed
[
y
][
x
]
=
FALSE
;
}
}
// see which elements are in use
for
(
cli
.
toFirst
();(
cd
=
cli
.
current
());
++
cli
)
{
if
(
cd
->
isLinkableInProject
()
&&
cd
->
templateMaster
()
==
0
)
{
int
c
=
cd
->
displayName
().
at
(
0
);
g_classIndexLetterUsed
[
CHL_All
][
c
]
=
TRUE
;
switch
(
cd
->
compoundType
())
{
case
ClassDef
:
:
Class
:
g_classIndexLetterUsed
[
CHL_Classes
][
c
]
=
TRUE
;
break
;
case
ClassDef
:
:
Struct
:
g_classIndexLetterUsed
[
CHL_Structs
][
c
]
=
TRUE
;
break
;
case
ClassDef
:
:
Union
:
g_classIndexLetterUsed
[
CHL_Unions
][
c
]
=
TRUE
;
break
;
case
ClassDef
:
:
Interface
:
g_classIndexLetterUsed
[
CHL_Interfaces
][
c
]
=
TRUE
;
break
;
case
ClassDef
:
:
Protocol
:
g_classIndexLetterUsed
[
CHL_Protocols
][
c
]
=
TRUE
;
break
;
case
ClassDef
:
:
Category
:
g_classIndexLetterUsed
[
CHL_Categories
][
c
]
=
TRUE
;
break
;
case
ClassDef
:
:
Exception
:
g_classIndexLetterUsed
[
CHL_Exceptions
][
c
]
=
TRUE
;
break
;
}
}
}
for
(
cli
.
toFirst
();(
cd
=
cli
.
current
());
++
cli
)
{
{
if
(
cd
->
isLinkableInProject
()
&&
cd
->
templateMaster
()
==
0
)
if
(
cd
->
isLinkableInProject
()
&&
cd
->
templateMaster
()
==
0
)
{
{
QCString
type
=
cd
->
compoundTypeString
();
QCString
type
=
cd
->
compoundTypeString
();
//ol.writeStartAnnoItem(type,cd->getOutputFileBase(),0,cd->displayName());
ol
.
startIndexKey
();
ol
.
startIndexKey
();
ol
.
writeObjectLink
(
0
,
cd
->
getOutputFileBase
(),
0
,
cd
->
displayName
());
ol
.
writeObjectLink
(
0
,
cd
->
getOutputFileBase
(),
0
,
cd
->
displayName
());
ol
.
endIndexKey
();
ol
.
endIndexKey
();
...
@@ -1216,7 +1257,7 @@ void writeAnnotatedClassList(OutputList &ol)
...
@@ -1216,7 +1257,7 @@ void writeAnnotatedClassList(OutputList &ol)
ol
.
parseDoc
(
ol
.
parseDoc
(
cd
->
briefFile
(),
cd
->
briefLine
(),
cd
->
briefFile
(),
cd
->
briefLine
(),
cd
,
0
,
cd
,
0
,
abbreviate
(
cd
->
briefDescription
(),
cd
->
n
ame
()),
abbreviate
(
cd
->
briefDescription
(),
cd
->
displayN
ame
()),
FALSE
,
// indexWords
FALSE
,
// indexWords
FALSE
// isExample
FALSE
// isExample
);
);
...
@@ -1709,7 +1750,7 @@ int countClassMembers(int filter)
...
@@ -1709,7 +1750,7 @@ int countClassMembers(int filter)
(
cd
=
md
->
getClassDef
())
&&
(
cd
=
md
->
getClassDef
())
&&
cd
->
isLinkableInProject
()
&&
cd
->
isLinkableInProject
()
&&
(
filter
==
CMHL_All
&&
!
(
md
->
isFriend
()
&&
isFriendToHide
)
||
(
filter
==
CMHL_All
&&
!
(
md
->
isFriend
()
&&
isFriendToHide
)
||
(
filter
==
CMHL_Functions
&&
(
md
->
isFunction
()
||
md
->
isSlot
()
||
md
->
isSignal
()))
||
(
filter
==
CMHL_Functions
&&
(
md
->
isFunction
()
||
md
->
isSlot
()
||
md
->
isSignal
()))
||
(
filter
==
CMHL_Variables
&&
md
->
isVariable
())
||
(
filter
==
CMHL_Variables
&&
md
->
isVariable
())
||
(
filter
==
CMHL_Typedefs
&&
md
->
isTypedef
())
||
(
filter
==
CMHL_Typedefs
&&
md
->
isTypedef
())
||
(
filter
==
CMHL_Enums
&&
md
->
isEnumerate
())
||
(
filter
==
CMHL_Enums
&&
md
->
isEnumerate
())
||
...
@@ -1769,10 +1810,6 @@ static void writeMemberIndexFiltered(OutputList &ol,
...
@@ -1769,10 +1810,6 @@ static void writeMemberIndexFiltered(OutputList &ol,
QCString
title
=
theTranslator
->
trCompoundMembers
();
QCString
title
=
theTranslator
->
trCompoundMembers
();
QCString
htmlHelpTitle
=
title
;
QCString
htmlHelpTitle
=
title
;
QCString
ftvHelpTitle
=
title
;
QCString
ftvHelpTitle
=
title
;
//if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
//startTitle(ol,0);
//ol.parseText(title);
//endTitle(ol,0,0);
ol
.
writeString
(
"<div class=
\"
qindex
\"
>"
);
ol
.
writeString
(
"<div class=
\"
qindex
\"
>"
);
...
...
src/index.h
View file @
f309c3c0
...
@@ -124,6 +124,19 @@ enum NamespaceMemberHighlight
...
@@ -124,6 +124,19 @@ enum NamespaceMemberHighlight
NMHL_Total
=
FMHL_EnumValues
+
1
NMHL_Total
=
FMHL_EnumValues
+
1
};
};
enum
ClassHighlight
{
CHL_All
=
0
,
CHL_Classes
,
CHL_Structs
,
CHL_Unions
,
CHL_Interfaces
,
CHL_Protocols
,
CHL_Categories
,
CHL_Exceptions
,
CHL_Total
=
CHL_Exceptions
+
1
};
extern
int
annotatedClasses
;
extern
int
annotatedClasses
;
extern
int
hierarchyClasses
;
extern
int
hierarchyClasses
;
extern
int
documentedFiles
;
extern
int
documentedFiles
;
...
...
src/mandocvisitor.cpp
View file @
f309c3c0
...
@@ -167,6 +167,7 @@ void ManDocVisitor::visit(DocStyleChange *s)
...
@@ -167,6 +167,7 @@ void ManDocVisitor::visit(DocStyleChange *s)
{
{
m_insidePre
=
FALSE
;
m_insidePre
=
FALSE
;
if
(
!
m_firstCol
)
m_t
<<
endl
;
if
(
!
m_firstCol
)
m_t
<<
endl
;
m_t
<<
".fi"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_firstCol
=
TRUE
;
m_firstCol
=
TRUE
;
}
}
...
@@ -187,6 +188,7 @@ void ManDocVisitor::visit(DocVerbatim *s)
...
@@ -187,6 +188,7 @@ void ManDocVisitor::visit(DocVerbatim *s)
m_t
<<
".nf"
<<
endl
;
m_t
<<
".nf"
<<
endl
;
parseCode
(
m_ci
,
s
->
context
(),
s
->
text
().
latin1
(),
s
->
isExample
(),
s
->
exampleFile
());
parseCode
(
m_ci
,
s
->
context
(),
s
->
text
().
latin1
(),
s
->
isExample
(),
s
->
exampleFile
());
if
(
!
m_firstCol
)
m_t
<<
endl
;
if
(
!
m_firstCol
)
m_t
<<
endl
;
m_t
<<
".fi"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_firstCol
=
TRUE
;
m_firstCol
=
TRUE
;
break
;
break
;
...
@@ -196,6 +198,7 @@ void ManDocVisitor::visit(DocVerbatim *s)
...
@@ -196,6 +198,7 @@ void ManDocVisitor::visit(DocVerbatim *s)
m_t
<<
".nf"
<<
endl
;
m_t
<<
".nf"
<<
endl
;
m_t
<<
s
->
text
();
m_t
<<
s
->
text
();
if
(
!
m_firstCol
)
m_t
<<
endl
;
if
(
!
m_firstCol
)
m_t
<<
endl
;
m_t
<<
".fi"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_firstCol
=
TRUE
;
m_firstCol
=
TRUE
;
break
;
break
;
...
@@ -230,6 +233,7 @@ void ManDocVisitor::visit(DocInclude *inc)
...
@@ -230,6 +233,7 @@ void ManDocVisitor::visit(DocInclude *inc)
FileDef
fd
(
cfi
.
dirPath
(),
cfi
.
fileName
()
);
FileDef
fd
(
cfi
.
dirPath
(),
cfi
.
fileName
()
);
parseCode
(
m_ci
,
inc
->
context
(),
inc
->
text
().
latin1
(),
inc
->
isExample
(),
inc
->
exampleFile
(),
&
fd
);
parseCode
(
m_ci
,
inc
->
context
(),
inc
->
text
().
latin1
(),
inc
->
isExample
(),
inc
->
exampleFile
(),
&
fd
);
if
(
!
m_firstCol
)
m_t
<<
endl
;
if
(
!
m_firstCol
)
m_t
<<
endl
;
m_t
<<
".fi"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_firstCol
=
TRUE
;
m_firstCol
=
TRUE
;
}
}
...
@@ -240,6 +244,7 @@ void ManDocVisitor::visit(DocInclude *inc)
...
@@ -240,6 +244,7 @@ void ManDocVisitor::visit(DocInclude *inc)
m_t
<<
".nf"
<<
endl
;
m_t
<<
".nf"
<<
endl
;
parseCode
(
m_ci
,
inc
->
context
(),
inc
->
text
().
latin1
(),
inc
->
isExample
(),
inc
->
exampleFile
());
parseCode
(
m_ci
,
inc
->
context
(),
inc
->
text
().
latin1
(),
inc
->
isExample
(),
inc
->
exampleFile
());
if
(
!
m_firstCol
)
m_t
<<
endl
;
if
(
!
m_firstCol
)
m_t
<<
endl
;
m_t
<<
".fi"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_firstCol
=
TRUE
;
m_firstCol
=
TRUE
;
break
;
break
;
...
@@ -253,6 +258,7 @@ void ManDocVisitor::visit(DocInclude *inc)
...
@@ -253,6 +258,7 @@ void ManDocVisitor::visit(DocInclude *inc)
m_t
<<
".nf"
<<
endl
;
m_t
<<
".nf"
<<
endl
;
m_t
<<
inc
->
text
();
m_t
<<
inc
->
text
();
if
(
!
m_firstCol
)
m_t
<<
endl
;
if
(
!
m_firstCol
)
m_t
<<
endl
;
m_t
<<
".fi"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_firstCol
=
TRUE
;
m_firstCol
=
TRUE
;
break
;
break
;
...
@@ -287,6 +293,7 @@ void ManDocVisitor::visit(DocIncOperator *op)
...
@@ -287,6 +293,7 @@ void ManDocVisitor::visit(DocIncOperator *op)
if
(
!
m_hide
)
if
(
!
m_hide
)
{
{
if
(
!
m_firstCol
)
m_t
<<
endl
;
if
(
!
m_firstCol
)
m_t
<<
endl
;
m_t
<<
".fi"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_firstCol
=
TRUE
;
m_firstCol
=
TRUE
;
}
}
...
@@ -548,6 +555,7 @@ void ManDocVisitor::visitPost(DocHtmlListItem *)
...
@@ -548,6 +555,7 @@ void ManDocVisitor::visitPost(DocHtmlListItem *)
//{
//{
// m_insidePre=FALSE;
// m_insidePre=FALSE;
// if (!m_firstCol) m_t << endl;
// if (!m_firstCol) m_t << endl;
// m_t << ".fi" << endl;
// m_t << ".PP" << endl;
// m_t << ".PP" << endl;
// m_firstCol=TRUE;
// m_firstCol=TRUE;
//}
//}
...
...
src/mangen.cpp
View file @
f309c3c0
...
@@ -632,5 +632,6 @@ void ManGenerator::printDoc(DocNode *n)
...
@@ -632,5 +632,6 @@ void ManGenerator::printDoc(DocNode *n)
n
->
accept
(
visitor
);
n
->
accept
(
visitor
);
delete
visitor
;
delete
visitor
;
firstCol
=
FALSE
;
firstCol
=
FALSE
;
paragraph
=
FALSE
;
}
}
src/pre.l
View file @
f309c3c0
...
@@ -1871,6 +1871,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -1871,6 +1871,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
if (!comment.isEmpty())
if (!comment.isEmpty())
{
{
outputArray(comment,comment.length());
outputArray(comment,comment.length());
g_defLitText=g_defLitText.left(g_defLitText.length()-comment.length()-1);
}
}
outputChar('\n');
outputChar('\n');
Define *def=0;
Define *def=0;
...
...
src/rtfgen.cpp
View file @
f309c3c0
...
@@ -1700,7 +1700,7 @@ void RTFGenerator::endClassDiagram(ClassDiagram &d,
...
@@ -1700,7 +1700,7 @@ void RTFGenerator::endClassDiagram(ClassDiagram &d,
newParagraph
();
newParagraph
();
// create a png file
// create a png file
d
.
writeImage
(
t
,
dir
,
fileName
,
FALSE
);
d
.
writeImage
(
t
,
dir
,
relPath
,
fileName
,
FALSE
);
// display the file
// display the file
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
...
...
src/scanner.l
View file @
f309c3c0
...
@@ -154,6 +154,7 @@ static Grouping lastDefGroup( "", Grouping::GROUPING_LOWEST );
...
@@ -154,6 +154,7 @@ static Grouping lastDefGroup( "", Grouping::GROUPING_LOWEST );
static bool insideFormula;
static bool insideFormula;
static bool insideTryBlock=FALSE;
static bool insideTryBlock=FALSE;
static bool insideCode;
static bool needsSemi;
static bool needsSemi;
static int depthIf;
static int depthIf;
...
@@ -293,6 +294,28 @@ static QCString stripQuotes(const char *s)
...
@@ -293,6 +294,28 @@ static QCString stripQuotes(const char *s)
return name;
return name;
}
}
//static QCString stripCComments(const QCString &s)
//{
// int p=0,i;
// QCString result;
// while ((i=s.find("/*",p))!=-1)
// {
// result+=s.mid(p,i-p);
// int ei = s.find("*/",i+1);
// if (ei!=-1)
// {
// p=ei+2;
// }
// else
// {
// return result;
// }
// }
// result+=s.right(s.length()-p);
// printf("stripCComments: input=%s output=%s\n",s.data(),result.data());
// return result;
//}
static void newDocState();
static void newDocState();
//-----------------------------------------------------------------
//-----------------------------------------------------------------
...
@@ -695,6 +718,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -695,6 +718,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
%x SkipCurlyCpp
%x SkipCurlyCpp
%x SkipCurlyEndDoc
%x SkipCurlyEndDoc
%x SkipString
%x SkipString
%x SkipPHPString
%x SkipInits
%x SkipInits
%x SkipCPP
%x SkipCPP
%x SkipCPPBlock
%x SkipCPPBlock
...
@@ -720,6 +744,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -720,6 +744,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
%x LineDoc
%x LineDoc
%x DefLineDoc
%x DefLineDoc
%x ClassDocArg1
%x ClassDocArg1
%x CategoryDocArg1
%x ClassDocArg2
%x ClassDocArg2
%x ClassDocArg3
%x ClassDocArg3
%x ClassDocFunc
%x ClassDocFunc
...
@@ -790,6 +815,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -790,6 +815,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
%x AnchorLabel
%x AnchorLabel
%x ReadInitializer
%x ReadInitializer
%x CopyString
%x CopyString
%x CopyPHPString
%x CopyRound
%x CopyRound
%x CopyCurly
%x CopyCurly
%x IDLUnionCase
%x IDLUnionCase
...
@@ -883,7 +909,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -883,7 +909,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
BEGIN( FindMembers );
BEGIN( FindMembers );
}
}
}
}
<NextSemi>{CHARLIT}
<NextSemi>{CHARLIT}
{ if (insidePHP) REJECT; }
<NextSemi>\" {
<NextSemi>\" {
lastStringContext=NextSemi;
lastStringContext=NextSemi;
BEGIN(SkipString);
BEGIN(SkipString);
...
@@ -899,6 +925,11 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -899,6 +925,11 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
<FindMembersPHP>"<?"("php"?) { // PHP code start
<FindMembersPHP>"<?"("php"?) { // PHP code start
BEGIN( FindMembers );
BEGIN( FindMembers );
}
}
<FindMembersPHP>[^\n<]+ { // Non-PHP code text, ignore
}
<FindMembersPHP>\n { // Non-PHP code text, ignore
yyLineNr++;
}
<FindMembersPHP>. { // Non-PHP code text, ignore
<FindMembersPHP>. { // Non-PHP code text, ignore
}
}
<FindMembers>"?>" { // PHP code end
<FindMembers>"?>" { // PHP code end
...
@@ -2028,7 +2059,16 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -2028,7 +2059,16 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
current->initializer+=*yytext;
current->initializer+=*yytext;
}
}
*/
*/
<ReadInitializer>{CHARLIT} { current->initializer+=yytext; }
<ReadInitializer>{CHARLIT} {
if (insidePHP)
{
REJECT;
}
else
{
current->initializer+=yytext;
}
}
<ReadInitializer>\n {
<ReadInitializer>\n {
current->initializer+=*yytext;
current->initializer+=*yytext;
yyLineNr++;
yyLineNr++;
...
@@ -2063,21 +2103,25 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -2063,21 +2103,25 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
}
}
/* generic quoted string copy rules */
/* generic quoted string copy rules */
<CopyString
>\\.
{
<CopyString
,CopyPHPString>\\.
{
*pCopyQuotedString+=yytext;
*pCopyQuotedString+=yytext;
}
}
<CopyString>\" {
<CopyString>\" {
*pCopyQuotedString+=*yytext;
*pCopyQuotedString+=*yytext;
BEGIN( lastStringContext );
BEGIN( lastStringContext );
}
}
<CopyString>"/*"|"*/"|"//" {
<CopyPHPString>\' {
*pCopyQuotedString+=*yytext;
BEGIN( lastStringContext );
}
<CopyString,CopyPHPString>"/*"|"*/"|"//" {
*pCopyQuotedString+=yytext;
*pCopyQuotedString+=yytext;
}
}
<CopyString
>\n
{
<CopyString
,CopyPHPString>\n
{
*pCopyQuotedString+=*yytext;
*pCopyQuotedString+=*yytext;
yyLineNr++;
yyLineNr++;
}
}
<CopyString
>.
{
<CopyString
,CopyPHPString>.
{
*pCopyQuotedString+=*yytext;
*pCopyQuotedString+=*yytext;
}
}
...
@@ -2101,10 +2145,22 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -2101,10 +2145,22 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
yyLineNr++;
yyLineNr++;
*pCopyRoundString+=*yytext;
*pCopyRoundString+=*yytext;
}
}
<CopyRound>{CHARLIT} { *pCopyRoundString+=yytext; }
<CopyRound>{CHARLIT} {
if (insidePHP)
{
REJECT;
}
else
{
*pCopyRoundString+=yytext;
}
}
<CopyRound>[^"'()\n]+ {
<CopyRound>[^"'()\n]+ {
*pCopyRoundString+=yytext;
*pCopyRoundString+=yytext;
}
}
<CopyRound>. {
*pCopyRoundString+=*yytext;
}
/* generic curly bracket list copy rules */
/* generic curly bracket list copy rules */
<CopyCurly>\" {
<CopyCurly>\" {
...
@@ -2122,7 +2178,15 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -2122,7 +2178,15 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
if (--curlyCount<0)
if (--curlyCount<0)
BEGIN(lastCurlyContext);
BEGIN(lastCurlyContext);
}
}
<CopyCurly>{CHARLIT} { *pCopyCurlyString+=yytext; }
<CopyCurly>{CHARLIT} { if (insidePHP)
{
REJECT;
}
else
{
*pCopyCurlyString+=yytext;
}
}
<CopyCurly>[^"'{}\/\n]+ {
<CopyCurly>[^"'{}\/\n]+ {
*pCopyCurlyString+=yytext;
*pCopyCurlyString+=yytext;
}
}
...
@@ -2131,6 +2195,9 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -2131,6 +2195,9 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
yyLineNr++;
yyLineNr++;
*pCopyCurlyString+=*yytext;
*pCopyCurlyString+=*yytext;
}
}
<CopyCurly>. {
*pCopyCurlyString+=*yytext;
}
<FindMembers>":" {
<FindMembers>":" {
if (current->type.isEmpty()) // bit pad field
if (current->type.isEmpty()) // bit pad field
{
{
...
@@ -2306,8 +2373,18 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -2306,8 +2373,18 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
lastContext = YY_START ;
lastContext = YY_START ;
BEGIN( Comment ) ;
BEGIN( Comment ) ;
}
}
<ReadBody,ReadNSBody,ReadBodyIntf>{CHARLIT} { current->program += yytext; }
<ReadBody,ReadNSBody,ReadBodyIntf>{CHARLIT} {
<ReadBody,ReadNSBody,ReadBodyIntf>"{" { current->program += yytext ;
if (insidePHP)
{
REJECT; // for PHP code single quotes
// are used for strings of arbitrary length
}
else
{
current->program += yytext;
}
}
<ReadBody,ReadNSBody,ReadBodyIntf>"{" { current->program += yytext ;
++curlyCount ;
++curlyCount ;
}
}
<ReadBody,ReadNSBody>"}" { //err("ReadBody count=%d\n",curlyCount);
<ReadBody,ReadNSBody>"}" { //err("ReadBody count=%d\n",curlyCount);
...
@@ -2544,6 +2621,19 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -2544,6 +2621,19 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
insideObjC=FALSE;
insideObjC=FALSE;
BEGIN( FindMembers );
BEGIN( FindMembers );
}
}
<ReadBody,ReadNSBody,ReadBodyIntf>"'" {
if (!insidePHP)
{
current->program += yytext;
}
else
{ // begin of single quoted string
current->program += yytext;
pCopyQuotedString = ¤t->program;
lastStringContext=YY_START;
BEGIN(CopyPHPString);
}
}
<ReadBody,ReadNSBody,ReadBodyIntf>. { current->program += yytext ; }
<ReadBody,ReadNSBody,ReadBodyIntf>. { current->program += yytext ; }
<ReadBody,ReadNSBody,ReadBodyIntf>"'#" { current->program += yytext ; }
<ReadBody,ReadNSBody,ReadBodyIntf>"'#" { current->program += yytext ; }
...
@@ -2881,8 +2971,15 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -2881,8 +2971,15 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
BEGIN( lastCopyArgStringContext );
BEGIN( lastCopyArgStringContext );
}
}
<ReadFuncArgType,ReadTempArgs,CopyArgRound,CopyArgSharp>{CHARLIT} {
<ReadFuncArgType,ReadTempArgs,CopyArgRound,CopyArgSharp>{CHARLIT} {
*copyArgString+=yytext;
if (insidePHP)
fullArgString+=yytext;
{
REJECT;
}
else
{
*copyArgString+=yytext;
fullArgString+=yytext;
}
}
}
<ReadFuncArgType,ReadTempArgs,CopyArgString,CopyArgRound,CopyArgSharp>\n {
<ReadFuncArgType,ReadTempArgs,CopyArgString,CopyArgRound,CopyArgSharp>\n {
yyLineNr++;
yyLineNr++;
...
@@ -2973,7 +3070,14 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -2973,7 +3070,14 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
BEGIN(CopyString);
BEGIN(CopyString);
}
}
<FuncPtrInit>{CHARLIT} {
<FuncPtrInit>{CHARLIT} {
current->args += yytext;
if (insidePHP)
{
REJECT;
}
else
{
current->args += yytext;
}
}
}
<FuncPtrInit>{ID} {
<FuncPtrInit>{ID} {
current->args += yytext;
current->args += yytext;
...
@@ -3258,6 +3362,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -3258,6 +3362,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
}
}
<SkipCurly>{CHARLIT} {
<SkipCurly>{CHARLIT} {
//addToBody(yytext);
//addToBody(yytext);
if (insidePHP) REJECT;
}
}
<SkipCurly>\" {
<SkipCurly>\" {
//addToBody(yytext);
//addToBody(yytext);
...
@@ -3323,27 +3428,21 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -3323,27 +3428,21 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
BEGIN(SkipVerbString);
BEGIN(SkipVerbString);
}
}
<SkipInits,SkipCurly,SkipCurlyCpp>{CHARLIT} {
<SkipInits,SkipCurly,SkipCurlyCpp>{CHARLIT} {
if (insidePHP) REJECT;
}
}
<SkipInits,SkipCurly,SkipCurlyCpp>. {
<SkipInits,SkipCurly,SkipCurlyCpp>. { }
//addToBody(yytext);
<SkipString,SkipPHPString>\\. { }
}
<SkipString>\\. {
//addToBodyCond(yytext);
}
<SkipString>\" {
<SkipString>\" {
//addToBodyCond(yytext);
BEGIN( lastStringContext );
BEGIN( lastStringContext );
}
}
<SkipString>"/*"|"*/"|"//" {
<SkipPHPString>\' {
//addToBodyCond(yytext);
BEGIN( lastStringContext );
}
}
<SkipString>\n {
<SkipString,SkipPHPString>"/*"|"*/"|"//" { }
<SkipString,SkipPHPString>\n {
yyLineNr++;
yyLineNr++;
//addToBodyCond(yytext);
}
<SkipString>. {
//addToBodyCond(yytext);
}
}
<SkipString,SkipPHPString>. { }
<Bases,CompoundName>";" {
<Bases,CompoundName>";" {
current->section = Entry::EMPTY_SEC ;
current->section = Entry::EMPTY_SEC ;
current->type.resize(0) ;
current->type.resize(0) ;
...
@@ -3526,8 +3625,10 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -3526,8 +3625,10 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
current->name.sprintf("@%d",anonCount++);
current->name.sprintf("@%d",anonCount++);
}
}
curlyCount=0;
curlyCount=0;
if (current->section==Entry::PROTOCOL_SEC ||
if (/*current->section==Entry::PROTOCOL_SEC ||
current->section==Entry::OBJCIMPL_SEC)
current->section==Entry::OBJCIMPL_SEC*/
insideObjC
)
{ // ObjC body that ends with @end
{ // ObjC body that ends with @end
BEGIN( ReadBodyIntf );
BEGIN( ReadBodyIntf );
}
}
...
@@ -3697,9 +3798,17 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -3697,9 +3798,17 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
}
}
<Comment>"/*" { current->program += yytext ; }
<Comment>"/*" { current->program += yytext ; }
<Comment>"//" { current->program += yytext ; }
<Comment>"//" { current->program += yytext ; }
<Comment>[^\n\/\*]+ { current->program += yytext ; }
<Comment>{CMD}("code"|"verbatim") {
insideCode=TRUE;
current->program += yytext ;
}
<Comment>{CMD}("endcode"|"endverbatim") {
insideCode=FALSE;
current->program += yytext ;
}
<Comment>[^ \.\n\/\*]+ { current->program += yytext ; }
<Comment>"*/" { current->program += yytext ;
<Comment>"*/" { current->program += yytext ;
BEGIN( lastContext ) ;
if (!insideCode)
BEGIN( lastContext ) ;
}
}
<Comment>. { current->program += *yytext ; }
<Comment>. { current->program += *yytext ; }
...
@@ -4014,6 +4123,18 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -4014,6 +4123,18 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
current->startLine = yyLineNr;
current->startLine = yyLineNr;
BEGIN( ClassDocArg1 );
BEGIN( ClassDocArg1 );
}
}
<Doc,JavaDoc>{B}*{CMD}"protocol"{B}+ { // ObjC protocol
current->section = Entry::PROTOCOLDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
BEGIN( ClassDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"category"{B}+ { // ObjC category
current->section = Entry::CATEGORYDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
BEGIN( CategoryDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"union"{B}+ {
<Doc,JavaDoc>{B}*{CMD}"union"{B}+ {
current->section = Entry::UNIONDOC_SEC;
current->section = Entry::UNIONDOC_SEC;
current->fileName = yyFileName;
current->fileName = yyFileName;
...
@@ -4260,6 +4381,11 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -4260,6 +4381,11 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
);
);
yyLineNr++;
yyLineNr++;
}
}
<CategoryDocArg1>{SCOPENAME}{B}*"("[^\)]+")" {
current->name = yytext;
prependScope();
BEGIN( ClassDocArg2 );
}
<ClassDocArg1>{SCOPENAME}/"<" {
<ClassDocArg1>{SCOPENAME}/"<" {
current->name = yytext;
current->name = yytext;
// prepend outer scope name
// prepend outer scope name
...
@@ -4269,11 +4395,15 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -4269,11 +4395,15 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
}
}
<ClassDocArg1>{SCOPENAME} {
<ClassDocArg1>{SCOPENAME} {
current->name = yytext;
current->name = yytext;
if (current->section==Entry::PROTOCOLDOC_SEC)
{
current->name+="-p";
}
// prepend outer scope name
// prepend outer scope name
prependScope();
prependScope();
BEGIN( ClassDocArg2 );
BEGIN( ClassDocArg2 );
}
}
<ClassDocArg1>"\\"{B}*"\n" {
<ClassDocArg1
,CategoryDocArg1
>"\\"{B}*"\n" {
yyLineNr++;
yyLineNr++;
}
}
<ClassDocArg1>"\n" {
<ClassDocArg1>"\n" {
...
@@ -4283,6 +4413,14 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -4283,6 +4413,14 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
);
);
yyLineNr++;
yyLineNr++;
}
<CategoryDocArg1>"\n" {
warn(yyFileName,yyLineNr,
"Warning: missing argument after "
"\\category."
);
yyLineNr++;
}
}
<GroupDocArg1>{ID}(".html"?) {
<GroupDocArg1>{ID}(".html"?) {
current->name = yytext;
current->name = yytext;
...
@@ -4668,6 +4806,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -4668,6 +4806,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
<SectionTitle>[^\n*]*/"\n" {
<SectionTitle>[^\n*]*/"\n" {
sectionTitle+=yytext;
sectionTitle+=yytext;
sectionTitle=sectionTitle.stripWhiteSpace();
sectionTitle=sectionTitle.stripWhiteSpace();
//printf("Adding new section file=%s label=%s title=%s\n",yyFileName,sectionLabel.data(),sectionTitle.data());
SectionInfo *si = new SectionInfo(yyFileName,sectionLabel,sectionTitle,SectionInfo::Anchor);
SectionInfo *si = new SectionInfo(yyFileName,sectionLabel,sectionTitle,SectionInfo::Anchor);
current->anchors->append(si);
current->anchors->append(si);
Doxygen::sectionDict.insert(yytext,si);
Doxygen::sectionDict.insert(yytext,si);
...
@@ -5299,7 +5438,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -5299,7 +5438,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
unput(afterDocTerminator);
unput(afterDocTerminator);
BEGIN(lastAfterDocContext);
BEGIN(lastAfterDocContext);
}
}
<ClassDocRelates,ClassDocFunc,ClassDocDefine,GroupDocArg1,ClassDocArg1,SectionTitle,EnumDocArg1,PageDocArg1,ExampleDocArg1,ClassDefineArgs>"*/" {
<ClassDocRelates,ClassDocFunc,ClassDocDefine,GroupDocArg1,C
ategoryDocArg1,C
lassDocArg1,SectionTitle,EnumDocArg1,PageDocArg1,ExampleDocArg1,ClassDefineArgs>"*/" {
// defer "*/" to a later time
// defer "*/" to a later time
unput('/');
unput('/');
unput('*');
unput('*');
...
@@ -5482,6 +5621,20 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -5482,6 +5621,20 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
lastCContext = YY_START ;
lastCContext = YY_START ;
BEGIN( SkipCxxComment ) ;
BEGIN( SkipCxxComment ) ;
}
}
<*>\' {
if (insidePHP)
{
lastStringContext=YY_START;
BEGIN(SkipPHPString);
}
}
<*>\" {
if (insidePHP)
{
lastStringContext=YY_START;
BEGIN(SkipString);
}
}
<*>.
<*>.
<SkipComment>"//"|"/*"
<SkipComment>"//"|"/*"
<*>"/*" { lastCContext = YY_START ;
<*>"/*" { lastCContext = YY_START ;
...
...
src/util.cpp
View file @
f309c3c0
...
@@ -2616,7 +2616,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
...
@@ -2616,7 +2616,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
fd
=
0
,
md
=
0
,
cd
=
0
,
nd
=
0
,
gd
=
0
;
fd
=
0
,
md
=
0
,
cd
=
0
,
nd
=
0
,
gd
=
0
;
if
(
memberName
.
isEmpty
())
return
FALSE
;
/* empty name => nothing to link */
if
(
memberName
.
isEmpty
())
return
FALSE
;
/* empty name => nothing to link */
QCString
scopeName
=
scName
.
copy
()
;
QCString
scopeName
=
scName
;
//printf("Search for name=%s args=%s in scope=%s\n",
//printf("Search for name=%s args=%s in scope=%s\n",
// memberName.data(),args,scopeName.data());
// memberName.data(),args,scopeName.data());
...
@@ -2707,7 +2707,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
...
@@ -2707,7 +2707,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
{
{
delete
argList
;
argList
=
0
;
delete
argList
;
argList
=
0
;
}
}
if
(
mdist
==
maxInheritanceDepth
&&
args
&&
strcmp
(
args
,
"()"
)
!
=
0
)
if
(
mdist
==
maxInheritanceDepth
&&
args
&&
strcmp
(
args
,
"()"
)
=
=
0
)
// no exact match found, but if args="()" an arbitrary member will do
// no exact match found, but if args="()" an arbitrary member will do
{
{
//printf(" >Searching for arbitrary member\n");
//printf(" >Searching for arbitrary member\n");
...
@@ -3023,8 +3023,9 @@ bool resolveRef(/* in */ const char *scName,
...
@@ -3023,8 +3023,9 @@ bool resolveRef(/* in */ const char *scName,
QCString
fullName
=
substitute
(
tsName
,
"#"
,
"::"
);
QCString
fullName
=
substitute
(
tsName
,
"#"
,
"::"
);
fullName
=
removeRedundantWhiteSpace
(
substitute
(
fullName
,
"."
,
"::"
));
fullName
=
removeRedundantWhiteSpace
(
substitute
(
fullName
,
"."
,
"::"
));
int
scopePos
=
fullName
.
findRev
(
"::"
);
int
bracePos
=
fullName
.
findRev
(
'('
);
// reverse is needed for operator()(...)
int
bracePos
=
fullName
.
findRev
(
'('
);
// reverse is needed for operator()(...)
int
endNamePos
=
bracePos
!=-
1
?
bracePos
:
fullName
.
length
();
int
scopePos
=
fullName
.
findRev
(
"::"
,
endNamePos
);
// default result values
// default result values
*
resContext
=
0
;
*
resContext
=
0
;
...
@@ -3063,22 +3064,15 @@ bool resolveRef(/* in */ const char *scName,
...
@@ -3063,22 +3064,15 @@ bool resolveRef(/* in */ const char *scName,
// continue search...
// continue search...
}
}
// extract scope
QCString
scopeStr
=
scName
;
//printf("scopeContext=%s scopeUser=%s\n",scopeContext.data(),scopeUser.data());
//printf("scopeContext=%s scopeUser=%s\n",scopeContext.data(),scopeUser.data());
// extract userscope+name
// extract userscope+name
int
endNamePos
=
bracePos
!=-
1
?
bracePos
:
fullName
.
length
();
QCString
nameStr
=
fullName
.
left
(
endNamePos
);
QCString
nameStr
=
fullName
.
left
(
endNamePos
);
// extract arguments
// extract arguments
QCString
argsStr
;
QCString
argsStr
;
if
(
bracePos
!=-
1
)
argsStr
=
fullName
.
right
(
fullName
.
length
()
-
bracePos
);
if
(
bracePos
!=-
1
)
argsStr
=
fullName
.
right
(
fullName
.
length
()
-
bracePos
);
//printf("scope=`%s' name=`%s' arg=`%s'\n",
// scopeStr.data(),nameStr.data(),argsStr.data());
// strip template specifier
// strip template specifier
// TODO: match against the correct partial template instantiation
// TODO: match against the correct partial template instantiation
int
templPos
=
nameStr
.
find
(
'<'
);
int
templPos
=
nameStr
.
find
(
'<'
);
...
@@ -3088,6 +3082,8 @@ bool resolveRef(/* in */ const char *scName,
...
@@ -3088,6 +3082,8 @@ bool resolveRef(/* in */ const char *scName,
nameStr
=
nameStr
.
left
(
templPos
)
+
nameStr
.
right
(
nameStr
.
length
()
-
endTemplPos
-
1
);
nameStr
=
nameStr
.
left
(
templPos
)
+
nameStr
.
right
(
nameStr
.
length
()
-
endTemplPos
-
1
);
}
}
QCString
scopeStr
=
scName
;
MemberDef
*
md
=
0
;
MemberDef
*
md
=
0
;
ClassDef
*
cd
=
0
;
ClassDef
*
cd
=
0
;
FileDef
*
fd
=
0
;
FileDef
*
fd
=
0
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment