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
d3c3bbd0
Commit
d3c3bbd0
authored
Jun 17, 2004
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.3.7-20040617
parent
f309c3c0
Changes
45
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
45 changed files
with
465 additions
and
221 deletions
+465
-221
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
doxywizard.cpp
addon/doxywizard/doxywizard.cpp
+2
-1
commands.doc
doc/commands.doc
+2
-9
config.doc
doc/config.doc
+8
-8
faq.doc
doc/faq.doc
+2
-2
language.doc
doc/language.doc
+30
-31
translator.py
doc/translator.py
+77
-4
relates.cpp
examples/relates.cpp
+0
-1
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classdef.cpp
src/classdef.cpp
+31
-14
classdef.h
src/classdef.h
+7
-0
code.l
src/code.l
+26
-2
compound.xsd
src/compound.xsd
+3
-2
compound_xsd.h
src/compound_xsd.h
+3
-2
config.h
src/config.h
+8
-2
config.l
src/config.l
+15
-9
docparser.cpp
src/docparser.cpp
+10
-1
doctokenizer.l
src/doctokenizer.l
+5
-2
doxygen.cpp
src/doxygen.cpp
+3
-2
filedef.cpp
src/filedef.cpp
+3
-3
htmlgen.cpp
src/htmlgen.cpp
+10
-12
index.cpp
src/index.cpp
+54
-47
namespacedef.cpp
src/namespacedef.cpp
+7
-6
scanner.l
src/scanner.l
+47
-4
translator.h
src/translator.h
+6
-0
translator_adapter.h
src/translator_adapter.h
+11
-1
translator_br.h
src/translator_br.h
+1
-1
translator_cz.h
src/translator_cz.h
+1
-1
translator_de.h
src/translator_de.h
+1
-1
translator_dk.h
src/translator_dk.h
+1
-1
translator_en.h
src/translator_en.h
+11
-0
translator_fr.h
src/translator_fr.h
+1
-1
translator_hr.h
src/translator_hr.h
+1
-1
translator_hu.h
src/translator_hu.h
+1
-1
translator_it.h
src/translator_it.h
+1
-1
translator_kr.h
src/translator_kr.h
+1
-1
translator_lt.h
src/translator_lt.h
+1
-1
translator_nl.h
src/translator_nl.h
+1
-1
translator_ru.h
src/translator_ru.h
+24
-21
translator_sr.h
src/translator_sr.h
+1
-1
translator_tw.h
src/translator_tw.h
+1
-1
xmlgen.cpp
src/xmlgen.cpp
+38
-13
make.pl
wintools/make.pl
+3
-3
No files found.
INSTALL
View file @
d3c3bbd0
DOXYGEN Version 1.3.7-20040
526
DOXYGEN Version 1.3.7-20040
617
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
26 May
2004)
Dimitri van Heesch (
17 June
2004)
README
View file @
d3c3bbd0
DOXYGEN Version 1.3.7_20040
526
DOXYGEN Version 1.3.7_20040
617
Please read INSTALL for compilation instructions.
...
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
26 May
2004)
Dimitri van Heesch (dimitri@stack.nl) (
17 June
2004)
VERSION
View file @
d3c3bbd0
1.3.7-20040
526
1.3.7-20040
617
addon/doxywizard/doxywizard.cpp
View file @
d3c3bbd0
...
...
@@ -89,7 +89,8 @@ static bool saveConfig( QString saveFile )
return
FALSE
;
// failure
}
Config
::
instance
()
->
writeTemplate
(
&
f
,
TRUE
,
FALSE
);
// write brief config file
QTextStream
t
(
&
f
);
Config
::
instance
()
->
writeTemplate
(
t
,
TRUE
,
FALSE
);
// write brief config file
return
TRUE
;
// success
}
...
...
doc/commands.doc
View file @
d3c3bbd0
...
...
@@ -440,11 +440,11 @@ doxygen. Unrecognized commands are treated as normal text.
\verbatim
/*! \mainpage My Personal Index Page
*
* \section intro Introduction
* \section intro
_sec
Introduction
*
* This is the introduction.
*
* \section install Installation
* \section install
_sec
Installation
*
* \subsection step1 Step 1: Opening the box
*
...
...
@@ -603,13 +603,6 @@ See section \ref memgroup for an example.
non-friend functions that are nevertheless strongly coupled to a certain
class. It only works for functions.
\par Example:
\verbinclude relates.cpp
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/relates/html/globals.html">here</a>
for the corresponding HTML documentation that is generated by doxygen.
\endhtmlonly
<hr>
\section cmdshowinitializer \showinitializer
...
...
doc/config.doc
View file @
d3c3bbd0
...
...
@@ -359,14 +359,6 @@ followed by the descriptions of the tags grouped by category.
(
but
less
readable
)
file
names
.
This
can
be
useful
is
your
file
systems
doesn
't support long names like on DOS, Mac, or CD-ROM.
\anchor cfg_verbatim_headers
<dt>\c VERBATIM_HEADERS <dd>
\addindex VERBATIM_HEADERS
If the \c VERBATIM_HEADERS tag is set the \c YES (the default) then doxygen
will generate a verbatim copy of the header file for each class for
which an include is specified. Set to NO to disable this.
\sa Section \ref cmdclass "\\class".
\anchor cfg_javadoc_autobrief
<dt>\c JAVADOC_AUTOBRIEF <dd>
\addindex JAVADOC_AUTOBRIEF
...
...
@@ -830,6 +822,14 @@ function's detailed documentation block.
then
for
each
documented
function
all
documented
entities
called
/
used
by
that
function
will
be
listed
.
\
anchor
cfg_verbatim_headers
<
dt
>\
c
VERBATIM_HEADERS
<
dd
>
\
addindex
VERBATIM_HEADERS
If
the
\
c
VERBATIM_HEADERS
tag
is
set
the
\
c
YES
(
the
default
)
then
doxygen
will
generate
a
verbatim
copy
of
the
header
file
for
each
class
for
which
an
include
is
specified
.
Set
to
NO
to
disable
this
.
\
sa
Section
\
ref
cmdclass
"
\\
class"
.
</
dl
>
\
section
alphabetical_index
Alphabetical
index
options
...
...
doc/faq.doc
View file @
d3c3bbd0
...
...
@@ -23,11 +23,11 @@ You should use the \\mainpage command inside a comment block like this:
\verbatim
/*! \mainpage My Personal Index Page
*
* \section intro Introduction
* \section intro
_sec
Introduction
*
* This is the introduction.
*
* \section install Installation
* \section install
_sec
Installation
*
* \subsection step1 Step 1: Opening the box
*
...
...
doc/language.doc
View file @
d3c3bbd0
...
...
@@ -23,13 +23,12 @@ text fragments, generated by doxygen, can be produced in languages other
than English (the default). The output language is chosen through the
configuration file (with default name and known as Doxyfile).
Currently (version 1.3.7), 29 languages
Currently (version 1.3.7
-20040616
), 29 languages
are supported (sorted alphabetically):
Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian,
Czech, Danish, Dutch, English, Finnish, French, German, Greek,
Hungarian, Italian, Japanese (+En), Korean (+En), Lithuanian,
Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak,
Slovene, Spanish, Swedish, and Ukrainian..
Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak,.
The table of information related to the supported languages follows.
It is sorted by language alphabetically. The <b>Status</b> column
...
...
@@ -54,7 +53,7 @@ when the translator was updated.
<td>Brazilian Portuguese</td>
<td>Fabio "FJTC" Jun Takada Chino</td>
<td>chino@NOSPAM.icmc.sc.usp.br</td>
<td>
up-to-date
</td>
<td>
1.3.8
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Catalan</td>
...
...
@@ -72,31 +71,31 @@ when the translator was updated.
<td>Chinese Traditional</td>
<td>Daniel YC Lin<br>Gary Lee</td>
<td>daniel@NOSPAM.twpda.com<br>garylee@NOSPAM.ecosine.com.tw</td>
<td>
up-to-date
</td>
<td>
1.3.8
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Croatian</td>
<td>Boris Bralo</td>
<td>boris.bralo@NOSPAM.zg.tel.hr</td>
<td>
up-to-date
</td>
<td>
1.3.8
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Czech</td>
<td>Petr Přikryl</td>
<td>prikrylp@NOSPAM.skil.cz</td>
<td>
up-to-date
</td>
<td>
1.3.8
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Danish</td>
<td>Erik Søe Sørensen</td>
<td>erik@NOSPAM.mail.nu</td>
<td>
up-to-date
</td>
<td>
1.3.8
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Dutch</td>
<td>Dimitri van Heesch</td>
<td>dimitri@NOSPAM.stack.nl</td>
<td>
up-to-date
</td>
<td>
1.3.8
</td>
</tr>
<tr bgcolor="#ffffff">
<td>English</td>
...
...
@@ -114,13 +113,13 @@ when the translator was updated.
<td>French</td>
<td>Xavier Outhier</td>
<td>xouthier@NOSPAM.yahoo.fr</td>
<td>
up-to-date
</td>
<td>
1.3.8
</td>
</tr>
<tr bgcolor="#ffffff">
<td>German</td>
<td>Jens Seidel</td>
<td>jensseidel@NOSPAM.users.sf.net</td>
<td>
up-to-date
</td>
<td>
1.3.8
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Greek</td>
...
...
@@ -132,13 +131,13 @@ when the translator was updated.
<td>Hungarian</td>
<td>Földvári György<br>Ákos Kiss</td>
<td>foldvari@NOSPAM.diatronltd.com<br>akiss@NOSPAM.users.sourceforge.net</td>
<td>
up-to-date
</td>
<td>
1.3.8
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Italian</td>
<td>Alessandro Falappa<br>Ahmed Aldo Faisal</td>
<td>alessandro@NOSPAM.falappa.net<br>aaf23@NOSPAM.cam.ac.uk</td>
<td>
up-to-date
</td>
<td>
1.3.8
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Japanese</td>
...
...
@@ -156,7 +155,7 @@ when the translator was updated.
<td>Korean</td>
<td>Richard Kim</td>
<td>ryk@NOSPAM.dspwiz.com</td>
<td>
up-to-date
</td>
<td>
1.3.8
</td>
</tr>
<tr bgcolor="#ffffff">
<td>KoreanEn</td>
...
...
@@ -168,7 +167,7 @@ when the translator was updated.
<td>Lithuanian</td>
<td>Tomas Simonaitis<br>Mindaugas Radzius<br>Aidas Berukstis</td>
<td>haden@NOSPAM.homelan.lt<br>mindaugasradzius@NOSPAM.takas.lt<br>aidasber@NOSPAM.takas.lt</td>
<td>
up-to-date
</td>
<td>
1.3.8
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Norwegian</td>
...
...
@@ -204,7 +203,7 @@ when the translator was updated.
<td>Serbian</td>
<td>Dejan Milosavljevic</td>
<td>dmilos@NOSPAM.email.com</td>
<td>
up-to-date
</td>
<td>
1.3.8
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Slovak</td>
...
...
@@ -222,7 +221,7 @@ when the translator was updated.
<td>Spanish</td>
<td>Francisco Oltra Thennet</td>
<td>foltra@NOSPAM.puc.cl</td>
<td>
up-to-date
</td>
<td>
1.3.08
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Swedish</td>
...
...
@@ -251,38 +250,38 @@ when the translator was updated.
\hline
\hline
Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny chino@icmc.sc.usp.br} &
up-to-date
\\
Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny chino@icmc.sc.usp.br} &
1.3.8
\\
\hline
Catalan & Albert Mora & {\tt\tiny amora@iua.upf.es} & 1.2.17 \\
\hline
Chinese & Wei Liu & {\tt\tiny liuwei@asiainfo.com} & 1.2.13 \\
~ & Wang Weihan & {\tt\tiny wangweihan@capinfo.com.cn} & ~ \\
\hline
Chinese Traditional & Daniel YC Lin & {\tt\tiny daniel@twpda.com} &
up-to-date
\\
Chinese Traditional & Daniel YC Lin & {\tt\tiny daniel@twpda.com} &
1.3.8
\\
~ & Gary Lee & {\tt\tiny garylee@ecosine.com.tw} & ~ \\
\hline
Croatian & Boris Bralo & {\tt\tiny boris.bralo@zg.tel.hr} &
up-to-date
\\
Croatian & Boris Bralo & {\tt\tiny boris.bralo@zg.tel.hr} &
1.3.8
\\
\hline
Czech & Petr P\v{r}ikryl & {\tt\tiny prikrylp@skil.cz} &
up-to-date
\\
Czech & Petr P\v{r}ikryl & {\tt\tiny prikrylp@skil.cz} &
1.3.8
\\
\hline
Danish & Erik S\o{}e S\o{}rensen & {\tt\tiny erik@mail.nu} &
up-to-date
\\
Danish & Erik S\o{}e S\o{}rensen & {\tt\tiny erik@mail.nu} &
1.3.8
\\
\hline
Dutch & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} &
up-to-date
\\
Dutch & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} &
1.3.8
\\
\hline
English & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} & up-to-date \\
\hline
Finnish & Olli Korhonen & {\tt\tiny Olli.Korhonen@ccc.fi} & obsolete \\
\hline
French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} &
up-to-date
\\
French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} &
1.3.8
\\
\hline
German & Jens Seidel & {\tt\tiny jensseidel@users.sf.net} &
up-to-date
\\
German & Jens Seidel & {\tt\tiny jensseidel@users.sf.net} &
1.3.8
\\
\hline
Greek & Harry Kalogirou & {\tt\tiny harkal@rainbow.cs.unipi.gr} & 1.2.11 \\
\hline
Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt\tiny foldvari@diatronltd.com} &
up-to-date
\\
Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt\tiny foldvari@diatronltd.com} &
1.3.8
\\
~ & \'{A}kos Kiss & {\tt\tiny akiss@users.sourceforge.net} & ~ \\
\hline
Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} &
up-to-date
\\
Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} &
1.3.8
\\
~ & Ahmed Aldo Faisal & {\tt\tiny aaf23@cam.ac.uk} & ~ \\
\hline
Japanese & Ryunosuke Satoh & {\tt\tiny sun594@hotmail.com} & 1.3.3 \\
...
...
@@ -290,11 +289,11 @@ when the translator was updated.
\hline
JapaneseEn & see the Japanese language & {\tt\tiny ~} & English based \\
\hline
Korean & Richard Kim & {\tt\tiny ryk@dspwiz.com} &
up-to-date
\\
Korean & Richard Kim & {\tt\tiny ryk@dspwiz.com} &
1.3.8
\\
\hline
KoreanEn & see the Korean language & {\tt\tiny ~} & English based \\
\hline
Lithuanian & Tomas Simonaitis & {\tt\tiny haden@homelan.lt} &
up-to-date
\\
Lithuanian & Tomas Simonaitis & {\tt\tiny haden@homelan.lt} &
1.3.8
\\
~ & Mindaugas Radzius & {\tt\tiny mindaugasradzius@takas.lt} & ~ \\
~ & Aidas Berukstis & {\tt\tiny aidasber@takas.lt} & ~ \\
\hline
...
...
@@ -309,13 +308,13 @@ when the translator was updated.
\hline
Russian & Alexandr Chelpanov & {\tt\tiny cav@cryptopro.ru} & up-to-date \\
\hline
Serbian & Dejan Milosavljevic & {\tt\tiny dmilos@email.com} &
up-to-date
\\
Serbian & Dejan Milosavljevic & {\tt\tiny dmilos@email.com} &
1.3.8
\\
\hline
Slovak & Stanislav Kudl\'{a}\v{c} & {\tt\tiny skudlac@pobox.sk} & 1.2.18 \\
\hline
Slovene & Matjaz Ostroversnik & {\tt\tiny matjaz.ostroversnik@zrs-tk.si} & 1.2.16 \\
\hline
Spanish & Francisco Oltra Thennet & {\tt\tiny foltra@puc.cl} &
up-to-date
\\
Spanish & Francisco Oltra Thennet & {\tt\tiny foltra@puc.cl} &
1.3.08
\\
\hline
Swedish & Mikael Hallin & {\tt\tiny mikaelhallin@yahoo.se} & 1.3.3 \\
\hline
...
...
doc/translator.py
View file @
d3c3bbd0
...
...
@@ -40,17 +40,90 @@
content should be more useful for developers.
2004/02/11 - Some tuning-up to provide more useful information.
2004/04/16 - Added new tokens to the tokenizer (to remove some warnings).
2004/05/25 - Added from __future__ import generators not to force Python 2.3.
2004/06/03 - Removed dependency on textwrap module.
"""
import
os
,
re
,
sys
,
textwrap
from
__future__
import
generators
import
os
,
re
,
sys
def
fill
(
s
):
"""Returns string formated to the wrapped paragraph multiline string.
Replaces whitespaces by one space and then uses he textwrap.fill()."""
# Replace all whitespace by spaces, remove whitespaces that are not
# necessary, strip the left and right whitespaces, and break the string
# to list of words.
rexWS
=
re
.
compile
(
r'\s+'
)
return
textwrap
.
fill
(
rexWS
.
sub
(
' '
,
s
))
lst
=
rexWS
.
sub
(
' '
,
s
)
.
strip
()
.
split
()
# If the list is not empty, put the words together and form the lines
# of maximum 70 characters. Build the list of lines.
lines
=
[]
if
lst
:
line
=
lst
.
pop
(
0
)
# no separation space in front of the first word
for
word
in
lst
:
if
len
(
line
)
+
len
(
word
)
<
70
:
line
+=
' '
+
word
else
:
lines
.
append
(
line
)
# another full line formed
line
=
word
# next line started
return
'
\n
'
.
join
(
lines
)
# The following function dedent() is the verbatim copy from the textwrap.py
# module. The textwrap.py was introduced in Python 2.3. To make this script
# working also in older Python versions, I have decided to copy it.
# Notice that the textwrap.py is copyrighted:
#
# Copyright (C) 1999-2001 Gregory P. Ward.
# Copyright (C) 2002, 2003 Python Software Foundation.
# Written by Greg Ward <gward@python.net>
#
# The explicit permission to use the code here was sent by Guido van Rossum
# (4th June, 2004).
#
def
dedent
(
text
):
"""dedent(text : string) -> string
Remove any whitespace than can be uniformly removed from the left
of every line in `text`.
This can be used e.g. to make triple-quoted strings line up with
the left edge of screen/whatever, while still presenting it in the
source code in indented form.
For example:
def test():
# end first line with
\
to avoid the empty line!
s = '''
\
hello
world
'''
print repr(s) # prints ' hello
\n
world
\n
'
print repr(dedent(s)) # prints 'hello
\n
world
\n
'
"""
lines
=
text
.
expandtabs
()
.
split
(
'
\n
'
)
margin
=
None
for
line
in
lines
:
content
=
line
.
lstrip
()
if
not
content
:
continue
indent
=
len
(
line
)
-
len
(
content
)
if
margin
is
None
:
margin
=
indent
else
:
margin
=
min
(
margin
,
indent
)
if
margin
is
not
None
and
margin
>
0
:
for
i
in
range
(
len
(
lines
)):
lines
[
i
]
=
lines
[
i
][
margin
:]
return
'
\n
'
.
join
(
lines
)
class
Transl
:
...
...
@@ -1521,7 +1594,7 @@ class TrManager:
</table>
\\
endhtmlonly
'''
htmlTableTpl
=
textwrap
.
dedent
(
htmlTableTpl
)
htmlTableTpl
=
dedent
(
htmlTableTpl
)
htmlTrTpl
=
'
\n
<tr bgcolor="#ffffff">
%
s
\n
</tr>'
htmlTdTpl
=
'
\n
<td>
%
s</td>'
...
...
@@ -1585,7 +1658,7 @@ class TrManager:
\end{tabular}
\endlatexonly
'''
latexTableTpl
=
textwrap
.
dedent
(
latexTableTpl
)
latexTableTpl
=
dedent
(
latexTableTpl
)
latexLineTpl
=
'
\n
'
+
r'
%
s &
%
s & {\tt\tiny
%
s} &
%
s \\'
# Loop through transl objects in the order of sorted readable names
...
...
examples/relates.cpp
View file @
d3c3bbd0
...
...
@@ -18,7 +18,6 @@ int strcmp(const String &s1,const String &s2)
/*! \relates String
* A string debug function.
*/
void
stringDebug
()
{
}
packages/rpm/doxygen.spec
View file @
d3c3bbd0
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3.7_20040
526
Version: 1.3.7_20040
617
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
...
...
src/classdef.cpp
View file @
d3c3bbd0
...
...
@@ -86,6 +86,7 @@ ClassDef::ClassDef(
m_innerClasses
=
new
ClassSDict
(
17
);
m_subGrouping
=
Config_getBool
(
"SUBGROUPING"
);
m_templateInstances
=
0
;
m_variableInstances
=
0
;
m_templateMaster
=
0
;
m_templBaseClassNames
=
0
;
m_artificial
=
FALSE
;
...
...
@@ -123,6 +124,7 @@ ClassDef::~ClassDef()
delete
memberGroupSDict
;
delete
m_innerClasses
;
delete
m_templateInstances
;
delete
m_variableInstances
;
delete
m_templBaseClassNames
;
delete
m_tempArgs
;
}
...
...
@@ -937,21 +939,16 @@ void ClassDef::writeDetailedDescription(OutputList &ol, const QCString &pageType
// write all documentation for this class
void
ClassDef
::
writeDocumentation
(
OutputList
&
ol
)
{
// write title
QCString
pageTitle
=
displayName
().
copy
();
QCString
pageType
;
QCString
cType
=
compoundTypeString
();
//printf("ClassDef::writeDocumentation() cType=%s\n",cType.data());
toupper
(
cType
.
at
(
0
));
pageType
+=
" "
;
pageType
+=
cType
;
pageTitle
+=
pageType
+
" Reference"
;
if
(
m_tempArgs
)
pageTitle
.
prepend
(
" Template"
);
startFile
(
ol
,
getOutputFileBase
(),
name
(),
pageTitle
);
QCString
pageType
=
" "
;
pageType
+=
compoundTypeString
();
toupper
(
pageType
.
at
(
1
));
QCString
pageTitle
=
theTranslator
->
trCompoundReference
(
displayName
(),
m_compType
==
Interface
&&
m_isObjC
?
Class
:
m_compType
,
m_tempArgs
!=
0
);
startFile
(
ol
,
getOutputFileBase
(),
name
(),
pageTitle
);
startTitle
(
ol
,
getOutputFileBase
());
ol
.
parseText
(
theTranslator
->
trCompoundReference
(
displayName
(),
m_isObjC
&&
m_compType
==
Interface
?
Class
:
m_compType
,
m_tempArgs
!=
0
));
ol
.
parseText
(
pageTitle
);
addGroupListToTitle
(
ol
,
this
);
endTitle
(
ol
,
getOutputFileBase
(),
name
());
...
...
@@ -2642,6 +2639,26 @@ ClassDef *ClassDef::insertTemplateInstance(const QCString &fileName,
return
templateClass
;
}
ClassDef
*
ClassDef
::
getVariableInstance
(
const
char
*
templSpec
)
{
if
(
m_variableInstances
==
0
)
{
m_variableInstances
=
new
QDict
<
ClassDef
>
(
17
);
m_variableInstances
->
setAutoDelete
(
TRUE
);
}
ClassDef
*
templateClass
=
m_variableInstances
->
find
(
templSpec
);
if
(
templateClass
==
0
)
{
Debug
::
print
(
Debug
::
Classes
,
0
,
" New template variable instance class `%s'`%s'
\n
"
,
name
().
data
(),
templSpec
);
templateClass
=
new
ClassDef
(
"<code>"
,
1
,
name
()
+
templSpec
,
ClassDef
::
Class
,
0
,
0
,
FALSE
);
templateClass
->
addMembersToTemplateInstance
(
this
,
templSpec
);
templateClass
->
setTemplateMaster
(
this
);
m_variableInstances
->
insert
(
templSpec
,
templateClass
);
}
return
templateClass
;
}
void
ClassDef
::
setTemplateBaseClassNames
(
QDict
<
int
>
*
templateNames
)
{
if
(
templateNames
==
0
)
return
;
...
...
src/classdef.h
View file @
d3c3bbd0
...
...
@@ -290,6 +290,7 @@ class ClassDef : public Definition
//QCString getTemplateArgumentMapping(const char *formal) const;
ClassDef
*
insertTemplateInstance
(
const
QCString
&
fileName
,
int
startLine
,
const
QCString
&
templSpec
,
bool
&
freshInstance
);
ClassDef
*
getVariableInstance
(
const
char
*
templSpec
);
void
setTemplateBaseClassNames
(
QDict
<
int
>
*
templateNames
);
QDict
<
int
>
*
getTemplateBaseClassNames
()
const
;
void
setTemplateMaster
(
ClassDef
*
tm
)
{
m_templateMaster
=
tm
;
}
...
...
@@ -416,6 +417,12 @@ class ClassDef : public Definition
*/
QDict
<
ClassDef
>
*
m_templateInstances
;
/*! Template instances that exists of this class, as defined by variables.
* We do NOT want to document these individually. The key in the
* dictionary is the template argument list.
*/
QDict
<
ClassDef
>
*
m_variableInstances
;
QDict
<
int
>
*
m_templBaseClassNames
;
/*! The class this class is an instance of. */
...
...
src/code.l
View file @
d3c3bbd0
...
...
@@ -227,8 +227,30 @@ void VariableContext::addVariable(const QCString &type,const QCString &name)
}
else if ((i=ltype.find('<'))!=-1)
{
// probably a template class, try without template arguments as well
addVariable(ltype.left(i),name);
// probably a template class
QCString typeName(ltype.left(i));
ClassDef* newDef = 0;
QCString templateArgs(ltype.right(ltype.length() - i));
if (
( // look for class definitions inside the code block
(varType=g_codeClassSDict[typeName]) ||
// otherwise look for global class definitions
(varType=getResolvedClass(g_currentDefinition,g_sourceFileDef,typeName))
) && // and it must be a template
varType->templateArguments())
{
newDef = varType->getVariableInstance( templateArgs );
}
if (newDef)
{
DBG_CTX((stderr,"** addVariable type=%s templ=%s name=%s\n",typeName.data(),templateArgs.data(),lname.data()));
scope->append(lname, newDef);
}
else
{
// Doesn't seem to be a template. Try just the base name.
addVariable(typeName,name);
}
}
else // add a dummy entry so the name is hidden to avoid false links
{
...
...
@@ -914,6 +936,8 @@ static bool generateClassMemberLink(BaseCodeDocInterface &ol,ClassDef *mcd,const
//printf("g_currentDefiniton=%p g_currentMemberDef=%p xmd=%p g_insideBody=%d\n",g_currentDefinition,g_currentMemberDef,xmd,g_insideBody);
if (xmd->templateMaster()) xmd = xmd->templateMaster();
// add usage reference
if (g_currentDefinition && g_currentMemberDef &&
xmd!=g_currentMemberDef && g_insideBody)
...
...
src/compound.xsd
View file @
d3c3bbd0
...
...
@@ -61,7 +61,7 @@
<xsd:complexType
name=
"compoundRefType"
mixed=
"true"
>
<xsd:simpleContent>
<xsd:extension
base=
"xsd:string"
>
<xsd:attribute
name=
"refid"
type=
"xsd:string"
/>
<xsd:attribute
name=
"refid"
type=
"xsd:string"
use=
"optional"
/>
<xsd:attribute
name=
"prot"
type=
"DoxProtectionKind"
/>
<xsd:attribute
name=
"virt"
type=
"DoxVirtualKind"
/>
</xsd:extension>
...
...
@@ -106,6 +106,7 @@
<xsd:complexType
name=
"sectiondefType"
>
<xsd:sequence>
<xsd:element
name=
"header"
type=
"xsd:string"
minOccurs=
"0"
/>
<xsd:element
name=
"description"
type=
"descriptionType"
minOccurs=
"0"
/>
<xsd:element
name=
"memberdef"
type=
"memberdefType"
maxOccurs=
"unbounded"
/>
</xsd:sequence>
<xsd:attribute
name=
"kind"
type=
"DoxSectionKind"
/>
...
...
@@ -156,9 +157,9 @@
<xsd:complexType
name=
"enumvalueType"
mixed=
"true"
>
<xsd:sequence>
<xsd:element
name=
"name"
/>
<xsd:element
name=
"initializer"
type=
"linkedTextType"
minOccurs=
"0"
/>
<xsd:element
name=
"briefdescription"
type=
"descriptionType"
minOccurs=
"0"
/>
<xsd:element
name=
"detaileddescription"
type=
"descriptionType"
minOccurs=
"0"
/>
<xsd:element
name=
"initializer"
type=
"linkedTextType"
minOccurs=
"0"
/>
</xsd:sequence>
<xsd:attribute
name=
"id"
type=
"xsd:string"
/>
<xsd:attribute
name=
"prot"
type=
"DoxProtectionKind"
/>
...
...
src/compound_xsd.h
View file @
d3c3bbd0
...
...
@@ -61,7 +61,7 @@
" <xsd:complexType name=
\"
compoundRefType
\"
mixed=
\"
true
\"
>
\n
"
" <xsd:simpleContent>
\n
"
" <xsd:extension base=
\"
xsd:string
\"
>
\n
"
" <xsd:attribute name=
\"
refid
\"
type=
\"
xsd:string
\"
/>
\n
"
" <xsd:attribute name=
\"
refid
\"
type=
\"
xsd:string
\"
use=
\"
optional
\"
/>
\n
"
" <xsd:attribute name=
\"
prot
\"
type=
\"
DoxProtectionKind
\"
/>
\n
"
" <xsd:attribute name=
\"
virt
\"
type=
\"
DoxVirtualKind
\"
/>
\n
"
" </xsd:extension>
\n
"
...
...
@@ -106,6 +106,7 @@
" <xsd:complexType name=
\"
sectiondefType
\"
>
\n
"
" <xsd:sequence>
\n
"
" <xsd:element name=
\"
header
\"
type=
\"
xsd:string
\"
minOccurs=
\"
0
\"
/>
\n
"
" <xsd:element name=
\"
description
\"
type=
\"
descriptionType
\"
minOccurs=
\"
0
\"
/>
\n
"
" <xsd:element name=
\"
memberdef
\"
type=
\"
memberdefType
\"
maxOccurs=
\"
unbounded
\"
/>
\n
"
" </xsd:sequence>
\n
"
" <xsd:attribute name=
\"
kind
\"
type=
\"
DoxSectionKind
\"
/>
\n
"
...
...
@@ -156,9 +157,9 @@
" <xsd:complexType name=
\"
enumvalueType
\"
mixed=
\"
true
\"
>
\n
"
" <xsd:sequence>
\n
"
" <xsd:element name=
\"
name
\"
/>
\n
"
" <xsd:element name=
\"
initializer
\"
type=
\"
linkedTextType
\"
minOccurs=
\"
0
\"
/>
\n
"
" <xsd:element name=
\"
briefdescription
\"
type=
\"
descriptionType
\"
minOccurs=
\"
0
\"
/>
\n
"
" <xsd:element name=
\"
detaileddescription
\"
type=
\"
descriptionType
\"
minOccurs=
\"
0
\"
/>
\n
"
" <xsd:element name=
\"
initializer
\"
type=
\"
linkedTextType
\"
minOccurs=
\"
0
\"
/>
\n
"
" </xsd:sequence>
\n
"
" <xsd:attribute name=
\"
id
\"
type=
\"
xsd:string
\"
/>
\n
"
" <xsd:attribute name=
\"
prot
\"
type=
\"
DoxProtectionKind
\"
/>
\n
"
...
...
src/config.h
View file @
d3c3bbd0
...
...
@@ -502,11 +502,11 @@ class Config
}
/*! @} */
/*! Writes a template configuration
file to \a f
. If \a shortIndex
/*! Writes a template configuration
to stream \a t
. If \a shortIndex
* is \c TRUE the description of each configuration option will
* be omitted.
*/
void
writeTemplate
(
Q
File
*
f
,
bool
shortIndex
,
bool
updateOnly
);
void
writeTemplate
(
Q
TextStream
&
t
,
bool
shortIndex
,
bool
updateOnly
);
/////////////////////////////
// internal API
...
...
@@ -530,6 +530,12 @@ class Config
/*! Initialize config variables to their default value */
void
init
();
/*! Parse a configuration data in string \a str.
* \returns TRUE if successful, or FALSE if the string could not be
* parsed.
*/
bool
parseString
(
const
char
*
fn
,
const
char
*
str
);
/*! Parse a configuration file with name \a fn.
* \returns TRUE if successful, FALSE if the file could not be
* opened or read.
...
...
src/config.l
View file @
d3c3bbd0
...
...
@@ -660,9 +660,8 @@ static void writeStringList(QTextStream &t,QStrList &l)
}
#endif
void Config::writeTemplate(Q
File *f
,bool sl,bool upd)
void Config::writeTemplate(Q
TextStream &t
,bool sl,bool upd)
{
QTextStream t(f);
t << "# Doxyfile " << versionString << endl << endl;
if (!sl)
{
...
...
@@ -1708,8 +1707,12 @@ void Config::create()
"file names in lower-case letters. If set to YES upper-case letters are also \n"
"allowed. This is useful if you have classes or files whose names only differ \n"
"in case and if your file system supports case sensitive file names. Windows \n"
"users are advised to set this option to NO.\n",
TRUE
"and Mac users are advised to set this option to NO.\n",
#if defined(_WIN32) || defined(macintosh) || defined(__MACOSX__) || defined(__APPLE__)
FALSE // case insensitive file system expected
#else
TRUE // case sensitive file system expected
#endif
);
cb = addBool(
"HIDE_SCOPE_NAMES",
...
...
@@ -2824,15 +2827,13 @@ static QCString configFileToString(const char *name)
return "";
}
bool Config::parse(const char *fn)
bool Config::parseString(const char *fn,const char *str)
{
QCString contents = configFileToString(fn);
config = Config::instance();
inputString =
contents.data()
;
inputString =
str
;
inputPosition = 0;
yyFileName = fn;
yyLineNr = 1;
yyFileName=fn;
includeStack.setAutoDelete(TRUE);
includeStack.clear();
includeDepth = 0;
...
...
@@ -2843,6 +2844,11 @@ bool Config::parse(const char *fn)
return TRUE;
}
bool Config::parse(const char *fn)
{
return parseString(fn,configFileToString(fn));
}
extern "C" { // some bogus code to keep the compiler happy
//int configYYwrap() { return 1 ; }
}
src/docparser.cpp
View file @
d3c3bbd0
...
...
@@ -704,6 +704,7 @@ static void handleLinkedWord(DocNode *parent,QList<DocNode> &children)
Definition
*
compound
=
0
;
MemberDef
*
member
=
0
;
QString
name
=
linkToText
(
g_token
->
name
,
TRUE
);
int
len
=
g_token
->
name
.
length
();
if
(
!
g_insideHtmlLink
&&
resolveRef
(
g_context
,
g_token
->
name
,
g_inSeeBlock
,
&
compound
,
&
member
))
{
...
...
@@ -733,7 +734,15 @@ static void handleLinkedWord(DocNode *parent,QList<DocNode> &children)
);
}
}
else
// normal word
else
if
(
!
g_insideHtmlLink
&&
g_token
->
name
.
at
(
len
-
1
)
==
':'
)
{
// special case, where matching Foo: fails to be an Obj-C reference,
// but Foo itself might be linkable.
g_token
->
name
=
g_token
->
name
.
left
(
len
-
1
);
handleLinkedWord
(
parent
,
children
);
children
.
append
(
new
DocWord
(
parent
,
":"
));
}
else
// normal non-linkable word
{
children
.
append
(
new
DocWord
(
parent
,
g_token
->
name
));
}
...
...
src/doctokenizer.l
View file @
d3c3bbd0
...
...
@@ -295,7 +295,9 @@ FUNCCHAR [a-z_A-Z0-9,:\<\> \t\*\&]
SCOPESEP "::"|"#"|"."
SCOPEPRE {ID}("<"{TEMPCHAR}*">")?{SCOPESEP}
SCOPEKEYS ":"({ID}":")*
SCOPEMASK {SCOPEPRE}*(~)?{ID}{SCOPEKEYS}?("<"{TEMPCHAR}*">")?
SCOPECPP {SCOPEPRE}*(~)?{ID}("<"{TEMPCHAR}*">")?
SCOPEOBJC {ID}{SCOPEKEYS}?
SCOPEMASK {SCOPECPP}|{SCOPEOBJC}
FUNCARG "("{FUNCCHAR}*")"
OPNEW {BLANK}+"new"({BLANK}*"[]")?
OPDEL {BLANK}+"delete"({BLANK}*"[]")?
...
...
@@ -462,6 +464,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
g_token->name = yytext;
return TK_LNKWORD;
}
<St_Para>{LNKWORD1}/"<br>" | // prevent <br> html tag to be parsed as template arguments
<St_Para>{LNKWORD1} |
<St_Para>{LNKWORD1}{FUNCARG} |
<St_Para>{LNKWORD2} {
...
...
@@ -794,7 +797,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
g_secType = SectionInfo::Paragraph;
BEGIN(St_SecLabel2);
}
<St_Sections>{CMD}"verbatim"
{BLANK}+
{
<St_Sections>{CMD}"verbatim"
/[^a-z_A-Z0-9]
{
g_endMarker="endverbatim";
BEGIN(St_SecSkip);
}
...
...
src/doxygen.cpp
View file @
d3c3bbd0
...
...
@@ -6586,7 +6586,7 @@ static void generateExampleDocs()
{
msg
(
"Generating docs for example %s...
\n
"
,
pd
->
name
().
data
());
QCString
n
=
pd
->
getOutputFileBase
();
startFile
(
*
outputList
,
n
,
n
,
"Example Documentation"
);
startFile
(
*
outputList
,
n
,
n
,
pd
->
name
()
);
startTitle
(
*
outputList
,
n
);
outputList
->
docify
(
pd
->
name
());
endTitle
(
*
outputList
,
n
,
0
);
...
...
@@ -6849,7 +6849,8 @@ static void generateConfigFile(const char *configFile,bool shortList,
bool
writeToStdout
=
(
configFile
[
0
]
==
'-'
&&
configFile
[
1
]
==
'\0'
);
if
(
fileOpened
)
{
Config
::
instance
()
->
writeTemplate
(
&
f
,
shortList
,
updateOnly
);
QTextStream
t
(
&
f
);
Config
::
instance
()
->
writeTemplate
(
t
,
shortList
,
updateOnly
);
if
(
!
writeToStdout
)
{
if
(
!
updateOnly
)
...
...
src/filedef.cpp
View file @
d3c3bbd0
...
...
@@ -211,10 +211,10 @@ void FileDef::writeDocumentation(OutputList &ol)
//printf("WriteDocumentation diskname=%s\n",diskname.data());
QCString
pageTitle
=
name
()
+
" File Reference"
;
QCString
pageTitle
=
theTranslator
->
trFileReference
(
docname
)
;
startFile
(
ol
,
getOutputFileBase
(),
name
(),
pageTitle
);
startTitle
(
ol
,
getOutputFileBase
());
ol
.
parseText
(
theTranslator
->
trFileReference
(
docname
)
);
ol
.
parseText
(
pageTitle
);
addGroupListToTitle
(
ol
,
this
);
endTitle
(
ol
,
getOutputFileBase
(),
docName
());
//ol.newParagraph();
...
...
@@ -490,7 +490,7 @@ void FileDef::writeDocumentation(OutputList &ol)
void
FileDef
::
writeSource
(
OutputList
&
ol
)
{
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
startFile
(
ol
,
getSourceFileBase
(),
0
,
docname
+
" Source File"
);
startFile
(
ol
,
getSourceFileBase
(),
0
,
theTranslator
->
trSourceFile
(
docname
)
);
startTitle
(
ol
,
0
);
ol
.
parseText
(
docname
);
endTitle
(
ol
,
0
,
0
);
...
...
src/htmlgen.cpp
View file @
d3c3bbd0
...
...
@@ -125,7 +125,7 @@ static const char *defaultStyleSheet =
" font-weight: bold;
\n
"
" font-family: Geneva, Arial, Helvetica, sans-serif;
\n
"
"}
\n
"
"DIV.groupText { margin-left: 16px; font-style: italic; font-size:
smaller
}
\n
"
"DIV.groupText { margin-left: 16px; font-style: italic; font-size:
14px
}
\n
"
"BODY {
\n
"
" background: white;
\n
"
" color: black;
\n
"
...
...
@@ -179,10 +179,10 @@ static const char *defaultStyleSheet =
" padding: 8px 10px;
\n
"
"}
\n
"
".mdescLeft {
\n
"
" font-size: smaller;
\n
"
" padding: 0px 8px 4px 8px;
\n
"
" font-size: 14px;
\n
"
" font-style: italic;
\n
"
" background-color: #FAFAFA;
\n
"
" padding-left: 8px;
\n
"
" border-top: 1px none #E0E0E0;
\n
"
" border-right: 1px none #E0E0E0;
\n
"
" border-bottom: 1px none #E0E0E0;
\n
"
...
...
@@ -190,17 +190,15 @@ static const char *defaultStyleSheet =
" margin: 0px;
\n
"
"}
\n
"
".mdescRight {
\n
"
" font-size: smaller;
\n
"
" padding: 0px 8px 4px 8px;
\n
"
" font-size: 14px;
\n
"
" font-style: italic;
\n
"
" background-color: #FAFAFA;
\n
"
" padding-left: 4px;
\n
"
" border-top: 1px none #E0E0E0;
\n
"
" border-right: 1px none #E0E0E0;
\n
"
" border-bottom: 1px none #E0E0E0;
\n
"
" border-left: 1px none #E0E0E0;
\n
"
" margin: 0px;
\n
"
" padding-bottom: 0px;
\n
"
" padding-right: 8px;
\n
"
"}
\n
"
".memItemLeft {
\n
"
" padding: 1px 0px 0px 8px;
\n
"
...
...
@@ -222,7 +220,7 @@ static const char *defaultStyleSheet =
" font-size: 12px;
\n
"
"}
\n
"
".memItemRight {
\n
"
" padding: 1px
0
px 0px 8px;
\n
"
" padding: 1px
8
px 0px 8px;
\n
"
" margin: 4px;
\n
"
" border-top-width: 1px;
\n
"
" border-right-width: 1px;
\n
"
...
...
@@ -399,7 +397,7 @@ void HtmlGenerator::startFile(const char *name,const char *,
}
else
{
t
<<
substituteKeywords
(
g_header
,
convertToHtml
(
last
Title
),
relPath
);
t
<<
substituteKeywords
(
g_header
,
convertToHtml
(
disp
Title
),
relPath
);
}
t
<<
"<!-- "
<<
theTranslator
->
trGeneratedBy
()
<<
" Doxygen "
<<
versionString
<<
" -->"
<<
endl
;
...
...
@@ -906,11 +904,11 @@ void HtmlGenerator::endMemberDescription()
DBG_HTML
(
t
<<
"<!-- endMemberDescription -->"
<<
endl
)
if
(
Config_getBool
(
"HTML_ALIGN_MEMBERS"
))
{
t
<<
"<br><
br><
/td></tr>"
<<
endl
;
t
<<
"<br></td></tr>"
<<
endl
;
}
else
{
t
<<
"<br><
br><
/dl>"
;
t
<<
"<br></dl>"
;
}
}
...
...
@@ -1498,7 +1496,7 @@ void HtmlGenerator::writeSearchPage()
#endif
if
(
g_header
.
isEmpty
())
{
writeDefaultHeaderFile
(
t
,
"Search"
,
0
,
FALSE
);
writeDefaultHeaderFile
(
t
,
theTranslator
->
trSearch
().
data
()
,
0
,
FALSE
);
}
else
{
...
...
src/index.cpp
View file @
d3c3bbd0
This diff is collapsed.
Click to expand it.
src/namespacedef.cpp
View file @
d3c3bbd0
...
...
@@ -264,18 +264,19 @@ void NamespaceDef::writeDetailedDocumentation(OutputList &ol)
void
NamespaceDef
::
writeDocumentation
(
OutputList
&
ol
)
{
QCString
pageTitle
=
displayName
()
+
" Namespace Reference"
;
startFile
(
ol
,
getOutputFileBase
(),
name
(),
pageTitle
);
startTitle
(
ol
,
getOutputFileBase
());
//ol.docify(pageTitle);
QCString
pageTitle
;
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_JAVA"
))
{
ol
.
parseText
(
theTranslator
->
trPackage
(
displayName
()
));
pageTitle
=
theTranslator
->
trPackage
(
displayName
(
));
}
else
{
ol
.
parseText
(
theTranslator
->
trNamespaceReference
(
displayName
()
));
pageTitle
=
theTranslator
->
trNamespaceReference
(
displayName
(
));
}
startFile
(
ol
,
getOutputFileBase
(),
name
(),
pageTitle
);
startTitle
(
ol
,
getOutputFileBase
());
//ol.docify(pageTitle);
//ol.parseText(pageTitle);
addGroupListToTitle
(
ol
,
this
);
endTitle
(
ol
,
getOutputFileBase
(),
displayName
());
...
...
src/scanner.l
View file @
d3c3bbd0
...
...
@@ -1485,21 +1485,31 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
BEGIN(Using);
}
<Using>"namespace"{BN}+ { lineCount(); BEGIN(UsingDirective); }
<Using>{ID}{BN}*
"::"{BN}*{ID}({BN}*"::"
{BN}*{ID})* {
<Using>{ID}{BN}*
({BN}*("::"|".")
{BN}*{ID})* {
lineCount();
current->name=yytext;
current->fileName = yyFileName;
current->section=Entry::USINGDECL_SEC;
//printf("Found using declaration %s\n",yytext);
current_root->addSubEntry(current);
current = new Entry ;
if (insideCS) /* Hack: in C# a using declaration and
directive have the same syntax, so we
also add it as a using directive here
*/
{
current->name=yytext;
current->fileName = yyFileName;
current->startLine = yyLineNr;
current->section=Entry::USINGDIR_SEC;
current_root->addSubEntry(current);
current = new Entry ;
}
initEntry();
BEGIN(Using);
}
<UsingDirective>{SCOPENAME} { current->name=yytext;
current->fileName = yyFileName;
current->section=Entry::USINGDIR_SEC;
//printf("Found using directive %s\n",yytext);
current_root->addSubEntry(current);
current = new Entry ;
initEntry();
...
...
@@ -3616,6 +3626,39 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
}
BEGIN( FindMembers );
}
<Bases,ClassVar>"///"/[^/] {
if (!insideObjC)
{
REJECT;
}
else
{
lineCount();
current->program+=yytext;
current->fileName = yyFileName ;
current->startLine = yyLineNr ;
curlyCount=0;
BEGIN( ReadBodyIntf );
}
}
<Bases,ClassVar>("//"{B}*)?"/**"/[^/*] |
<Bases,ClassVar>("//"{B}*)?"/*!" |
<Bases,ClassVar>"//!" |
<Bases,ClassVar>[\-+]{BN}+ {
if (!insideObjC)
{
REJECT;
}
else
{
lineCount();
current->program+=yytext;
current->fileName = yyFileName ;
current->startLine = yyLineNr ;
curlyCount=0;
BEGIN( ReadBodyIntf );
}
}
<CompoundName,ClassVar>{B}*"{"{B}* {
current->fileName = yyFileName ;
current->startLine = yyLineNr ;
...
...
@@ -3666,7 +3709,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
else
{
yyLineNr++;
unput('{');
//
unput('{');
}
}
<ClassVar,Bases>"@end" { // empty ObjC interface
...
...
src/translator.h
View file @
d3c3bbd0
...
...
@@ -416,6 +416,12 @@ class Translator
virtual
QCString
trSearchResults
(
int
numDocuments
)
=
0
;
virtual
QCString
trSearchMatches
()
=
0
;
//////////////////////////////////////////////////////////////////////////
// new since 1.3.8
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trSourceFile
(
QCString
&
filename
)
=
0
;
};
#endif
src/translator_adapter.h
View file @
d3c3bbd0
...
...
@@ -40,7 +40,17 @@ class TranslatorAdapterBase : public Translator
};
class
TranslatorAdapter_1_3_3
:
public
TranslatorAdapterBase
class
TranslatorAdapter_1_3_8
:
public
TranslatorAdapterBase
{
public
:
virtual
QCString
updateNeededMessage
()
{
return
createUpdateNeededMessage
(
idLanguage
(),
"release 1.3.8"
);
}
virtual
QCString
trSourceFile
(
QCString
&
filename
)
{
return
english
.
trSourceFile
(
filename
);
}
};
class
TranslatorAdapter_1_3_3
:
public
TranslatorAdapter_1_3_8
{
public
:
virtual
QCString
updateNeededMessage
()
...
...
src/translator_br.h
View file @
d3c3bbd0
...
...
@@ -31,7 +31,7 @@
#ifndef TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
class
TranslatorBrazilian
:
public
Translator
class
TranslatorBrazilian
:
public
Translator
Adapter_1_3_8
{
public
:
...
...
src/translator_cz.h
View file @
d3c3bbd0
...
...
@@ -148,7 +148,7 @@
// Windows version. The version which does not call the function is
// probably slightly faster.
class
TranslatorCzech
:
public
Translator
class
TranslatorCzech
:
public
Translator
Adapter_1_3_8
{
private
:
/*! The decode() inline assumes the source written in the
...
...
src/translator_de.h
View file @
d3c3bbd0
...
...
@@ -90,7 +90,7 @@
#ifndef TRANSLATOR_DE_H
#define TRANSLATOR_DE_H
class
TranslatorGerman
:
public
Translator
class
TranslatorGerman
:
public
Translator
Adapter_1_3_8
{
public
:
...
...
src/translator_dk.h
View file @
d3c3bbd0
...
...
@@ -72,7 +72,7 @@
#ifndef TRANSLATOR_DK_H
#define TRANSLATOR_DK_H
class
TranslatorDanish
:
public
Translator
class
TranslatorDanish
:
public
Translator
Adapter_1_3_8
{
public
:
...
...
src/translator_en.h
View file @
d3c3bbd0
...
...
@@ -1544,6 +1544,17 @@ class TranslatorEnglish : public Translator
return
"Matches:"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.8
//////////////////////////////////////////////////////////////////////////
/*! This is used in HTML as the title of page with source code for file filename
*/
virtual
QCString
trSourceFile
(
QCString
&
filename
)
{
return
filename
+
" Source File"
;
}
};
#endif
src/translator_fr.h
View file @
d3c3bbd0
...
...
@@ -85,7 +85,7 @@
// Translator class (by the local maintainer) when the localized
// translator is made up-to-date again.
class
TranslatorFrench
:
public
Translator
class
TranslatorFrench
:
public
Translator
Adapter_1_3_8
{
public
:
...
...
src/translator_hr.h
View file @
d3c3bbd0
...
...
@@ -56,7 +56,7 @@
#ifndef TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
class
TranslatorCroatian
:
public
Translator
class
TranslatorCroatian
:
public
Translator
Adapter_1_3_8
{
private
:
/*! to avoid macro redefinition from translator_cz.h */
...
...
src/translator_hu.h
View file @
d3c3bbd0
...
...
@@ -32,7 +32,7 @@
#include "translator.h"
#include "../qtools/qdatetime.h"
class
TranslatorHungarian
:
public
Translator
class
TranslatorHungarian
:
public
Translator
Adapter_1_3_8
{
private
:
const
char
*
zed
(
char
c
)
...
...
src/translator_it.h
View file @
d3c3bbd0
...
...
@@ -70,7 +70,7 @@
#ifndef TRANSLATOR_IT_H
#define TRANSLATOR_IT_H
class
TranslatorItalian
:
public
Translator
class
TranslatorItalian
:
public
Translator
Adapter_1_3_8
{
public
:
...
...
src/translator_kr.h
View file @
d3c3bbd0
...
...
@@ -26,7 +26,7 @@
#ifndef TRANSLATOR_KR_H
#define TRANSLATOR_KR_H
class
TranslatorKorean
:
public
Translator
class
TranslatorKorean
:
public
Translator
Adapter_1_3_8
{
public
:
...
...
src/translator_lt.h
View file @
d3c3bbd0
...
...
@@ -30,7 +30,7 @@
#define TRANSLATOR_LT_H
class
TranslatorLithuanian
:
public
Translator
class
TranslatorLithuanian
:
public
Translator
Adapter_1_3_8
{
public
:
...
...
src/translator_nl.h
View file @
d3c3bbd0
...
...
@@ -18,7 +18,7 @@
#ifndef TRANSLATOR_NL_H
#define TRANSLATOR_NL_H
class
TranslatorDutch
:
public
Translator
class
TranslatorDutch
:
public
Translator
Adapter_1_3_8
{
public
:
QCString
idLanguage
()
...
...
src/translator_ru.h
View file @
d3c3bbd0
...
...
@@ -18,7 +18,7 @@
*
* Nickolay Semyonov
* Andrey V. Stolyarov released Feb 14, 2001
* Alexandr V. Chelpanov <cav@cryptopro.ru> released
Sep 16, 2003
* Alexandr V. Chelpanov <cav@cryptopro.ru> released
Jun 16, 2004
*
* list documentation .
*
...
...
@@ -42,7 +42,8 @@
*
* ?? .
*
* : Vitaly A. Repin <vitaly@radio.hop.stu.neva.ru>
* : Vitaly A. Repin <vitaly@radio.hop.stu.neva.ru>,
* <bbman@mail.ru>
*/
#ifndef TRANSLATOR_RU_H
...
...
@@ -236,7 +237,7 @@ class TranslatorRussian : public Translator
/*??*/
virtual
QCString
trFileMembers
()
{
return
decode
(
" "
);
return
decode
(
"
"
);
}
/*! This is put above each page as a link to all related pages. */
...
...
@@ -638,7 +639,7 @@ class TranslatorRussian : public Translator
* related classes
*/
virtual
QCString
trRelatedFunctionDocumentation
()
{
return
decode
(
" "
{
return
decode
(
"
,
"
" "
);
}
//////////////////////////////////////////////////////////////////////////
...
...
@@ -779,14 +780,14 @@ class TranslatorRussian : public Translator
/*! This is put above each page as a link to all members of namespaces. */
virtual
QCString
trNamespaceMembers
()
{
return
decode
(
" "
);
}
{
return
decode
(
" "
);
}
/*! This is an introduction to the page with all namespace members */
virtual
QCString
trNamespaceMemberDescription
(
bool
extractAll
)
{
QCString
result
=
" "
;
if
(
!
extractAll
)
result
+=
" "
;
result
+=
" ."
;
result
+=
" ."
;
return
decode
(
result
);
}
...
...
@@ -794,7 +795,7 @@ class TranslatorRussian : public Translator
* index of all namespaces.
*/
virtual
QCString
trNamespaceIndex
()
{
return
decode
(
" "
);
}
{
return
decode
(
" "
);
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all namespaces.
...
...
@@ -1061,7 +1062,7 @@ class TranslatorRussian : public Translator
}
virtual
QCString
trInclByDepGraph
()
{
return
decode
(
" , :"
);
return
decode
(
" , :"
);
}
virtual
QCString
trSince
()
/*??*/
...
...
@@ -1128,16 +1129,16 @@ class TranslatorRussian : public Translator
"</ul>
\n
"
" :
\n
"
"<ul>
\n
"
"<li> "
"<li>
-
"
" .
\n
"
"<li> .
\n
"
"<li> .
\n
"
"<li>
-
.
\n
"
"<li>
-
.
\n
"
"<li> , "
" ."
" , "
" .
\n
"
"<li> "
", . "
", . "
" .
\n
"
"</ul>
\n
"
);
}
...
...
@@ -1545,13 +1546,12 @@ class TranslatorRussian : public Translator
}
else
if
(
numDocuments
==
1
)
{
return
decode
(
" <b>$num</b> "
)
+
as_documents
(
numDocuments
)
+
"."
;
return
decode
(
" 1 ."
);
}
else
{
return
decode
(
"
<b>$num</b> "
)
+
as_documents
(
numDocuments
)
+
decode
(
".
."
);
return
decode
(
"
() <b>$num</b> (). "
"
."
);
}
}
/*! This string is put before the list of matched words, for each search
...
...
@@ -1562,12 +1562,15 @@ class TranslatorRussian : public Translator
return
decode
(
":"
);
}
private
:
QCString
as_documents
(
int
num
)
//////////////////////////////////////////////////////////////////////////
// new since 1.3.8
//////////////////////////////////////////////////////////////////////////
/*! This is used in HTML as the title of page with source code for file filename
*/
virtual
QCString
trSourceFile
(
QCString
&
filename
)
{
if
(
num
%
10
==
1
)
return
""
;
if
(
(
num
%
10
)
>=
2
&&
(
num
%
10
)
<=
4
)
return
decode
(
""
);
return
decode
(
""
);
return
" "
+
filename
;
}
};
...
...
src/translator_sr.h
View file @
d3c3bbd0
...
...
@@ -21,7 +21,7 @@
// translation by Dejan D. M. Milosavljevic <dmilos@email.com>;<dmilosx@ptt.yu>
// // 10x 2 Ivana Miletic for gramatical consutation.
class
TranslatorSerbian
:
public
Translator
class
TranslatorSerbian
:
public
Translator
Adapter_1_3_8
{
private
:
QCString
decode
(
const
QCString
&
sInput
)
...
...
src/translator_tw.h
View file @
d3c3bbd0
...
...
@@ -41,7 +41,7 @@
// Translator class (by the local maintainer) when the localized
// translator is made up-to-date again.
class
TranslatorChinesetraditional
:
public
Translator
class
TranslatorChinesetraditional
:
public
Translator
Adapter_1_3_8
{
public
:
...
...
src/xmlgen.cpp
View file @
d3c3bbd0
...
...
@@ -810,7 +810,8 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
}
static
void
generateXMLSection
(
Definition
*
d
,
QTextStream
&
ti
,
QTextStream
&
t
,
MemberList
*
ml
,
const
char
*
kind
,
const
char
*
header
=
0
)
MemberList
*
ml
,
const
char
*
kind
,
const
char
*
header
=
0
,
const
char
*
documentation
=
0
)
{
if
(
ml
->
count
()
==
0
)
return
;
// empty list
...
...
@@ -819,6 +820,12 @@ static void generateXMLSection(Definition *d,QTextStream &ti,QTextStream &t,
{
t
<<
" <header>"
<<
convertToXML
(
header
)
<<
"</header>"
<<
endl
;
}
if
(
documentation
)
{
t
<<
" <description>"
;
writeXMLDocBlock
(
t
,
d
->
docFile
(),
d
->
docLine
(),
d
,
0
,
documentation
);
t
<<
"</description>"
<<
endl
;
}
MemberListIterator
mli
(
*
ml
);
MemberDef
*
md
;
for
(
mli
.
toFirst
();(
md
=
mli
.
current
());
++
mli
)
...
...
@@ -928,9 +935,12 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
BaseClassDef
*
bcd
;
for
(
bcli
.
toFirst
();(
bcd
=
bcli
.
current
());
++
bcli
)
{
t
<<
" <basecompoundref refid=
\"
"
<<
bcd
->
classDef
->
getOutputFileBase
()
<<
"
\"
prot=
\"
"
;
t
<<
" <basecompoundref "
;
if
(
bcd
->
classDef
->
isLinkable
())
{
t
<<
"refid=
\"
"
<<
bcd
->
classDef
->
getOutputFileBase
()
<<
"
\"
"
;
}
t
<<
"prot=
\"
"
;
switch
(
bcd
->
prot
)
{
case
Public
:
t
<<
"public"
;
break
;
...
...
@@ -1013,7 +1023,8 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
MemberGroup
*
mg
;
for
(;(
mg
=
mgli
.
current
());
++
mgli
)
{
generateXMLSection
(
cd
,
ti
,
t
,
mg
->
members
(),
"user-defined"
,
mg
->
header
());
generateXMLSection
(
cd
,
ti
,
t
,
mg
->
members
(),
"user-defined"
,
mg
->
header
(),
mg
->
documentation
());
}
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
pubTypes
,
"public-type"
);
...
...
@@ -1145,7 +1156,8 @@ static void generateXMLForNamespace(NamespaceDef *nd,QTextStream &ti)
MemberGroup
*
mg
;
for
(;(
mg
=
mgli
.
current
());
++
mgli
)
{
generateXMLSection
(
nd
,
ti
,
t
,
mg
->
members
(),
"user-defined"
,
mg
->
header
());
generateXMLSection
(
nd
,
ti
,
t
,
mg
->
members
(),
"user-defined"
,
mg
->
header
(),
mg
->
documentation
());
}
generateXMLSection
(
nd
,
ti
,
t
,
&
nd
->
decDefineMembers
,
"define"
);
...
...
@@ -1280,7 +1292,8 @@ static void generateXMLForFile(FileDef *fd,QTextStream &ti)
MemberGroup
*
mg
;
for
(;(
mg
=
mgli
.
current
());
++
mgli
)
{
generateXMLSection
(
fd
,
ti
,
t
,
mg
->
members
(),
"user-defined"
,
mg
->
header
());
generateXMLSection
(
fd
,
ti
,
t
,
mg
->
members
(),
"user-defined"
,
mg
->
header
(),
mg
->
documentation
());
}
generateXMLSection
(
fd
,
ti
,
t
,
&
fd
->
decDefineMembers
,
"define"
);
...
...
@@ -1411,7 +1424,8 @@ static void generateXMLForGroup(GroupDef *gd,QTextStream &ti)
MemberGroup
*
mg
;
for
(;(
mg
=
mgli
.
current
());
++
mgli
)
{
generateXMLSection
(
gd
,
ti
,
t
,
mg
->
members
(),
"user-defined"
,
mg
->
header
());
generateXMLSection
(
gd
,
ti
,
t
,
mg
->
members
(),
"user-defined"
,
mg
->
header
(),
mg
->
documentation
());
}
generateXMLSection
(
gd
,
ti
,
t
,
&
gd
->
decDefineMembers
,
"define"
);
...
...
@@ -1580,12 +1594,23 @@ void generateXML()
t
<<
"xsi:noNamespaceSchemaLocation=
\"
index.xsd
\"
"
;
t
<<
"version=
\"
"
<<
versionString
<<
"
\"
>"
<<
endl
;
ClassSDict
::
Iterator
cli
(
Doxygen
::
classSDict
);
ClassDef
*
cd
;
for
(
cli
.
toFirst
();(
cd
=
cli
.
current
());
++
cli
)
{
msg
(
"Generating XML output for class %s
\n
"
,
cd
->
name
().
data
());
generateXMLForClass
(
cd
,
t
);
ClassSDict
::
Iterator
cli
(
Doxygen
::
classSDict
);
ClassDef
*
cd
;
for
(
cli
.
toFirst
();(
cd
=
cli
.
current
());
++
cli
)
{
msg
(
"Generating XML output for class %s
\n
"
,
cd
->
name
().
data
());
generateXMLForClass
(
cd
,
t
);
}
}
{
ClassSDict
::
Iterator
cli
(
Doxygen
::
hiddenClasses
);
ClassDef
*
cd
;
for
(
cli
.
toFirst
();(
cd
=
cli
.
current
());
++
cli
)
{
msg
(
"Generating XML output for class %s
\n
"
,
cd
->
name
().
data
());
generateXMLForClass
(
cd
,
t
);
}
}
NamespaceSDict
::
Iterator
nli
(
Doxygen
::
namespaceSDict
);
NamespaceDef
*
nd
;
...
...
wintools/make.pl
View file @
d3c3bbd0
...
...
@@ -21,9 +21,9 @@ if ($target eq "msvc")
# create config file
open
(
FILE
,
">makeconfig"
)
||
die
"Cannot create file makeconfig!"
;
print
FILE
"DOXYGEN =
$pwd
\n"
;
print
FILE
"TMAKEPATH =
$pwd\\tmake\\lib\\win32-$target
\n"
;
print
FILE
"TMAKE =
$pwd\\tmake\\bin\\tmake
\n"
;
print
FILE
"DOXYGEN =
\"$pwd\"
\n"
;
print
FILE
"TMAKEPATH =
\"$pwd\\tmake\\lib\\win32-$target\"
\n"
;
print
FILE
"TMAKE =
\"$pwd\\tmake\\bin\\tmake\"
\n"
;
print
FILE
"MAKE = $make\n"
;
print
FILE
"PERL = perl\n"
;
print
FILE
"RM = del /s /q\n"
;
...
...
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