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
f7c4c021
Commit
f7c4c021
authored
Jun 09, 2002
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.2.16-20020609
parent
c5627867
Changes
25
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
1893 additions
and
224 deletions
+1893
-224
INSTALL
INSTALL
+2
-2
Makefile.in
Makefile.in
+1
-5
README
README
+2
-2
VERSION
VERSION
+1
-1
configure
configure
+2
-2
config.doc
doc/config.doc
+1
-1
install.doc
doc/install.doc
+2
-1
language.doc
doc/language.doc
+16
-8
maintainers.txt
doc/maintainers.txt
+3
-0
translator.pl
doc/translator.pl
+18
-2
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classdef.cpp
src/classdef.cpp
+21
-0
code.l
src/code.l
+1
-0
commentcnv.l
src/commentcnv.l
+8
-8
config.l
src/config.l
+7
-3
doc.l
src/doc.l
+40
-44
doxygen.cpp
src/doxygen.cpp
+21
-15
lang_cfg.h
src/lang_cfg.h
+1
-0
language.cpp
src/language.cpp
+13
-0
latexgen.cpp
src/latexgen.cpp
+103
-56
pre.l
src/pre.l
+4
-0
scanner.l
src/scanner.l
+161
-47
tagreader.cpp
src/tagreader.cpp
+5
-0
translator_jp.h
src/translator_jp.h
+59
-26
translator_sr.h
src/translator_sr.h
+1400
-0
No files found.
INSTALL
View file @
f7c4c021
DOXYGEN Version 1.2.16-2002060
3
DOXYGEN Version 1.2.16-2002060
9
Please read the installation section of the manual for instructions.
Please read the installation section of the manual for instructions.
--------
--------
Dimitri van Heesch (0
3
June 2002)
Dimitri van Heesch (0
9
June 2002)
Makefile.in
View file @
f7c4c021
...
@@ -48,7 +48,7 @@ install: doxywizard_install
...
@@ -48,7 +48,7 @@ install: doxywizard_install
$(INSTTOOL)
-m
755 bin/doxytag
$(INSTALL)
/bin
$(INSTTOOL)
-m
755 bin/doxytag
$(INSTALL)
/bin
$(INSTTOOL)
-m
755 bin/doxysearch
$(INSTALL)
/bin
$(INSTTOOL)
-m
755 bin/doxysearch
$(INSTALL)
/bin
install_docs
:
install_docs
:
install
$(INSTTOOL)
-d
$(DOCDIR)
$(INSTTOOL)
-d
$(DOCDIR)
cp
-r
doc
$(DOCDIR)
cp
-r
doc
$(DOCDIR)
cp
-r
examples
$(DOCDIR)
cp
-r
examples
$(DOCDIR)
...
@@ -62,16 +62,12 @@ install_docs:
...
@@ -62,16 +62,12 @@ install_docs:
rm
-rf
$(DOCDIR)
/doc
rm
-rf
$(DOCDIR)
/doc
cd
$(DOCDIR)
/latex
;
$(MAKE)
cd
$(DOCDIR)
/latex
;
$(MAKE)
cp
$(DOCDIR)
/latex/doxygen_manual.pdf
$(DOCDIR)
cp
$(DOCDIR)
/latex/doxygen_manual.pdf
$(DOCDIR)
cp
$(DOCDIR)
/latex/doxygen_manual.ps
$(DOCDIR)
rm
-rf
$(DOCDIR)
/latex
rm
-rf
$(DOCDIR)
/latex
docs
:
FORCE
docs
:
FORCE
cd
examples
;
$(MAKE)
cd
examples
;
$(MAKE)
cd
doc
;
$(MAKE)
cd
doc
;
$(MAKE)
ps
:
docs
cd
latex
;
$(MAKE)
pdf
:
docs
pdf
:
docs
cd
latex
;
$(MAKE)
cd
latex
;
$(MAKE)
...
...
README
View file @
f7c4c021
DOXYGEN Version 1.2.16_2002060
3
DOXYGEN Version 1.2.16_2002060
9
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) (0
3
June 2002)
Dimitri van Heesch (dimitri@stack.nl) (0
9
June 2002)
VERSION
View file @
f7c4c021
1.2.16-2002060
3
1.2.16-2002060
9
configure
View file @
f7c4c021
...
@@ -27,7 +27,7 @@ f_prefix=/usr
...
@@ -27,7 +27,7 @@ f_prefix=/usr
f_insttool
=
NO
f_insttool
=
NO
f_english
=
NO
f_english
=
NO
f_wizard
=
NO
f_wizard
=
NO
f_langs
=
nl
,se,cz,fr,it,de,jp,es,fi,ru,hr,pl,pt,hu,kr,ro,si,cn,no,br,dk,sk,ua,gr,tw
f_langs
=
nl
,se,cz,fr,it,de,jp,es,fi,ru,hr,pl,pt,hu,kr,ro,si,cn,no,br,dk,sk,ua,gr,tw
,sr
while
test
-n
"
$1
"
;
do
while
test
-n
"
$1
"
;
do
case
$1
in
case
$1
in
...
@@ -483,7 +483,7 @@ echo -n " Generating src/lang_cfg.h..."
...
@@ -483,7 +483,7 @@ echo -n " Generating src/lang_cfg.h..."
echo
$f_langs
|
$f_perl
-e
'@l=split(/,/,<STDIN>);
echo
$f_langs
|
$f_perl
-e
'@l=split(/,/,<STDIN>);
chomp @l;
chomp @l;
@allowed=(NL,SE,CZ,FR,IT,DE,JP,ES,FI,RU,HR,PL,PT,HU,KR,RO,SI,CN,NO,BR,
@allowed=(NL,SE,CZ,FR,IT,DE,JP,ES,FI,RU,HR,PL,PT,HU,KR,RO,SI,CN,NO,BR,
DK,SK,UA,GR,TW);
DK,SK,UA,GR,TW
,SR
);
foreach my $elem (@l){
foreach my $elem (@l){
$elem =~ tr/a-z/A-Z/;
$elem =~ tr/a-z/A-Z/;
$r=0;
$r=0;
...
...
doc/config.doc
View file @
f7c4c021
...
@@ -239,7 +239,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -239,7 +239,7 @@ followed by the descriptions of the tags grouped by category.
The
default
language
is
English
,
other
supported
languages
are
:
The
default
language
is
English
,
other
supported
languages
are
:
Brazilian
,
Chinese
,
Croatian
,
Czech
,
Danish
,
Dutch
,
Finnish
,
French
,
Brazilian
,
Chinese
,
Croatian
,
Czech
,
Danish
,
Dutch
,
Finnish
,
French
,
German
,
Greek
,
Hungarian
,
Italian
,
Japanese
,
Korean
,
Norwegian
,
Polish
,
German
,
Greek
,
Hungarian
,
Italian
,
Japanese
,
Korean
,
Norwegian
,
Polish
,
Portuguese
,
Romanian
,
Russian
,
Slovak
,
Slovene
,
Spanish
and
Swedish
.
Portuguese
,
Romanian
,
Russian
,
S
erbian
,
S
lovak
,
Slovene
,
Spanish
and
Swedish
.
\
anchor
cfg_extract_all
\
anchor
cfg_extract_all
<
dt
>\
c
EXTRACT_ALL
<
dd
>
<
dt
>\
c
EXTRACT_ALL
<
dd
>
...
...
doc/install.doc
View file @
f7c4c021
...
@@ -397,7 +397,7 @@ Here is what is required:
...
@@ -397,7 +397,7 @@ Here is what is required:
of the cygwin tools that I put together just to compile doxygen.
of the cygwin tools that I put together just to compile doxygen.
As a third alternative one could use the GNUWin32 tools that can be
As a third alternative one could use the GNUWin32 tools that can be
found at http://gnuwin32.sourceforge.net/
found at http://gnuwin32.sourceforge.net/
Make sure the <code>BISONLIB</code> environment variable points to the
Make sure the <code>BISONLIB</code> environment variable points to the
location where the files <code>bison.simple</code> and
location where the files <code>bison.simple</code> and
...
@@ -474,6 +474,7 @@ Here is what is required:
...
@@ -474,6 +474,7 @@ Here is what is required:
and the collaboration graphs.
and the collaboration graphs.
</ul>
</ul>
Compilation is now done by performing the following steps:
Compilation is now done by performing the following steps:
<ol>
<ol>
...
...
doc/language.doc
View file @
f7c4c021
...
@@ -25,14 +25,14 @@ Doxygen has built-in support for multiple languages. This means
...
@@ -25,14 +25,14 @@ Doxygen has built-in support for multiple languages. This means
that the text fragments that doxygen generates can be produced in
that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time.
languages other than English (the default) at configuration time.
Currently (version 1.2.1
4-20020317), 26
languages
Currently (version 1.2.1
6-20020603), 27
languages
are supported (sorted alphabetically):
are supported (sorted alphabetically):
Brazilian Portuguese, Chinese, Chinese
t
raditional, Croatian, Czech,
Brazilian Portuguese, Chinese, Chinese
T
raditional, Croatian, Czech,
Danish, Dutch, English, Finnish, French,
Danish, Dutch, English, Finnish, French,
German, Greek, Hungarian, Italian, Japanese,
German, Greek, Hungarian, Italian, Japanese,
Korean, Norwegian, Polish, Portuguese, Romanian,
Korean, Norwegian, Polish, Portuguese, Romanian,
Russian, S
lovak, Slovene, Spanish, Swed
ish,
Russian, S
erbian, Slovak, Slovene, Span
ish,
and Ukrainian.
Swedish,
and Ukrainian.
The table of information related to the supported languages follows.
The table of information related to the supported languages follows.
It is sorted by language alphabetically. The <b>Status</b> column
It is sorted by language alphabetically. The <b>Status</b> column
...
@@ -52,7 +52,7 @@ when the translator was updated.
...
@@ -52,7 +52,7 @@ when the translator was updated.
<TD ><b><font size=+1 color="#ffffff"> Status </font></b></TD>
<TD ><b><font size=+1 color="#ffffff"> Status </font></b></TD>
</TR>
</TR>
<TR BGCOLOR="#ffffff">
<TR BGCOLOR="#ffffff">
<TD>Brazilian</TD>
<TD>Brazilian
Portuguese
</TD>
<TD>Fabio "FJTC" Jun Takada Chino</TD>
<TD>Fabio "FJTC" Jun Takada Chino</TD>
<TD>chino@NOSPAM.icmc.sc.usp.br</TD>
<TD>chino@NOSPAM.icmc.sc.usp.br</TD>
<TD>up-to-date</TD>
<TD>up-to-date</TD>
...
@@ -64,7 +64,7 @@ when the translator was updated.
...
@@ -64,7 +64,7 @@ when the translator was updated.
<TD>1.2.13</TD>
<TD>1.2.13</TD>
</TR>
</TR>
<TR BGCOLOR="#ffffff">
<TR BGCOLOR="#ffffff">
<TD>Chinese
t
raditional</TD>
<TD>Chinese
T
raditional</TD>
<TD>Gary Lee</TD>
<TD>Gary Lee</TD>
<TD>garylee@NOSPAM.ecosine.com.tw</TD>
<TD>garylee@NOSPAM.ecosine.com.tw</TD>
<TD>up-to-date</TD>
<TD>up-to-date</TD>
...
@@ -177,6 +177,12 @@ when the translator was updated.
...
@@ -177,6 +177,12 @@ when the translator was updated.
<TD>cav@NOSPAM.cryptopro.ru</TD>
<TD>cav@NOSPAM.cryptopro.ru</TD>
<TD>up-to-date</TD>
<TD>up-to-date</TD>
</TR>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Serbian</TD>
<TD>Dejan Milosavljevic</TD>
<TD>dmilos@NOSPAM.email.com</TD>
<TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TR BGCOLOR="#ffffff">
<TD>Slovak</TD>
<TD>Slovak</TD>
<TD>Stanislav Kudláč</TD>
<TD>Stanislav Kudláč</TD>
...
@@ -218,12 +224,12 @@ when the translator was updated.
...
@@ -218,12 +224,12 @@ when the translator was updated.
{\bf Language} & {\bf Maintainer} & {\bf Contact address} & {\bf Status} \\
{\bf Language} & {\bf Maintainer} & {\bf Contact address} & {\bf Status} \\
\hline
\hline
\hline
\hline
Brazilian & Fabio "FJTC" Jun Takada Chino & {\tt chino@icmc.sc.usp.br} & up-to-date \\
Brazilian
Portuguese
& Fabio "FJTC" Jun Takada Chino & {\tt chino@icmc.sc.usp.br} & up-to-date \\
\hline
\hline
Chinese & Wei Liu & {\tt liuwei@asiainfo.com} & 1.2.13 \\
Chinese & Wei Liu & {\tt liuwei@asiainfo.com} & 1.2.13 \\
& Wang Weihan & {\tt wangweihan@capinfo.com.cn} & \\
& Wang Weihan & {\tt wangweihan@capinfo.com.cn} & \\
\hline
\hline
Chinese
t
raditional & Gary Lee & {\tt garylee@ecosine.com.tw} & up-to-date \\
Chinese
T
raditional & Gary Lee & {\tt garylee@ecosine.com.tw} & up-to-date \\
\hline
\hline
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} & up-to-date \\
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} & up-to-date \\
\hline
\hline
...
@@ -265,6 +271,8 @@ when the translator was updated.
...
@@ -265,6 +271,8 @@ when the translator was updated.
\hline
\hline
Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & up-to-date \\
Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & up-to-date \\
\hline
\hline
Serbian & Dejan Milosavljevic & {\tt dmilos@email.com} & up-to-date \\
\hline
Slovak & Stanislav Kudl\'{a}\v{c} & {\tt skudlac@pobox.sk} & 1.2.13 \\
Slovak & Stanislav Kudl\'{a}\v{c} & {\tt skudlac@pobox.sk} & 1.2.13 \\
\hline
\hline
Slovene & Matjaz Ostroversnik & {\tt matjaz.ostroversnik@zrs-tk.si} & up-to-date \\
Slovene & Matjaz Ostroversnik & {\tt matjaz.ostroversnik@zrs-tk.si} & up-to-date \\
...
...
doc/maintainers.txt
View file @
f7c4c021
...
@@ -69,6 +69,9 @@ Alexandru Iosup: aiosup@yahoo.com
...
@@ -69,6 +69,9 @@ Alexandru Iosup: aiosup@yahoo.com
Russian
Russian
Alexandr Chelpanov: cav@cryptopro.ru
Alexandr Chelpanov: cav@cryptopro.ru
Serbian
Dejan Milosavljevic: dmilos@email.com
Slovak
Slovak
Stanislav Kudláč: skudlac@pobox.sk
Stanislav Kudláč: skudlac@pobox.sk
...
...
doc/translator.pl
View file @
f7c4c021
...
@@ -118,6 +118,11 @@
...
@@ -118,6 +118,11 @@
# - Some defined() operators used on hash elements were replaced
# - Some defined() operators used on hash elements were replaced
# by exists() operators where appropriate.
# by exists() operators where appropriate.
#
#
# 2002/05/21
# - Changes to display languages with two words more naturally
# (like "Chinese Traditional" instead of "Chinesetraditional"
# or "Brazilian Portuguese" instead of "Brazilian").
#
################################################################
################################################################
use
5.005
;
use
5.005
;
...
@@ -607,6 +612,7 @@ xxxTABLE_FOOTxxx
...
@@ -607,6 +612,7 @@ xxxTABLE_FOOTxxx
my
$languages
=
join
(
", "
,
@languages
);
my
$languages
=
join
(
", "
,
@languages
);
$languages
=~
s{((\w+,\s){5}
)}
{$1\n}g
;
$languages
=~
s{((\w+,\s){5}
)}
{$1\n}g
;
$languages
=~
s{Brazilian}{Brazilian Portuguese}
;
$languages
=~
s{Brazilian}{Brazilian Portuguese}
;
$languages
=~
s{Chinesetraditional}{Chinese Traditional}
;
$languages
=~
s{(,\s+)(\w+)$}{$1and $2}s
;
$languages
=~
s{(,\s+)(\w+)$}{$1and $2}s
;
$output
=~
s{\$languages}{$languages}
;
$output
=~
s{\$languages}{$languages}
;
...
@@ -692,6 +698,15 @@ xxxTABLE_FOOTxxx
...
@@ -692,6 +698,15 @@ xxxTABLE_FOOTxxx
# information, and add it to the tables. #{{{
# information, and add it to the tables. #{{{
#
#
foreach
my
$lang
(
sort
keys
%
language
)
{
foreach
my
$lang
(
sort
keys
%
language
)
{
# Transform the key for the language into more human readable
# form. Basically, only languages with two words are going to be
# corrected. #{{{
#
my
$lang_readable
=
$lang
;
$lang_readable
=~
s{Brazilian}{Brazilian Portuguese}
;
$lang_readable
=~
s{Chinesetraditional}{Chinese Traditional}
;
##}}}
# Read the line with info for the language and separate
# Read the line with info for the language and separate
# the status. #{{{
# the status. #{{{
...
@@ -748,7 +763,7 @@ xxxTABLE_FOOTxxx
...
@@ -748,7 +763,7 @@ xxxTABLE_FOOTxxx
#
#
my
$item
=
$htmlTableRow
;
my
$item
=
$htmlTableRow
;
$item
=~
s{\$lang}{$lang}
;
$item
=~
s{\$lang}{$lang
_readable
}
;
$item
=~
s{\$maintainer}{$name}
;
$item
=~
s{\$maintainer}{$name}
;
$item
=~
s{\$email}{$email}
;
$item
=~
s{\$email}{$email}
;
$item
=~
s{\$status}{$status}
;
$item
=~
s{\$status}{$status}
;
...
@@ -774,7 +789,7 @@ xxxTABLE_FOOTxxx
...
@@ -774,7 +789,7 @@ xxxTABLE_FOOTxxx
$name
=
$1
;
$name
=
$1
;
$email
=
$2
;
$email
=
$2
;
$item
=~
s{\$lang}{$lang}
;
$item
=~
s{\$lang}{$lang
_readable
}
;
$item
=~
s{\$maintainer}{$name}
;
$item
=~
s{\$maintainer}{$name}
;
$item
=~
s{\$email}{$email}
;
$item
=~
s{\$email}{$email}
;
$item
=~
s{\$status}{$status}
;
$item
=~
s{\$status}{$status}
;
...
@@ -1187,6 +1202,7 @@ print STDERR "\n\n";
...
@@ -1187,6 +1202,7 @@ print STDERR "\n\n";
my
$languages
=
join
(
", "
,
@languages
);
my
$languages
=
join
(
", "
,
@languages
);
$languages
=~
s{((\w+,\s){5}
)}
{$1\n}g
;
$languages
=~
s{((\w+,\s){5}
)}
{$1\n}g
;
$languages
=~
s{Brazilian}{Brazilian Portuguese}
;
$languages
=~
s{Brazilian}{Brazilian Portuguese}
;
$languages
=~
s{Chinesetraditional}{Chinese Traditional}
;
$languages
=~
s{(,\s+)(\w+)$}{$1and $2.}s
;
$languages
=~
s{(,\s+)(\w+)$}{$1and $2.}s
;
print
FOUT
"$languages\n"
;
print
FOUT
"$languages\n"
;
...
...
packages/rpm/doxygen.spec
View file @
f7c4c021
Summary: A documentation system for C/C++.
Summary: A documentation system for C/C++.
Name: doxygen
Name: doxygen
Version: 1.2.16_2002060
3
Version: 1.2.16_2002060
9
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/classdef.cpp
View file @
f7c4c021
...
@@ -1189,6 +1189,9 @@ void ClassDef::writeDocumentation(OutputList &ol)
...
@@ -1189,6 +1189,9 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol
.
docify
(
stripFromPath
(
path
));
ol
.
docify
(
stripFromPath
(
path
));
}
}
// for HTML
ol
.
pushGeneratorState
();
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
if
(
fd
->
generateSourceFile
())
if
(
fd
->
generateSourceFile
())
{
{
ol
.
writeObjectLink
(
0
,
fd
->
getSourceFileBase
(),
0
,
fd
->
name
());
ol
.
writeObjectLink
(
0
,
fd
->
getSourceFileBase
(),
0
,
fd
->
name
());
...
@@ -1202,6 +1205,24 @@ void ClassDef::writeDocumentation(OutputList &ol)
...
@@ -1202,6 +1205,24 @@ void ClassDef::writeDocumentation(OutputList &ol)
{
{
ol
.
docify
(
fd
->
name
());
ol
.
docify
(
fd
->
name
());
}
}
ol
.
popGeneratorState
();
// for other output formats
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Html
);
if
(
fd
->
isLinkable
())
{
ol
.
writeObjectLink
(
fd
->
getReference
(),
fd
->
getOutputFileBase
(),
0
,
fd
->
name
());
}
else
{
ol
.
docify
(
fd
->
name
());
}
ol
.
popGeneratorState
();
}
}
file
=
m_files
.
next
();
file
=
m_files
.
next
();
}
}
...
...
src/code.l
View file @
f7c4c021
...
@@ -1047,6 +1047,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
...
@@ -1047,6 +1047,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
bool ambig;
bool ambig;
bool found=FALSE;
bool found=FALSE;
FileDef *fd=0;
FileDef *fd=0;
//printf("looking for include %s\n",yytext);
if ((fd=findFileDef(Doxygen::inputNameDict,yytext,ambig)) &&
if ((fd=findFileDef(Doxygen::inputNameDict,yytext,ambig)) &&
fd->isLinkable())
fd->isLinkable())
{
{
...
...
src/commentcnv.l
View file @
f7c4c021
...
@@ -162,22 +162,22 @@ static int yyread(char *buf,int max_size)
...
@@ -162,22 +162,22 @@ static int yyread(char *buf,int max_size)
copyToOutput(yytext,yyleng);
copyToOutput(yytext,yyleng);
BEGIN(Scan);
BEGIN(Scan);
}
}
<SComment>^[ \t]*"///"[\/]*
\n
{
<SComment>^[ \t]*"///"[\/]*
/\n
{
replaceCommentMarker(yytext,yyleng);
replaceCommentMarker(yytext,yyleng);
}
}
<SComment>^[ \t]*"///"[^\/\n].*/\n {
<SComment>\n[ \t]*"///"[\/]*/\n {
replaceCommentMarker(yytext,yyleng);
}
<SComment>^[ \t]*"//!".*/\n { /* second line of special comment */
replaceCommentMarker(yytext,yyleng);
replaceCommentMarker(yytext,yyleng);
}
}
<SComment>
\n[ \t]*"///"[\/]*\n {
<SComment>
^[ \t]*"///"[^\/\n].*/\n {
replaceCommentMarker(yytext,yyleng);
replaceCommentMarker(yytext,yyleng);
}
}
<SComment>\n[ \t]*"///"[^\/\n].*/\n {
<SComment>\n[ \t]*"///"[^\/\n].*/\n {
replaceCommentMarker(yytext,yyleng);
replaceCommentMarker(yytext,yyleng);
}
}
<SComment>\n[ \t]*"//!".*/\n { /* other line of special comment */
<SComment>^[ \t]*"//!".*/\n {
replaceCommentMarker(yytext,yyleng);
}
<SComment>\n[ \t]*"//!".*/\n {
replaceCommentMarker(yytext,yyleng);
replaceCommentMarker(yytext,yyleng);
}
}
<SComment>\n { /* end of special comment */
<SComment>\n { /* end of special comment */
...
...
src/config.l
View file @
f7c4c021
...
@@ -1248,9 +1248,9 @@ void Config::create()
...
@@ -1248,9 +1248,9 @@ void Config::create()
"information to generate all constant output in the proper language. \n"
"information to generate all constant output in the proper language. \n"
"The default language is English, other supported languages are: \n"
"The default language is English, other supported languages are: \n"
"Brazilian, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, \n"
"Brazilian, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, \n"
"Finnish, French, German, Greek, Hungarian, Italian, Japanese,
Korean,
\n"
"Finnish, French, German, Greek, Hungarian, Italian, Japanese,
Japanese-en
\n"
"
Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Sloven
e, \n"
"
(Japanese with english messages), Korean, Norwegian, Polish, Portugues
e, \n"
"Spanish, Swedish and Ukrainian.\n",
"
Romanian, Russian, Serbian, Slovak, Slovene,
Spanish, Swedish and Ukrainian.\n",
"English"
"English"
);
);
#ifdef LANG_BR
#ifdef LANG_BR
...
@@ -1295,6 +1295,7 @@ void Config::create()
...
@@ -1295,6 +1295,7 @@ void Config::create()
#endif
#endif
#ifdef LANG_JP
#ifdef LANG_JP
ce->addValue("Japanese");
ce->addValue("Japanese");
ce->addValue("Japanese-en");
#endif
#endif
#ifdef LANG_KR
#ifdef LANG_KR
ce->addValue("Korean");
ce->addValue("Korean");
...
@@ -1314,6 +1315,9 @@ void Config::create()
...
@@ -1314,6 +1315,9 @@ void Config::create()
#ifdef LANG_RU
#ifdef LANG_RU
ce->addValue("Russian");
ce->addValue("Russian");
#endif
#endif
#ifdef LANG_SR
ce->addValue("Serbian");
#endif
#ifdef LANG_SK
#ifdef LANG_SK
ce->addValue("Slovak");
ce->addValue("Slovak");
#endif
#endif
...
...
src/doc.l
View file @
f7c4c021
...
@@ -966,6 +966,13 @@ static void checkArgName(const QCString &name,bool isParam)
...
@@ -966,6 +966,13 @@ static void checkArgName(const QCString &name,bool isParam)
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
/*! Looks for a documentation block with name commandName in the current
* context (copyDocScope). The resulting documentation string is
* put in pDoc, the definition in which the documentation was found is
* put in pDef.
* @retval TRUE if name was found.
* @retval FALSE if name was not found.
*/
bool findDocsForMemberOrCompound(const char *commandName,
bool findDocsForMemberOrCompound(const char *commandName,
QCString *pDoc,
QCString *pDoc,
Definition **pDef)
Definition **pDef)
...
@@ -976,53 +983,40 @@ bool findDocsForMemberOrCompound(const char *commandName,
...
@@ -976,53 +983,40 @@ bool findDocsForMemberOrCompound(const char *commandName,
int l=cmdArg.length();
int l=cmdArg.length();
if (l==0) return FALSE;
if (l==0) return FALSE;
int funcStart=cmdArg.find('(');
if (funcStart==-1) funcStart=l;
//int lastScopeStart=cmdArg.findRev("::",funcStart);
//int lastScopeEnd = lastScopeStart==-1 ? 0 : lastScopeStart+2;
//QCString scope=cmdArg.left(QMAX(lastScopeStart,0));
//QCString name=cmdArg.mid(lastScopeEnd,funcStart-lastScopeEnd);
QCString name=cmdArg.left(funcStart);
QCString args=cmdArg.right(l-funcStart);
// try if the link is to a member
MemberDef *md=0;
ClassDef *cd=0;
FileDef *fd=0;
NamespaceDef *nd=0;
GroupDef *gd=0;
PageInfo *pi=0;
bool found = getDefs(copyDocScope,name,args,md,cd,fd,nd,gd,FALSE,0,TRUE);
if (found && md)
{
*pDoc=md->documentation();
*pDef=md;
return TRUE;
}
int scopeOffset=copyDocScope.length();
int scopeOffset=copyDocScope.length();
do // for each scope
do // for each scope
{
{
int funcStart=cmdArg.find('(');
if (funcStart==-1) funcStart=l;
int lastScopeStart=cmdArg.findRev("::",funcStart);
int lastScopeEnd = lastScopeStart==-1 ? 0 : lastScopeStart+2;
QCString scope=cmdArg.left(QMAX(lastScopeStart,0));
QCString name=cmdArg.mid(lastScopeEnd,funcStart-lastScopeEnd);
QCString args=cmdArg.right(l-funcStart);
if (scope.isEmpty())
{
if (scopeOffset>0)
{
scope=copyDocScope.left(scopeOffset);
}
}
else
{
if (scopeOffset>0)
{
scope.prepend(copyDocScope.left(scopeOffset)+"::");
}
}
//printf("findDocsForMemberOrCompound: scope=`%s' name=`%s' arg=`%s'\n",scope.data(),name.data(),args.data());
// try if the link is to a member
MemberDef *md=0;
ClassDef *cd=0;
FileDef *fd=0;
NamespaceDef *nd=0;
GroupDef *gd=0;
PageInfo *pi=0;
bool found = getDefs(scope,name,args,md,cd,fd,nd,gd,FALSE,0,TRUE);
if (found && md)
{
*pDoc=md->documentation();
*pDef=md;
return TRUE;
}
QCString fullName=cmdArg;
QCString fullName=cmdArg;
if (scopeOffset>0)
if (scopeOffset>0)
{
{
fullName.prepend(copyDocScope.left(scopeOffset)+"::");
fullName.prepend(copyDocScope.left(scopeOffset)+"::");
}
}
//printf("Trying fullName=`%s'\n",fullName.data());
// try class, namespace, group, page, file reference
// try class, namespace, group, page, file reference
cd = Doxygen::classSDict[fullName];
cd = Doxygen::classSDict[fullName];
...
@@ -1071,7 +1065,7 @@ bool findDocsForMemberOrCompound(const char *commandName,
...
@@ -1071,7 +1065,7 @@ bool findDocsForMemberOrCompound(const char *commandName,
scopeOffset = copyDocScope.findRev("::",scopeOffset-1);
scopeOffset = copyDocScope.findRev("::",scopeOffset-1);
if (scopeOffset==-1) scopeOffset=0;
if (scopeOffset==-1) scopeOffset=0;
}
}
} while (scopeOffset>0);
} while (scopeOffset>
=
0);
return FALSE;
return FALSE;
...
@@ -1108,8 +1102,8 @@ FILE ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|("\""[^\n\"]+
...
@@ -1108,8 +1102,8 @@ FILE ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|("\""[^\n\"]+
ID [a-z_A-Z][a-z_A-Z0-9]*
ID [a-z_A-Z][a-z_A-Z0-9]*
SCOPENAME (({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID})
SCOPENAME (({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID})
SCOPEMASK {ID}?(("::"|"#")?(~)?{ID})+
SCOPEMASK {ID}?(("::"|"#")?(~)?{ID})+
URLCHAR [a-z_A-Z0-9\!\~\:\;\'\$\?\@\&\%\#\.\-\+\/\=
\(\)
]
URLCHAR [a-z_A-Z0-9\!\~\:\;\'\$\?\@\&\%\#\.\-\+\/\=]
URLMASK (
[a-z_A-Z][^\>\"\n]*{URLCHAR})|({URLCHAR}+)
URLMASK (
([a-z_A-Z][^\>\"\n]*{URLCHAR})|({URLCHAR}+))("("{URLCHAR}*")")?
NONTERM [\{\}\[\]\`\~\@\|\-\+\#\$\/\\\!\%\^\&\*()a-z_A-Z<>0-9\x80-\xff]
NONTERM [\{\}\[\]\`\~\@\|\-\+\#\$\/\\\!\%\^\&\*()a-z_A-Z<>0-9\x80-\xff]
WORD ({NONTERM}+([^\n\t ]*{NONTERM}+)?)|("\""[^\n\"]*"\"")
WORD ({NONTERM}+([^\n\t ]*{NONTERM}+)?)|("\""[^\n\"]*"\"")
ATTR ({B}+[^>\n]*)?
ATTR ({B}+[^>\n]*)?
...
@@ -2983,9 +2977,13 @@ void resolveCopyDocCommands(const char *scope,QCString &docString)
...
@@ -2983,9 +2977,13 @@ void resolveCopyDocCommands(const char *scope,QCString &docString)
void parseDoc(OutputDocInterface &od,const char *fileName,int startLine,
void parseDoc(OutputDocInterface &od,const char *fileName,int startLine,
const char *clName,MemberDef *md,const QCString &docStr)
const char *clName,MemberDef *md,const QCString &docStr)
{
{
strcpy(yyFileName,fileName);
yyLineNr = startLine;
QCString docString=docStr;
QCString docString=docStr;
resolveCopyDocCommands(clName,docString);
resolveCopyDocCommands(clName,docString);
yyLineNr = startLine;
//printf("parseDoc(file=`%s',line=%d)\n",fileName,startLine);
//printf("parseDoc(file=`%s',line=%d)\n",fileName,startLine);
initParser();
initParser();
initParseCodeContext();
initParseCodeContext();
...
@@ -2995,8 +2993,6 @@ void parseDoc(OutputDocInterface &od,const char *fileName,int startLine,
...
@@ -2995,8 +2993,6 @@ void parseDoc(OutputDocInterface &od,const char *fileName,int startLine,
hasParamCommand = FALSE;
hasParamCommand = FALSE;
paramsFound.setAutoDelete(FALSE);
paramsFound.setAutoDelete(FALSE);
paramsFound.clear();
paramsFound.clear();
strcpy(yyFileName,fileName);
yyLineNr = startLine;
parseDocument(od,docString);
parseDocument(od,docString);
if (md && hasParamCommand && Config_getBool("WARN_IF_UNDOCUMENTED"))
if (md && hasParamCommand && Config_getBool("WARN_IF_UNDOCUMENTED"))
...
...
src/doxygen.cpp
View file @
f7c4c021
...
@@ -5754,15 +5754,21 @@ static void resolveUserReferences()
...
@@ -5754,15 +5754,21 @@ static void resolveUserReferences()
si
->
fileName
=
si
->
definition
->
getOutputFileBase
().
copy
();
si
->
fileName
=
si
->
definition
->
getOutputFileBase
().
copy
();
}
}
}
}
// hack: the items of a todo/test list are all fragments from different files,
// hack: the items of a todo/test/bug list are all fragments from
// so the resulting section's all have the wrong file name (not from the
// different files, so the resulting section's all have the wrong file
// todo/test list, but from the file in which they are defined). We correct this
// name (not from the todo/test/bug list, but from the file in which they
// here by looking at the generated section labels!
// are defined). We correct this here by looking at the generated section
// labels!
if
(
si
->
label
.
left
(
5
)
==
"_todo"
||
si
->
label
.
left
(
5
)
==
"_test"
)
if
(
si
->
label
.
left
(
5
)
==
"_todo"
||
si
->
label
.
left
(
5
)
==
"_test"
)
{
{
si
->
fileName
=
si
->
label
.
mid
(
1
,
4
);
// extract "todo" or "test"
si
->
fileName
=
si
->
label
.
mid
(
1
,
4
);
// extract "todo" or "test"
si
->
generated
=
TRUE
;
si
->
generated
=
TRUE
;
}
}
else
if
(
si
->
label
.
left
(
4
)
==
"_bug"
)
{
si
->
fileName
=
"bug"
;
si
->
generated
=
TRUE
;
}
}
}
}
}
...
@@ -6774,11 +6780,11 @@ void readConfiguration(int argc, char **argv)
...
@@ -6774,11 +6780,11 @@ void readConfiguration(int argc, char **argv)
exit
(
1
);
exit
(
1
);
}
}
QCString
outputLanguage
=
Config_getEnum
(
"OUTPUT_LANGUAGE"
);
QCString
outputLanguage
=
Config_getEnum
(
"OUTPUT_LANGUAGE"
);
if
(
!
setTranslator
(
outputLanguage
))
if
(
!
setTranslator
(
outputLanguage
))
{
{
err
(
"Error: Output language %s not supported! Using English instead.
\n
"
,
outputLanguage
.
data
());
err
(
"Error: Output language %s not supported! Using English instead.
\n
"
,
outputLanguage
.
data
());
}
}
QFile
f
;
QFile
f
;
if
(
openOutputFile
(
argv
[
optind
+
1
],
f
))
if
(
openOutputFile
(
argv
[
optind
+
1
],
f
))
...
@@ -6820,11 +6826,11 @@ void readConfiguration(int argc, char **argv)
...
@@ -6820,11 +6826,11 @@ void readConfiguration(int argc, char **argv)
exit
(
1
);
exit
(
1
);
}
}
QCString
outputLanguage
=
Config_getEnum
(
"OUTPUT_LANGUAGE"
);
QCString
outputLanguage
=
Config_getEnum
(
"OUTPUT_LANGUAGE"
);
if
(
!
setTranslator
(
outputLanguage
))
if
(
!
setTranslator
(
outputLanguage
))
{
{
err
(
"Error: Output language %s not supported! Using English instead.
\n
"
,
outputLanguage
.
data
());
err
(
"Error: Output language %s not supported! Using English instead.
\n
"
,
outputLanguage
.
data
());
}
}
QFile
f
;
QFile
f
;
if
(
openOutputFile
(
argv
[
optind
+
1
],
f
))
if
(
openOutputFile
(
argv
[
optind
+
1
],
f
))
...
@@ -7158,7 +7164,7 @@ void parseInput()
...
@@ -7158,7 +7164,7 @@ void parseInput()
**************************************************************************/
**************************************************************************/
Entry
*
root
=
new
Entry
;
Entry
*
root
=
new
Entry
;
msg
(
"Reading tag files
\n
"
);
msg
(
"Reading
and parsing
tag files
\n
"
);
QStrList
&
tagFileList
=
Config_getList
(
"TAGFILES"
);
QStrList
&
tagFileList
=
Config_getList
(
"TAGFILES"
);
s
=
tagFileList
.
first
();
s
=
tagFileList
.
first
();
...
...
src/lang_cfg.h
View file @
f7c4c021
...
@@ -23,3 +23,4 @@
...
@@ -23,3 +23,4 @@
#define LANG_UA
#define LANG_UA
#define LANG_GR
#define LANG_GR
#define LANG_TW
#define LANG_TW
#define LANG_SR
src/language.cpp
View file @
f7c4c021
...
@@ -97,6 +97,9 @@
...
@@ -97,6 +97,9 @@
#ifdef LANG_GR
#ifdef LANG_GR
#include "translator_gr.h"
#include "translator_gr.h"
#endif
#endif
#ifdef LANG_SR
#include "translator_sr.h"
#endif
//#ifdef LANG_JS
//#ifdef LANG_JS
//#include "translator_js.h"
//#include "translator_js.h"
//#endif
//#endif
...
@@ -154,6 +157,10 @@ bool setTranslator(const char *langName)
...
@@ -154,6 +157,10 @@ bool setTranslator(const char *langName)
{
{
theTranslator
=
new
TranslatorJapanese
;
theTranslator
=
new
TranslatorJapanese
;
}
}
else
if
(
L_EQUAL
(
"japanese-en"
))
{
theTranslator
=
new
TranslatorJapaneseEn
;
}
#endif
#endif
#ifdef LANG_ES
#ifdef LANG_ES
else
if
(
L_EQUAL
(
"spanish"
))
else
if
(
L_EQUAL
(
"spanish"
))
...
@@ -263,6 +270,12 @@ bool setTranslator(const char *langName)
...
@@ -263,6 +270,12 @@ bool setTranslator(const char *langName)
theTranslator
=
new
TranslatorGreek
;
theTranslator
=
new
TranslatorGreek
;
}
}
#endif
#endif
#ifdef LANG_SR
else
if
(
L_EQUAL
(
"serbian"
))
{
theTranslator
=
new
TranslatorSerbian
;
}
#endif
// else if (L_EQUAL("japanese-sjis"))
// else if (L_EQUAL("japanese-sjis"))
// {
// {
// theTranslator=new TranslatorJapaneseSjis;
// theTranslator=new TranslatorJapaneseSjis;
...
...
src/latexgen.cpp
View file @
f7c4c021
...
@@ -152,64 +152,72 @@ void LatexGenerator::init()
...
@@ -152,64 +152,72 @@ void LatexGenerator::init()
QCString
mkidx_command
=
Config_getString
(
"MAKEINDEX_CMD_NAME"
);
QCString
mkidx_command
=
Config_getString
(
"MAKEINDEX_CMD_NAME"
);
// end insertion by KONNO Akihisa <konno@researchers.jp> 2002-03-05
// end insertion by KONNO Akihisa <konno@researchers.jp> 2002-03-05
QTextStream
t
(
&
file
);
QTextStream
t
(
&
file
);
t
<<
"all: refman.dvi"
<<
endl
if
(
!
Config_getBool
(
"USE_PDFLATEX"
))
// use plain old latex
<<
endl
{
<<
"ps: refman.ps"
<<
endl
t
<<
"all: refman.dvi"
<<
endl
<<
endl
<<
endl
<<
"pdf: refman.pdf"
<<
endl
<<
"ps: refman.ps"
<<
endl
<<
endl
<<
endl
<<
"ps_2on1: refman_2on1.ps"
<<
endl
<<
"pdf: refman.pdf"
<<
endl
<<
endl
<<
endl
<<
"pdf_2on1: refman_2on1.pdf"
<<
endl
<<
"ps_2on1: refman_2on1.ps"
<<
endl
<<
endl
<<
endl
<<
"refman.ps: refman.dvi"
<<
endl
<<
"pdf_2on1: refman_2on1.pdf"
<<
endl
<<
"
\t
dvips -o refman.ps refman.dvi"
<<
endl
<<
endl
<<
endl
;
<<
"refman.ps: refman.dvi"
<<
endl
if
(
Config_getBool
(
"USE_PDFLATEX"
))
// use pdflatex instead of latex
<<
"
\t
dvips -o refman.ps refman.dvi"
<<
endl
{
<<
endl
;
t
<<
"refman.pdf: refman.tex"
<<
endl
;
t
<<
"refman.pdf: refman.ps"
<<
endl
;
t
<<
"
\t
pdflatex refman.tex"
<<
endl
;
t
<<
"
\t
makeindex refman.idx"
<<
endl
;
t
<<
"
\t
pdflatex refman.tex"
<<
endl
<<
endl
;
}
else
// otherwise use ps2pdf: not as nice :(
{
t
<<
"refman.pdf: refman.ps"
<<
endl
;
#if defined(_MSC_VER)
#if defined(_MSC_VER)
// ps2pdf.bat does not work properly from a makefile using GNU make!
// ps2pdf.bat does not work properly from a makefile using GNU make!
t
<<
"
\t
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "
t
<<
"
\t
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "
"-sOutputFile=refman.pdf -c save pop -f refman.ps"
<<
endl
<<
endl
;
"-sOutputFile=refman.pdf -c save pop -f refman.ps"
<<
endl
<<
endl
;
#else
#else
t
<<
"
\t
ps2pdf refman.ps refman.pdf"
<<
endl
<<
endl
;
t
<<
"
\t
ps2pdf refman.ps refman.pdf"
<<
endl
<<
endl
;
#endif
#endif
}
t
<<
"refman.dvi: refman.tex doxygen.sty"
<<
endl
<<
"
\t
echo
\"
Running latex...
\"
"
<<
endl
t
<<
"refman_2on1.ps: refman.ps"
<<
endl
<<
"
\t
"
<<
latex_command
<<
" refman.tex"
<<
endl
<<
"
\t
psnup -2 refman.ps >refman_2on1.ps"
<<
endl
<<
"
\t
echo
\"
Running makeindex...
\"
"
<<
endl
<<
endl
<<
"
\t
"
<<
mkidx_command
<<
" refman.idx"
<<
endl
<<
"refman_2on1.pdf: refman_2on1.ps"
<<
endl
<<
"
\t
echo
\"
Rerunning latex....
\"
"
<<
endl
<<
"
\t
"
<<
latex_command
<<
" refman.tex"
<<
endl
<<
"
\t
latex_count=5 ;
\\
"
<<
endl
<<
"
\t
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;
\\
"
<<
endl
<<
"
\t
do
\\
"
<<
endl
<<
"
\t
echo
\"
Rerunning latex....
\"
;
\\
"
<<
endl
<<
"
\t
"
<<
latex_command
<<
" refman.tex ;
\\
"
<<
endl
<<
"
\t
latex_count=`expr $$latex_count - 1` ;
\\
"
<<
endl
<<
"
\t
done"
<<
endl
<<
endl
<<
"refman_2on1.ps: refman.ps"
<<
endl
<<
"
\t
psnup -2 refman.ps >refman_2on1.ps"
<<
endl
<<
endl
<<
"refman_2on1.pdf: refman_2on1.ps"
<<
endl
#if defined(_MSC_VER)
#if defined(_MSC_VER)
// ps2pdf.bat does not work properly from a makefile using GNU make!
// ps2pdf.bat does not work properly from a makefile using GNU make!
<<
"
\t
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "
<<
"
\t
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "
"-sOutputFile=refman_2on1.pdf -c save pop -f refman_2on1.ps"
<<
endl
"-sOutputFile=refman_2on1.pdf -c save pop -f refman_2on1.ps"
<<
endl
#else
#else
<<
"
\t
ps2pdf refman_2on1.ps refman_2on1.pdf"
<<
endl
<<
"
\t
ps2pdf refman_2on1.ps refman_2on1.pdf"
<<
endl
;
#endif
#endif
<<
endl
}
<<
"refman.dvi: refman.tex doxygen.sty"
<<
endl
else
// use pdflatex for higher quality output
<<
"
\t
echo
\"
Running latex...
\"
"
<<
endl
{
<<
"
\t
"
<<
latex_command
<<
" refman.tex"
<<
endl
t
<<
"all: refman.pdf"
<<
endl
<<
endl
;
<<
"
\t
echo
\"
Running makeindex...
\"
"
<<
endl
t
<<
"refman.pdf: refman.tex"
<<
endl
;
<<
"
\t
"
<<
mkidx_command
<<
" refman.idx"
<<
endl
t
<<
"
\t
pdflatex refman.tex"
<<
endl
;
<<
"
\t
echo
\"
Rerunning latex....
\"
"
<<
endl
t
<<
"
\t
makeindex refman.idx"
<<
endl
;
<<
"
\t
"
<<
latex_command
<<
" refman.tex"
<<
endl
t
<<
"
\t
pdflatex refman.tex"
<<
endl
<<
endl
<<
"
\t
latex_count=5 ;
\\
"
<<
endl
<<
"
\t
latex_count=5 ;
\\
"
<<
endl
<<
"
\t
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;
\\
"
<<
endl
<<
"
\t
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;
\\
"
<<
endl
<<
"
\t
do
\\
"
<<
endl
<<
"
\t
do
\\
"
<<
endl
<<
"
\t
echo
\"
Rerunning latex....
\"
;
\\
"
<<
endl
<<
"
\t
echo
\"
Rerunning latex....
\"
;
\\
"
<<
endl
<<
"
\t
"
<<
latex_command
<<
" refman.tex ;
\\
"
<<
endl
<<
"
\t
pdflatex refman.tex ;
\\
"
<<
endl
<<
"
\t
latex_count=`expr $$latex_count - 1` ;
\\
"
<<
endl
<<
"
\t
latex_count=`expr $$latex_count - 1` ;
\\
"
<<
endl
<<
"
\t
done"
<<
endl
<<
endl
<<
"
\t
done"
<<
endl
<<
endl
;
}
t
<<
endl
<<
"clean:"
<<
endl
<<
"clean:"
<<
endl
<<
"
\t
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out"
<<
endl
;
<<
"
\t
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out"
<<
endl
;
}
}
...
@@ -1033,7 +1041,7 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name)
...
@@ -1033,7 +1041,7 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name)
{
{
t
<<
"
\\
label{"
<<
fileName
<<
"}
\\
index{"
t
<<
"
\\
label{"
<<
fileName
<<
"}
\\
index{"
<<
name
<<
"@{"
;
<<
name
<<
"@{"
;
docify
(
name
);
escapeMakeIndexChars
(
this
,
t
,
name
);
t
<<
"}}"
<<
endl
;
t
<<
"}}"
<<
endl
;
}
}
if
(
Config_getBool
(
"PDF_HYPERLINKS"
)
&&
fileName
)
if
(
Config_getBool
(
"PDF_HYPERLINKS"
)
&&
fileName
)
...
@@ -1183,7 +1191,7 @@ void LatexGenerator::addIndexItem(const char *s1,const char *s2)
...
@@ -1183,7 +1191,7 @@ void LatexGenerator::addIndexItem(const char *s1,const char *s2)
if
(
s2
)
if
(
s2
)
{
{
t
<<
"!"
<<
escapeLabelName
(
s2
)
<<
"@{"
;
t
<<
"!"
<<
escapeLabelName
(
s2
)
<<
"@{"
;
docify
(
s2
);
escapeMakeIndexChars
(
this
,
t
,
s2
);
t
<<
"}"
;
t
<<
"}"
;
}
}
t
<<
"}"
;
t
<<
"}"
;
...
@@ -1389,7 +1397,6 @@ void LatexGenerator::docify(const char *str)
...
@@ -1389,7 +1397,6 @@ void LatexGenerator::docify(const char *str)
{
{
static
bool
isCzech
=
theTranslator
->
idLanguage
()
==
"czech"
;
static
bool
isCzech
=
theTranslator
->
idLanguage
()
==
"czech"
;
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
;
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
;
static
bool
isJapaneseSjis
=
theTranslator
->
idLanguage
()
==
"japanese-sjis"
;
static
bool
isKorean
=
theTranslator
->
idLanguage
()
==
"korean"
;
static
bool
isKorean
=
theTranslator
->
idLanguage
()
==
"korean"
;
static
bool
isRussian
=
theTranslator
->
idLanguage
()
==
"russian"
;
static
bool
isRussian
=
theTranslator
->
idLanguage
()
==
"russian"
;
static
bool
isUkrainian
=
theTranslator
->
idLanguage
()
==
"ukrainian"
;
static
bool
isUkrainian
=
theTranslator
->
idLanguage
()
==
"ukrainian"
;
...
@@ -1404,7 +1411,27 @@ void LatexGenerator::docify(const char *str)
...
@@ -1404,7 +1411,27 @@ void LatexGenerator::docify(const char *str)
unsigned
char
pc
=
'\0'
;
unsigned
char
pc
=
'\0'
;
while
(
*
p
)
while
(
*
p
)
{
{
static
bool
MultiByte
=
FALSE
;
c
=*
p
++
;
c
=*
p
++
;
if
(
isJapanese
)
{
if
(
MultiByte
)
{
t
<<
(
char
)
c
;
MultiByte
=
FALSE
;
pc
=
c
;
continue
;
}
if
(
c
>=
0x80
)
{
MultiByte
=
TRUE
;
t
<<
(
char
)
c
;
pc
=
c
;
continue
;
}
}
if
(
insidePre
)
if
(
insidePre
)
{
{
switch
(
c
)
switch
(
c
)
...
@@ -1462,7 +1489,7 @@ void LatexGenerator::docify(const char *str)
...
@@ -1462,7 +1489,7 @@ void LatexGenerator::docify(const char *str)
default
:
default
:
// Some languages uses wide characters
// Some languages uses wide characters
if
(
isJapanese
||
is
JapaneseSjis
||
is
Korean
||
isChinese
)
if
(
isJapanese
||
isKorean
||
isChinese
)
{
{
if
(
c
>=
128
)
if
(
c
>=
128
)
{
{
...
@@ -1600,6 +1627,8 @@ void LatexGenerator::docify(const char *str)
...
@@ -1600,6 +1627,8 @@ void LatexGenerator::docify(const char *str)
void
LatexGenerator
::
codify
(
const
char
*
str
)
void
LatexGenerator
::
codify
(
const
char
*
str
)
{
{
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
;
if
(
str
)
if
(
str
)
{
{
const
char
*
p
=
str
;
const
char
*
p
=
str
;
...
@@ -1608,7 +1637,25 @@ void LatexGenerator::codify(const char *str)
...
@@ -1608,7 +1637,25 @@ void LatexGenerator::codify(const char *str)
int
&
tabSize
=
Config_getInt
(
"TAB_SIZE"
);
int
&
tabSize
=
Config_getInt
(
"TAB_SIZE"
);
while
(
*
p
)
while
(
*
p
)
{
{
static
bool
MultiByte
=
FALSE
;
c
=*
p
++
;
c
=*
p
++
;
if
(
isJapanese
)
{
if
(
MultiByte
)
{
t
<<
(
char
)
c
;
MultiByte
=
FALSE
;
continue
;
}
if
(
c
<
0
)
// char in range [0x80..0xff]
{
t
<<
(
char
)
c
;
MultiByte
=
TRUE
;
continue
;
}
}
switch
(
c
)
switch
(
c
)
{
{
case
0x0c
:
break
;
// remove ^L
case
0x0c
:
break
;
// remove ^L
...
...
src/pre.l
View file @
f7c4c021
...
@@ -105,6 +105,7 @@ static void setFileName(const char *name)
...
@@ -105,6 +105,7 @@ static void setFileName(const char *name)
bool ambig;
bool ambig;
g_yyFileName=name;
g_yyFileName=name;
g_yyFileDef=findFileDef(Doxygen::inputNameDict,g_yyFileName,ambig);
g_yyFileDef=findFileDef(Doxygen::inputNameDict,g_yyFileName,ambig);
if (g_yyFileDef && g_yyFileDef->isReference()) g_yyFileDef=0;
}
}
static void incrLevel()
static void incrLevel()
...
@@ -164,6 +165,7 @@ static Define *isDefined(const char *name)
...
@@ -164,6 +165,7 @@ static Define *isDefined(const char *name)
static FILE *checkAndOpenFile(const QCString &absName)
static FILE *checkAndOpenFile(const QCString &absName)
{
{
FILE *f = 0;
FILE *f = 0;
//printf("checkAndOpenFile(%s)\n",absName.data());
QFileInfo fi(absName);
QFileInfo fi(absName);
if (fi.exists() && fi.isFile())
if (fi.exists() && fi.isFile())
{
{
...
@@ -942,6 +944,7 @@ static void readIncludeFile(const QCString &inc)
...
@@ -942,6 +944,7 @@ static void readIncludeFile(const QCString &inc)
//printf("Searching for `%s'\n",incFileName.data());
//printf("Searching for `%s'\n",incFileName.data());
if ((f=findFile(incFileName,localInclude))) // see if the include file can be found
if ((f=findFile(incFileName,localInclude))) // see if the include file can be found
{
{
//printf("Found include file!\n");
if (Debug::isFlagSet(Debug::Preprocessor))
if (Debug::isFlagSet(Debug::Preprocessor))
{
{
for (i=0;i<g_includeStack.count();i++) msg(" ");
for (i=0;i<g_includeStack.count();i++) msg(" ");
...
@@ -983,6 +986,7 @@ static void readIncludeFile(const QCString &inc)
...
@@ -983,6 +986,7 @@ static void readIncludeFile(const QCString &inc)
{
{
bool ambig;
bool ambig;
FileDef *fd = findFileDef(Doxygen::inputNameDict,incFileName,ambig);
FileDef *fd = findFileDef(Doxygen::inputNameDict,incFileName,ambig);
//printf("findFileDef(%s)=%p\n",incFileName.data(),fd);
// add include dependency to the file in which the #include was found
// add include dependency to the file in which the #include was found
oldFileDef->addIncludeDependency(fd,incFileName,localInclude);
oldFileDef->addIncludeDependency(fd,incFileName,localInclude);
// add included by dependency
// add included by dependency
...
...
src/scanner.l
View file @
f7c4c021
This diff is collapsed.
Click to expand it.
src/tagreader.cpp
View file @
f7c4c021
...
@@ -1159,15 +1159,19 @@ void TagFileParser::addIncludes()
...
@@ -1159,15 +1159,19 @@ void TagFileParser::addIncludes()
TagFileInfo
*
tfi
=
m_tagFileFiles
.
first
();
TagFileInfo
*
tfi
=
m_tagFileFiles
.
first
();
while
(
tfi
)
while
(
tfi
)
{
{
//printf("tag file tagName=%s path=%s name=%s\n",m_tagName.data(),tfi->path.data(),tfi->name.data());
FileName
*
fn
=
Doxygen
::
inputNameDict
->
find
(
tfi
->
name
);
FileName
*
fn
=
Doxygen
::
inputNameDict
->
find
(
tfi
->
name
);
if
(
fn
)
if
(
fn
)
{
{
//printf("found\n");
FileNameIterator
fni
(
*
fn
);
FileNameIterator
fni
(
*
fn
);
FileDef
*
fd
;
FileDef
*
fd
;
for
(;(
fd
=
fni
.
current
());
++
fni
)
for
(;(
fd
=
fni
.
current
());
++
fni
)
{
{
//printf("input file path=%s name=%s\n",fd->getPath().data(),fd->name().data());
if
(
fd
->
getPath
()
==
QCString
(
m_tagName
+
":"
+
tfi
->
path
))
if
(
fd
->
getPath
()
==
QCString
(
m_tagName
+
":"
+
tfi
->
path
))
{
{
//printf("found\n");
QListIterator
<
TagIncludeInfo
>
mii
(
tfi
->
includes
);
QListIterator
<
TagIncludeInfo
>
mii
(
tfi
->
includes
);
TagIncludeInfo
*
ii
;
TagIncludeInfo
*
ii
;
for
(;(
ii
=
mii
.
current
());
++
mii
)
for
(;(
ii
=
mii
.
current
());
++
mii
)
...
@@ -1213,3 +1217,4 @@ void parseTagFile(Entry *root,const char *fullName,const char *tagName)
...
@@ -1213,3 +1217,4 @@ void parseTagFile(Entry *root,const char *fullName,const char *tagName)
handler
.
addIncludes
();
handler
.
addIncludes
();
}
}
src/translator_jp.h
View file @
f7c4c021
...
@@ -29,6 +29,38 @@
...
@@ -29,6 +29,38 @@
#ifndef TRANSLATOR_JP_H
#ifndef TRANSLATOR_JP_H
#define TRANSLATOR_JP_H
#define TRANSLATOR_JP_H
class
TranslatorJapaneseEn
:
public
TranslatorEnglish
{
public
:
virtual
QCString
idLanguage
()
{
return
"japanese"
;
}
virtual
QCString
latexLanguageSupportCommand
()
{
return
""
;
}
/*! returns the name of the package that is included by LaTeX */
virtual
QCString
idLanguageCharset
()
{
#ifdef _WIN32
return
"Shift_JIS"
;
#else
return
"euc-jp"
;
#endif
}
virtual
QCString
trRTFansicp
()
{
return
"932"
;
}
/*! Used as ansicpg for RTF fcharset
* \see trRTFansicp() for a table of possible values.
*/
virtual
QCString
trRTFCharSet
()
{
return
"128"
;
}
};
class
TranslatorJapanese
:
public
Translator
class
TranslatorJapanese
:
public
Translator
{
{
private
:
private
:
...
@@ -64,7 +96,7 @@ class TranslatorJapanese : public Translator
...
@@ -64,7 +96,7 @@ class TranslatorJapanese : public Translator
/*! subscript for the related functions. */
/*! subscript for the related functions. */
virtual
QCString
trRelatedSubscript
()
virtual
QCString
trRelatedSubscript
()
{
return
decode
(
"(これらはメ
ンバ関数
でないことに注意)"
);
}
{
return
decode
(
"(これらはメ
ソッド
でないことに注意)"
);
}
/*! header that is put before the detailed description of files, classes and namespaces. */
/*! header that is put before the detailed description of files, classes and namespaces. */
virtual
QCString
trDetailedDescription
()
virtual
QCString
trDetailedDescription
()
...
@@ -72,15 +104,15 @@ class TranslatorJapanese : public Translator
...
@@ -72,15 +104,15 @@ class TranslatorJapanese : public Translator
/*! header that is put before the list of typedefs. */
/*! header that is put before the list of typedefs. */
virtual
QCString
trMemberTypedefDocumentation
()
virtual
QCString
trMemberTypedefDocumentation
()
{
return
decode
(
"Typedef
メンバ
の解説"
);
}
{
return
decode
(
"Typedef の解説"
);
}
/*! header that is put before the list of enumerations. */
/*! header that is put before the list of enumerations. */
virtual
QCString
trMemberEnumerationDocumentation
()
virtual
QCString
trMemberEnumerationDocumentation
()
{
return
decode
(
"Enum
メンバ
の解説"
);
}
{
return
decode
(
"Enum の解説"
);
}
/*! header that is put before the list of member functions. */
/*! header that is put before the list of member functions. */
virtual
QCString
trMemberFunctionDocumentation
()
virtual
QCString
trMemberFunctionDocumentation
()
{
return
decode
(
"
関数メンバ
の解説"
);
}
{
return
decode
(
"
メソッド
の解説"
);
}
/*! header that is put before the list of member attributes. */
/*! header that is put before the list of member attributes. */
virtual
QCString
trMemberDataDocumentation
()
virtual
QCString
trMemberDataDocumentation
()
...
@@ -91,7 +123,7 @@ class TranslatorJapanese : public Translator
...
@@ -91,7 +123,7 @@ class TranslatorJapanese : public Translator
}
}
else
else
{
{
return
decode
(
"
メンバ
の解説"
);
return
decode
(
"
変数
の解説"
);
}
}
}
}
...
@@ -258,7 +290,7 @@ class TranslatorJapanese : public Translator
...
@@ -258,7 +290,7 @@ class TranslatorJapanese : public Translator
QCString
result
=
decode
(
"これは"
);
QCString
result
=
decode
(
"これは"
);
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
{
result
+=
decode
(
"関数、変数、マクロ、
列挙型、型定義
の"
);
result
+=
decode
(
"関数、変数、マクロ、
Enum、Typedef
の"
);
}
}
else
else
{
{
...
@@ -389,13 +421,13 @@ class TranslatorJapanese : public Translator
...
@@ -389,13 +421,13 @@ class TranslatorJapanese : public Translator
* list of typedefs
* list of typedefs
*/
*/
virtual
QCString
trTypedefs
()
virtual
QCString
trTypedefs
()
{
return
decode
(
"
型定義
"
);
}
{
return
decode
(
"
Typedef
"
);
}
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of enumerations
* list of enumerations
*/
*/
virtual
QCString
trEnumerations
()
virtual
QCString
trEnumerations
()
{
return
decode
(
"
列挙型
"
);
}
{
return
decode
(
"
Enum
"
);
}
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of (global) functions
* list of (global) functions
...
@@ -413,7 +445,7 @@ class TranslatorJapanese : public Translator
...
@@ -413,7 +445,7 @@ class TranslatorJapanese : public Translator
* list of (global) variables
* list of (global) variables
*/
*/
virtual
QCString
trEnumerationValues
()
virtual
QCString
trEnumerationValues
()
{
return
decode
(
"
列挙
値"
);
}
{
return
decode
(
"
Enum
値"
);
}
/*! This is used in the documentation of a file before the list of
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
* documentation blocks for defines
*/
*/
...
@@ -430,19 +462,19 @@ class TranslatorJapanese : public Translator
...
@@ -430,19 +462,19 @@ class TranslatorJapanese : public Translator
* of documentation blocks for typedefs
* of documentation blocks for typedefs
*/
*/
virtual
QCString
trTypedefDocumentation
()
virtual
QCString
trTypedefDocumentation
()
{
return
decode
(
"
型定義
の解説"
);
}
{
return
decode
(
"
Typedef
の解説"
);
}
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types
* of documentation blocks for enumeration types
*/
*/
virtual
QCString
trEnumerationTypeDocumentation
()
virtual
QCString
trEnumerationTypeDocumentation
()
{
return
decode
(
"
列挙型
の解説"
);
}
{
return
decode
(
"
Enum
の解説"
);
}
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
* of documentation blocks for enumeration values
*/
*/
virtual
QCString
trEnumerationValueDocumentation
()
virtual
QCString
trEnumerationValueDocumentation
()
{
return
decode
(
"
列挙
値の解説"
);
}
{
return
decode
(
"
Enum
値の解説"
);
}
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
* of documentation blocks for functions
...
@@ -609,25 +641,25 @@ class TranslatorJapanese : public Translator
...
@@ -609,25 +641,25 @@ class TranslatorJapanese : public Translator
/* these are for the member sections of a class, struct or union */
/* these are for the member sections of a class, struct or union */
virtual
QCString
trPublicMembers
()
virtual
QCString
trPublicMembers
()
{
return
decode
(
"Public メ
ンバ
"
);
}
{
return
decode
(
"Public メ
ソッド
"
);
}
virtual
QCString
trPublicSlots
()
virtual
QCString
trPublicSlots
()
{
return
decode
(
"Public スロット"
);
}
{
return
decode
(
"Public スロット"
);
}
virtual
QCString
trSignals
()
virtual
QCString
trSignals
()
{
return
decode
(
"シグナル"
);
}
{
return
decode
(
"シグナル"
);
}
virtual
QCString
trStaticPublicMembers
()
virtual
QCString
trStaticPublicMembers
()
{
return
decode
(
"Static Public メ
ンバ
"
);
}
{
return
decode
(
"Static Public メ
ソッド
"
);
}
virtual
QCString
trProtectedMembers
()
virtual
QCString
trProtectedMembers
()
{
return
decode
(
"Protected メ
ンバ
"
);
}
{
return
decode
(
"Protected メ
ソッド
"
);
}
virtual
QCString
trProtectedSlots
()
virtual
QCString
trProtectedSlots
()
{
return
decode
(
"Protected スロット"
);
}
{
return
decode
(
"Protected スロット"
);
}
virtual
QCString
trStaticProtectedMembers
()
virtual
QCString
trStaticProtectedMembers
()
{
return
decode
(
"Static Protected メ
ンバ
"
);
}
{
return
decode
(
"Static Protected メ
ソッド
"
);
}
virtual
QCString
trPrivateMembers
()
virtual
QCString
trPrivateMembers
()
{
return
decode
(
"Private メ
ンバ
"
);
}
{
return
decode
(
"Private メ
ソッド
"
);
}
virtual
QCString
trPrivateSlots
()
virtual
QCString
trPrivateSlots
()
{
return
decode
(
"Private スロット"
);
}
{
return
decode
(
"Private スロット"
);
}
virtual
QCString
trStaticPrivateMembers
()
virtual
QCString
trStaticPrivateMembers
()
{
return
decode
(
"Static Private メ
ンバ
"
);
}
{
return
decode
(
"Static Private メ
ソッド
"
);
}
/*! this function is used to produce a comma-separated list of items.
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
* use generateMarker(i) to indicate where item i should be put.
...
@@ -880,22 +912,22 @@ class TranslatorJapanese : public Translator
...
@@ -880,22 +912,22 @@ class TranslatorJapanese : public Translator
}
}
virtual
QCString
trPublicTypes
()
virtual
QCString
trPublicTypes
()
{
{
return
decode
(
"
公開
型"
);
return
decode
(
"
Public
型"
);
}
}
virtual
QCString
trPublicAttribs
()
virtual
QCString
trPublicAttribs
()
{
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
{
return
decode
(
"
データフィールド
"
);
return
decode
(
"
変数
"
);
}
}
else
else
{
{
return
decode
(
"Public
属性
"
);
return
decode
(
"Public
変数
"
);
}
}
}
}
virtual
QCString
trStaticPublicAttribs
()
virtual
QCString
trStaticPublicAttribs
()
{
{
return
decode
(
"Static Public
属性
"
);
return
decode
(
"Static Public
変数
"
);
}
}
virtual
QCString
trProtectedTypes
()
virtual
QCString
trProtectedTypes
()
{
{
...
@@ -903,11 +935,11 @@ class TranslatorJapanese : public Translator
...
@@ -903,11 +935,11 @@ class TranslatorJapanese : public Translator
}
}
virtual
QCString
trProtectedAttribs
()
virtual
QCString
trProtectedAttribs
()
{
{
return
decode
(
"Protected
属性
"
);
return
decode
(
"Protected
変数
"
);
}
}
virtual
QCString
trStaticProtectedAttribs
()
virtual
QCString
trStaticProtectedAttribs
()
{
{
return
decode
(
"Static Protected
属性
"
);
return
decode
(
"Static Protected
変数
"
);
}
}
virtual
QCString
trPrivateTypes
()
virtual
QCString
trPrivateTypes
()
{
{
...
@@ -915,11 +947,11 @@ class TranslatorJapanese : public Translator
...
@@ -915,11 +947,11 @@ class TranslatorJapanese : public Translator
}
}
virtual
QCString
trPrivateAttribs
()
virtual
QCString
trPrivateAttribs
()
{
{
return
decode
(
"Private
属性
"
);
return
decode
(
"Private
変数
"
);
}
}
virtual
QCString
trStaticPrivateAttribs
()
virtual
QCString
trStaticPrivateAttribs
()
{
{
return
decode
(
"Static Private
属性
"
);
return
decode
(
"Static Private
変数
"
);
}
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
...
@@ -1334,4 +1366,5 @@ class TranslatorJapanese : public Translator
...
@@ -1334,4 +1366,5 @@ class TranslatorJapanese : public Translator
}
}
};
};
#endif
#endif
src/translator_sr.h
0 → 100644
View file @
f7c4c021
This diff is collapsed.
Click to expand it.
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