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
aee36e26
Commit
aee36e26
authored
Jul 17, 2003
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.3.2-20030717
parent
5444ff60
Changes
22
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
1245 additions
and
287 deletions
+1245
-287
Doxyfile
Doxyfile
+1
-1
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
maintainers.txt
doc/maintainers.txt
+1
-0
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
commentcnv.l
src/commentcnv.l
+89
-20
compound.xsd
src/compound.xsd
+351
-1
compound_xsd.h
src/compound_xsd.h
+351
-1
definition.h
src/definition.h
+1
-1
doctokenizer.l
src/doctokenizer.l
+28
-21
dot.cpp
src/dot.cpp
+3
-3
doxygen.cpp
src/doxygen.cpp
+7
-7
entry.h
src/entry.h
+1
-1
index.xsd
src/index.xsd
+3
-1
index_xsd.h
src/index_xsd.h
+3
-1
memberdef.cpp
src/memberdef.cpp
+4
-12
scanner.l
src/scanner.l
+33
-31
translator_jp.h
src/translator_jp.h
+59
-4
translator_tw.h
src/translator_tw.h
+233
-134
util.h
src/util.h
+1
-1
xmlgen.cpp
src/xmlgen.cpp
+70
-41
No files found.
Doxyfile
View file @
aee36e26
...
...
@@ -169,7 +169,7 @@ PERL_PATH = /usr/bin/perl
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
HAVE_DOT =
YES
HAVE_DOT =
NO
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
TEMPLATE_RELATIONS = YES
...
...
INSTALL
View file @
aee36e26
DOXYGEN Version 1.3.2-200307
08
DOXYGEN Version 1.3.2-200307
17
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
08
July 2003)
Dimitri van Heesch (
17
July 2003)
README
View file @
aee36e26
DOXYGEN Version 1.3.2_200307
08
DOXYGEN Version 1.3.2_200307
17
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) (
08
July 2003)
Dimitri van Heesch (dimitri@stack.nl) (
17
July 2003)
VERSION
View file @
aee36e26
1.3.2-200307
08
1.3.2-200307
17
doc/maintainers.txt
View file @
aee36e26
...
...
@@ -12,6 +12,7 @@ Wei Liu: liuwei@asiainfo.com
Wang Weihan: wangweihan@capinfo.com.cn
ChineseTraditional
Daniel YC Lin: daniel@twpda.com
Gary Lee: garylee@ecosine.com.tw
Croatian
...
...
packages/rpm/doxygen.spec
View file @
aee36e26
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3.2_200307
08
Version: 1.3.2_200307
17
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
...
...
src/commentcnv.l
View file @
aee36e26
...
...
@@ -26,12 +26,15 @@
#include "debug.h"
#include "message.h"
#include "config.h"
#include "doxygen.h"
static BufStr *g_inBuf;
static BufStr *g_outBuf;
static int g_inBufPos;
static int g_col;
static int g_blockHeadCol;
static bool g_mlBrief;
static int g_readLineCtx;
static void replaceCommentMarker(const char *s,int len)
{
...
...
@@ -105,18 +108,7 @@ static int yyread(char *buf,int max_size)
return bytesToCopy;
}
#define replaceComment(offset) \
int i=computeIndent(&yytext[offset]); \
if (i==g_blockHeadCol) \
{ \
replaceCommentMarker(yytext,yyleng); \
} \
else \
{ \
copyToOutput(" */",3); \
int i;for (i=yyleng-1;i>=0;i--) unput(yytext[i]); \
BEGIN(Scan); \
} \
void replaceComment(int offset);
%}
...
...
@@ -127,6 +119,7 @@ static int yyread(char *buf,int max_size)
%x SComment
%x CComment
%x Verbatim
%x ReadLine
%%
...
...
@@ -141,6 +134,7 @@ static int yyread(char *buf,int max_size)
copyToOutput(yytext,yyleng);
}
<Scan>("//!"|"///").*/\n[ \t]*"//"[\/!][^\/] { /* start C++ style special comment block */
if (g_mlBrief) REJECT; // bail out if we do not need to convert
int i=3;
if (yytext[2]=='/')
{
...
...
@@ -152,14 +146,17 @@ static int yyread(char *buf,int max_size)
BEGIN(SComment);
}
<Scan>"//##Documentation".*/\n { /* Start of Rational Rose ANSI C++ comment block */
if (g_mlBrief) REJECT;
int i=17; //=strlen("//##Documentation");
g_blockHeadCol=g_col;
copyToOutput("/**",3);
copyToOutput(yytext+i,yyleng-i);
BEGIN(SComment);
}
<Scan>"//".*\n { /* one line C++ comment */
<Scan>"//"
/
.*\n { /* one line C++ comment */
copyToOutput(yytext,yyleng);
g_readLineCtx=YY_START;
BEGIN(ReadLine);
}
<Scan>"/*" { /* start of a C comment */
copyToOutput(yytext,yyleng);
...
...
@@ -198,7 +195,7 @@ static int yyread(char *buf,int max_size)
<SkipString>\n { /* new line inside string (illegal for some compilers) */
copyToOutput(yytext,yyleng);
}
<CComment>[^*\n]* { /* anything that is not a '*' */
<CComment>[^
\\@
*\n]* { /* anything that is not a '*' */
copyToOutput(yytext,yyleng);
}
<CComment>"*"+[^*/\n]* { /* stars without slashes */
...
...
@@ -211,44 +208,116 @@ static int yyread(char *buf,int max_size)
copyToOutput(yytext,yyleng);
BEGIN(Scan);
}
<CComment>[\\@][a-z_A-Z][a-z_A-Z0-9]* { // expand alias
QCString *pValue=Doxygen::aliasDict[yytext+1];
if (pValue)
{
copyToOutput(pValue->data(),pValue->length());
}
else
{
copyToOutput(yytext,yyleng);
}
}
<CComment>. {
copyToOutput(yytext,yyleng);
}
<SComment>^[ \t]*"///"[\/]*/\n {
replaceComment(0);
}
<SComment>\n[ \t]*"///"[\/]*/\n {
replaceComment(1);
}
<SComment>^[ \t]*"///"[^\/\n]
.*/
\n {
<SComment>^[ \t]*"///"[^\/\n]
/.*
\n {
replaceComment(0);
g_readLineCtx=YY_START;
BEGIN(ReadLine);
}
<SComment>\n[ \t]*"///"[^\/\n]
.*/
\n {
<SComment>\n[ \t]*"///"[^\/\n]
/.*
\n {
replaceComment(1);
g_readLineCtx=YY_START;
BEGIN(ReadLine);
}
<SComment>^[ \t]*"//!"
.*/
\n {
<SComment>^[ \t]*"//!"
/.*
\n {
replaceComment(0);
g_readLineCtx=YY_START;
BEGIN(ReadLine);
}
<SComment>\n[ \t]*"//!"
.*/
\n {
<SComment>\n[ \t]*"//!"
/.*
\n {
replaceComment(1);
g_readLineCtx=YY_START;
BEGIN(ReadLine);
}
<SComment>^[ \t]*"//##"
.*/
\n {
<SComment>^[ \t]*"//##"
/.*
\n {
replaceComment(0);
g_readLineCtx=YY_START;
BEGIN(ReadLine);
}
<SComment>\n[ \t]*"//##"
.*/
\n {
<SComment>\n[ \t]*"//##"
/.*
\n {
replaceComment(1);
g_readLineCtx=YY_START;
BEGIN(ReadLine);
}
<SComment>\n { /* end of special comment */
copyToOutput(" */",3);
copyToOutput(yytext,yyleng);
BEGIN(Scan);
}
<ReadLine>[^\\@\n]*/\n {
copyToOutput(yytext,yyleng);
BEGIN(g_readLineCtx);
}
<ReadLine>[\\@][a-z_A-Z][a-z_A-Z0-9]* { // expand alias
QCString *pValue=Doxygen::aliasDict[yytext+1];
if (pValue)
{
copyToOutput(pValue->data(),pValue->length());
}
else
{
copyToOutput(yytext,yyleng);
}
}
<ReadLine>. {
copyToOutput(yytext,yyleng);
}
%%
void replaceComment(int offset)
{
if (g_mlBrief)
{
copyToOutput(yytext,yyleng);
}
else
{
int i=computeIndent(&yytext[offset]);
if (i==g_blockHeadCol)
{
replaceCommentMarker(yytext,yyleng);
}
else
{
copyToOutput(" */",3);
int i;for (i=yyleng-1;i>=0;i--) unput(yytext[i]);
BEGIN(Scan);
}
}
}
/*! This function does two things:
* -# It converts multi-line C++ style comment blocks (that are aligned)
* to C style comment blocks (if MULTILINE_CPP_IS_BRIEF is set to NO).
* -# It replaces aliases with their definition (see ALIASES)
*/
void convertCppComments(BufStr *inBuf,BufStr *outBuf)
{
g_inBuf = inBuf;
g_outBuf = outBuf;
g_inBufPos = 0;
g_col = 0;
g_mlBrief = Config_getBool("MULTILINE_CPP_IS_BRIEF");
BEGIN(Scan);
yylex();
if (Debug::isFlagSet(Debug::CommentCnv))
...
...
src/compound.xsd
View file @
aee36e26
This diff is collapsed.
Click to expand it.
src/compound_xsd.h
View file @
aee36e26
This diff is collapsed.
Click to expand it.
src/definition.h
View file @
aee36e26
...
...
@@ -31,7 +31,7 @@ class MemberDef;
class
GroupDef
;
class
GroupList
;
struct
ListItemInfo
;
class
SectionInfo
;
struct
SectionInfo
;
/*! The common base class of all entity definitions found in the sources. */
class
Definition
...
...
src/doctokenizer.l
View file @
aee36e26
...
...
@@ -229,6 +229,29 @@ static void processSection()
}
}
static void handleHtmlTag()
{
g_token->name = yytext;
g_token->attribs.clear();
int startNamePos=1;
if (g_token->name.at(1)=='/') startNamePos++;
int attSep=0;
while (attSep<yyleng && !isspace(yytext[attSep]))
{
attSep++;
}
if (attSep!=yyleng) // tag has one or more options
{
parseHtmlAttribs(g_token->name.mid(attSep+1,g_token->name.length()-attSep-2));
g_token->name=g_token->name.mid(startNamePos,attSep-1).lower();
}
else // tag without options, strip brackets
{
g_token->name=g_token->name.mid(startNamePos,g_token->name.length()-startNamePos-1).lower();
}
g_token->endTag = startNamePos==2;
}
//--------------------------------------------------------------------------
#undef YY_INPUT
...
...
@@ -255,7 +278,7 @@ ID [a-z_A-Z][a-z_A-Z0-9]*
OPTSTARS ("//"{BLANK}*)?"*"*{BLANK}*
LISTITEM {BLANK}*{OPTSTARS}"-"("#")?{WS}
ENDLIST {BLANK}*{OPTSTARS}"."{BLANK}*\n
ATTRIB {ID}
("="
(("\""[^\"]*"\"")|("'"[^\']*"'")|[^ \t\r\n'"><]+))?
ATTRIB {ID}
{WS}*("="{WS}*
(("\""[^\"]*"\"")|("'"[^\']*"'")|[^ \t\r\n'"><]+))?
URLCHAR [a-z_A-Z0-9\!\~\:\;\'\$\?\@\&\%\#\.\-\+\/\=]
URLMASK (([a-z_A-Z][^\>\"\n]*{URLCHAR})|({URLCHAR}+))([({]{URLCHAR}*[)}])?
FILESCHAR [a-z_A-Z0-9\\:\\\/\-\+]
...
...
@@ -283,7 +306,7 @@ WORD1 [^ \t\n\r\\@<>()\[\]:;\?{}&$#,.]+|"{"|"}"|("\""[^"\n]*"\"")
WORD2 "."|","|"("|")"|"["|"]"|":"|";"|"\?"
WORD1NQ [^ \t\n\r\\@<>()\[\]:;\?{}&$#,."]+
WORD2NQ "."|","|"("|")"|"["|"]"|":"|";"|"\?"
HTMLTAG "<"(("/")?){ID}({WS}+{ATTRIB})*">"
HTMLTAG "<"(("/")?){ID}({WS}+{ATTRIB})*
{WS}*
">"
HTMLKEYL "strong"|"center"|"table"|"caption"|"small"|"code"|"dfn"|"var"|"img"|"pre"|"sub"|"sup"|"tr"|"td"|"th"|"ol"|"ul"|"li"|"tt"|"kbd"|"em"|"hr"|"dl"|"dt"|"dd"|"br"|"i"|"a"|"b"|"p"
HTMLKEYU "STRONG"|"CENTER"|"TABLE"|"CAPTION"|"SMALL"|"CODE"|"DFN"|"VAR"|"IMG"|"PRE"|"SUB"|"SUP"|"TR"|"TD"|"TH"|"OL"|"UL"|"LI"|"TT"|"KBD"|"EM"|"HR"|"DL"|"DT"|"DD"|"BR"|"I"|"A"|"B"|"P"
HTMLKEYW {HTMLKEYL}|{HTMLKEYU}
...
...
@@ -391,25 +414,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
for (int i=value.length()-1;i>=0;i--) unput(value.at(i));
}
<St_Para>{HTMLTAG} { /* html tag */
g_token->name = yytext;
g_token->attribs.clear();
int startNamePos=1;
if (g_token->name.at(1)=='/') startNamePos++;
int attSep=0;
while (attSep<yyleng && !isspace(yytext[attSep]))
{
attSep++;
}
if (attSep!=yyleng) // tag has one or more options
{
parseHtmlAttribs(g_token->name.mid(attSep+1,g_token->name.length()-attSep-2));
g_token->name=g_token->name.mid(startNamePos,attSep-1).lower();
}
else // tag without options, strip brackets
{
g_token->name=g_token->name.mid(startNamePos,g_token->name.length()-startNamePos-1).lower();
}
g_token->endTag = startNamePos==2;
handleHtmlTag();
return TK_HTMLTAG;
}
<St_Para,St_Text>"&"{ID}";" { /* special symbol */
...
...
@@ -538,6 +543,8 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
g_token->name = yytext;
return TK_SYMBOL;
}
<St_TitleN>{HTMLTAG} {
}
<St_TitleN>{SPCMD1} |
<St_TitleN>{SPCMD2} { /* special command */
g_token->name = yytext+1;
...
...
src/dot.cpp
View file @
aee36e26
...
...
@@ -612,10 +612,10 @@ void DotNode::writeXML(QTextStream &t,bool isClassGraph)
if
(
urlPtr
)
{
*
urlPtr
++=
'\0'
;
t
<<
" <link
id=
\"
"
<<
urlPtr
<<
"
\"
"
;
t
<<
" <link
refid=
\"
"
<<
convertToXML
(
urlPtr
)
<<
"
\"
"
;
if
(
*
refPtr
!=
'\0'
)
{
t
<<
" external=
\"
"
<<
refPtr
<<
"
\"
"
;
t
<<
" external=
\"
"
<<
convertToXML
(
refPtr
)
<<
"
\"
"
;
}
t
<<
"/>"
<<
endl
;
}
...
...
@@ -629,7 +629,7 @@ void DotNode::writeXML(QTextStream &t,bool isClassGraph)
for
(;(
childNode
=
nli
.
current
());
++
nli
,
++
eli
)
{
edgeInfo
=
eli
.
current
();
t
<<
" <childnode id=
\"
"
<<
childNode
->
m_number
<<
"
\"
relation=
\"
"
;
t
<<
" <childnode
ref
id=
\"
"
<<
childNode
->
m_number
<<
"
\"
relation=
\"
"
;
if
(
isClassGraph
)
{
switch
(
edgeInfo
->
m_color
)
...
...
src/doxygen.cpp
View file @
aee36e26
...
...
@@ -235,7 +235,6 @@ static void addRelatedPage(Entry *root)
}
}
static
void
buildGroupListFiltered
(
Entry
*
root
,
bool
additional
)
{
if
(
root
->
section
==
Entry
::
GROUPDOC_SEC
&&
!
root
->
name
.
isEmpty
())
...
...
@@ -6783,10 +6782,11 @@ static void readFiles(BufStr &output)
int
fileNameSize
=
fileName
.
length
();
bool
multiLineIsBrief
=
Config_getBool
(
"MULTILINE_CPP_IS_BRIEF"
);
//
bool multiLineIsBrief = Config_getBool("MULTILINE_CPP_IS_BRIEF");
BufStr
tempBuf
(
10000
);
BufStr
*
bufPtr
=
multiLineIsBrief
?
&
output
:
&
tempBuf
;
BufStr
tempBuf
(
20000
);
//BufStr *bufPtr = multiLineIsBrief ? &output : &tempBuf;
BufStr
*
bufPtr
=
&
tempBuf
;
// add begin filename marker
bufPtr
->
addChar
(
0x06
);
...
...
@@ -6809,10 +6809,10 @@ static void readFiles(BufStr &output)
bufPtr
->
addChar
(
'\n'
);
/* to prevent problems under Windows ? */
if
(
!
multiLineIsBrief
)
{
//
if (!multiLineIsBrief)
//
{
convertCppComments
(
&
tempBuf
,
&
output
);
}
//
}
s
=
inputFiles
.
next
();
//printf("-------> adding new line\n");
...
...
src/entry.h
View file @
aee36e26
...
...
@@ -21,7 +21,7 @@
#include "qtbc.h"
#include <qlist.h>
class
SectionInfo
;
struct
SectionInfo
;
enum
Protection
{
Public
,
Protected
,
Private
,
Package
}
;
enum
Specifier
{
Normal
,
Virtual
,
Pure
}
;
...
...
src/index.xsd
View file @
aee36e26
<?xml version='1.0' encoding='utf-8' ?>
<xsd:schema
xmlns:xsd=
"http://www.w3.org/2001/XMLSchema"
>
<xsd:element
name=
"doxygen"
type=
"DoxygenType"
/>
<xsd:element
name=
"doxygen
index
"
type=
"DoxygenType"
/>
<xsd:complexType
name=
"DoxygenType"
>
<xsd:sequence>
...
...
@@ -47,6 +48,7 @@
<xsd:enumeration
value=
"variable"
/>
<xsd:enumeration
value=
"typedef"
/>
<xsd:enumeration
value=
"enum"
/>
<xsd:enumeration
value=
"enumvalue"
/>
<xsd:enumeration
value=
"function"
/>
<xsd:enumeration
value=
"signal"
/>
<xsd:enumeration
value=
"prototype"
/>
...
...
src/index_xsd.h
View file @
aee36e26
"<?xml version='1.0' encoding='utf-8' ?>
\n
"
"<xsd:schema xmlns:xsd=
\"
http://www.w3.org/2001/XMLSchema
\"
>
\n
"
" <xsd:element name=
\"
doxygen
\"
type=
\"
DoxygenType
\"
/>
\n
"
" <xsd:element name=
\"
doxygen
index
\"
type=
\"
DoxygenType
\"
/>
\n
"
"
\n
"
" <xsd:complexType name=
\"
DoxygenType
\"
>
\n
"
" <xsd:sequence>
\n
"
...
...
@@ -47,6 +48,7 @@
" <xsd:enumeration value=
\"
variable
\"
/>
\n
"
" <xsd:enumeration value=
\"
typedef
\"
/>
\n
"
" <xsd:enumeration value=
\"
enum
\"
/>
\n
"
" <xsd:enumeration value=
\"
enumvalue
\"
/>
\n
"
" <xsd:enumeration value=
\"
function
\"
/>
\n
"
" <xsd:enumeration value=
\"
signal
\"
/>
\n
"
" <xsd:enumeration value=
\"
prototype
\"
/>
\n
"
...
...
src/memberdef.cpp
View file @
aee36e26
...
...
@@ -500,18 +500,10 @@ void MemberDef::writeLink(OutputList &ol,ClassDef *cd,NamespaceDef *nd,
else
// local link
{
QCString
sep
=
Config_getBool
(
"OPTIMIZE_OUTPUT_JAVA"
)
?
"."
:
"::"
;
if
(
cd
)
{
ol
.
writeObjectLink
(
d
->
getReference
(),
d
->
getOutputFileBase
(),
anchor
(),
cd
->
name
()
+
sep
+
name
());
}
else
if
(
nd
)
{
ol
.
writeObjectLink
(
d
->
getReference
(),
d
->
getOutputFileBase
(),
anchor
(),
nd
->
name
()
+
sep
+
name
());
}
else
{
ol
.
writeObjectLink
(
d
->
getReference
(),
d
->
getOutputFileBase
(),
anchor
(),
name
());
}
QCString
n
=
name
();
if
(
classDef
&&
gd
)
n
.
prepend
(
classDef
->
name
()
+
sep
);
else
if
(
nspace
&&
gd
)
n
.
prepend
(
nspace
->
name
()
+
sep
);
ol
.
writeObjectLink
(
d
->
getReference
(),
d
->
getOutputFileBase
(),
anchor
(),
n
);
}
}
...
...
src/scanner.l
View file @
aee36e26
...
...
@@ -4675,6 +4675,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
<Doc,ClassDoc,PageDoc,ExampleDoc,AfterDoc>"\\"[a-z_A-Z][a-z_A-Z0-9]*[\\] { // directory type of text
current->doc+=yytext;
}
/*
<SkipSection>{CMD}[a-z_A-Z][a-z_A-Z0-9]* {
QCString *pValue=Doxygen::aliasDict[yytext+1];
if (pValue)
...
...
@@ -4686,6 +4687,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
}
}
}
*/
<Doc,ClassDoc,PageDoc,ExampleDoc,AfterDoc,CopyArgComment>{CMD}{CMD}[a-z_A-Z][a-z_A-Z0-9]* { /* escaped command */
if (YY_START==CopyArgComment)
fullArgString+=yytext;
...
...
@@ -4731,25 +4733,25 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
}
if (!handled)
{
QCString *pValue=Doxygen::aliasDict[yytext+1];
if (pValue)
{
int i,l=pValue->length();
char c;
for (i=l-1;i>=0;i--)
{
c=pValue->at(i);
unput(c);
if (c=='\n') yyLineNr--;
}
}
else
{
if (YY_START==CopyArgComment)
fullArgString+=yytext;
else
current->doc+=yytext;
}
//
QCString *pValue=Doxygen::aliasDict[yytext+1];
//
if (pValue)
//
{
//
int i,l=pValue->length();
//
char c;
//
for (i=l-1;i>=0;i--)
//
{
//
c=pValue->at(i);
//
unput(c);
//
if (c=='\n') yyLineNr--;
//
}
//
}
//
else
//
{
if (YY_START==CopyArgComment)
fullArgString+=yytext;
else
current->doc+=yytext;
//
}
}
}
<JavaDoc,LineDoc,ClassDocBrief,AfterDocBrief,AfterDocLine>"\\"[a-z_A-Z][a-z_A-Z0-9]*[\\] { // directory type of text
...
...
@@ -4763,22 +4765,22 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
current->brief+=yytext;
}
<JavaDoc,LineDoc,ClassDocBrief,AfterDocBrief,AfterDocLine,CopyArgCommentLine>{CMD}[a-z_A-Z][a-z_A-Z0-9]* {
QCString *pValue=Doxygen::aliasDict[yytext+1];
if (pValue)
{
int i,l=pValue->length();
for (i=l-1;i>=0;i--)
{
unput(pValue->at(i));
}
}
else
{
//
QCString *pValue=Doxygen::aliasDict[yytext+1];
//
if (pValue)
//
{
//
int i,l=pValue->length();
//
for (i=l-1;i>=0;i--)
//
{
//
unput(pValue->at(i));
//
}
//
}
//
else
//
{
if (YY_START==CopyArgCommentLine)
fullArgString+=yytext;
else
current->brief+=yytext;
}
//
}
}
<DefLineDoc,LineDoc,ClassDoc,PageDoc,ExampleDoc,Doc>"/*"|"//" { current->doc += yytext; }
<SkipCxxComment>.*/\n {
...
...
src/translator_jp.h
View file @
aee36e26
...
...
@@ -64,7 +64,7 @@ class TranslatorJapaneseEn : public TranslatorEnglish
}
};
class
TranslatorJapanese
:
public
Translator
Adapter_1_3
class
TranslatorJapanese
:
public
Translator
English
{
private
:
/*! The decode() can change euc into sjis */
...
...
@@ -1394,7 +1394,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_3
*/
virtual
QCString
trDeprecatedList
()
{
return
"非推奨一覧"
;
return
decode
(
"非推奨一覧"
)
;
}
//////////////////////////////////////////////////////////////////////////
...
...
@@ -1406,13 +1406,68 @@ class TranslatorJapanese : public TranslatorAdapter_1_3
*/
virtual
QCString
trEvents
()
{
return
"イベント"
;
return
decode
(
"イベント"
)
;
}
/*! Header used for the documentation section of a class' events. */
virtual
QCString
trEventDocumentation
()
{
return
"イベントの解説"
;
return
decode
(
"イベントの解説"
)
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3
//////////////////////////////////////////////////////////////////////////
/*! Used as a heading for a list of Java class types with package scope.
*/
virtual
QCString
trPackageTypes
()
{
return
decode
(
"パッケージ内の型定義"
);
}
/*! Used as a heading for a list of Java class functions with package
* scope.
*/
virtual
QCString
trPackageMembers
()
{
return
decode
(
"関数"
);
}
/*! Used as a heading for a list of static Java class functions with
* package scope.
*/
virtual
QCString
trStaticPackageMembers
()
{
return
decode
(
"スタティック関数"
);
}
/*! Used as a heading for a list of Java class variables with package
* scope.
*/
virtual
QCString
trPackageAttribs
()
{
return
decode
(
"変数"
);
}
/*! Used as a heading for a list of static Java class variables with
* package scope.
*/
virtual
QCString
trStaticPackageAttribs
()
{
return
decode
(
"スタティック変数"
);
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.1
//////////////////////////////////////////////////////////////////////////
/*! Used in the quick index of a class/file/namespace member list page
* to link to the unfiltered list of all members.
*/
virtual
QCString
trAll
()
{
return
decode
(
"全て"
);
}
/*! Put in front of the call graph for a function. */
virtual
QCString
trCallGraph
()
{
return
decode
(
"関数の呼び出しグラフ:"
);
}
};
#endif
src/translator_tw.h
View file @
aee36e26
This diff is collapsed.
Click to expand it.
src/util.h
View file @
aee36e26
...
...
@@ -48,7 +48,7 @@ struct TagInfo;
class
MemberNameInfoSDict
;
struct
ListItemInfo
;
class
PageDef
;
class
SectionInfo
;
struct
SectionInfo
;
//--------------------------------------------------------------------
...
...
src/xmlgen.cpp
View file @
aee36e26
...
...
@@ -53,6 +53,12 @@ static const char index_xsd[] =
#include "index_xsd.h"
;
//------------------
//
static
const
char
compound_xsd
[]
=
#include "compound_xsd.h"
;
//------------------
...
...
@@ -82,22 +88,28 @@ inline void writeXMLCodeString(QTextStream &t,const char *s)
static
void
writeXMLHeader
(
QTextStream
&
t
)
{
QCString
dtdName
=
Config_getString
(
"XML_DTD"
);
QCString
schemaName
=
Config_getString
(
"XML_SCHEMA"
);
//QCString dtdName = Config_getString("XML_DTD");
//QCString schemaName = Config_getString("XML_SCHEMA");
//t << "<?xml version='1.0' encoding='" << theTranslator->idLanguageCharset()
// << "' standalone='";
//if (dtdName.isEmpty() && schemaName.isEmpty()) t << "yes"; else t << "no";
//t << "'?>" << endl;
//if (!dtdName.isEmpty())
//{
// t << "<!DOCTYPE doxygen SYSTEM \"doxygen.dtd\">" << endl;
//}
//t << "<doxygen ";
//if (!schemaName.isEmpty())
//{
// t << "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ";
// t << "xsi:noNamespaceSchemaLocation=\"doxygen.xsd\" ";
//}
//t << "version=\"" << versionString << "\">" << endl;
t
<<
"<?xml version='1.0' encoding='"
<<
theTranslator
->
idLanguageCharset
()
<<
"' standalone='"
;
if
(
dtdName
.
isEmpty
()
&&
schemaName
.
isEmpty
())
t
<<
"yes"
;
else
t
<<
"no"
;
t
<<
"'?>"
<<
endl
;
if
(
!
dtdName
.
isEmpty
())
{
t
<<
"<!DOCTYPE doxygen SYSTEM
\"
doxygen.dtd
\"
>"
<<
endl
;
}
t
<<
"<doxygen "
;
if
(
!
schemaName
.
isEmpty
())
{
t
<<
"xmlns:xsi=
\"
http://www.w3.org/2001/XMLSchema-instance
\"
"
;
t
<<
"xsi:noNamespaceSchemaLocation=
\"
doxygen.xsd
\"
"
;
}
<<
"' standalone='no'?>"
<<
endl
;;
t
<<
"<doxygen xmlns:xsi=
\"
http://www.w3.org/2001/XMLSchema-instance
\"
"
;
t
<<
"xsi:noNamespaceSchemaLocation=
\"
compound.xsd
\"
"
;
t
<<
"version=
\"
"
<<
versionString
<<
"
\"
>"
<<
endl
;
}
...
...
@@ -422,7 +434,7 @@ static void writeMemberReference(QTextStream &t,Definition *def,MemberDef *rmd,c
{
name
.
prepend
(
scope
+
"::"
);
}
t
<<
" <"
<<
tagName
<<
" id=
\"
"
;
t
<<
" <"
<<
tagName
<<
"
ref
id=
\"
"
;
t
<<
rmd
->
getOutputFileBase
()
<<
"_1"
<<
rmd
->
anchor
()
<<
"
\"
"
;
if
(
rmd
->
getStartBodyLine
()
!=-
1
&&
rmd
->
getBodyDef
())
{
...
...
@@ -529,7 +541,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
t
<<
"
\"
virt=
\"
"
;
switch
(
md
->
virtualness
())
{
case
Normal
:
t
<<
"no
rmal"
;
break
;
case
Normal
:
t
<<
"no
n-virtual"
;
break
;
case
Virtual
:
t
<<
"virtual"
;
break
;
case
Pure
:
t
<<
"pure-virtual"
;
break
;
default:
ASSERT
(
0
);
...
...
@@ -544,8 +556,8 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
t
<<
" volatile=
\"
"
;
if
(
al
&&
al
->
volatileSpecifier
)
t
<<
"yes"
;
else
t
<<
"no"
;
t
<<
"
\"
mutable=
\"
"
;
if
(
md
->
isMutable
())
t
<<
"yes"
;
else
t
<<
"no"
;
t
<<
"
\"
mutable=
\"
"
;
if
(
md
->
isMutable
())
t
<<
"yes"
;
else
t
<<
"no"
;
t
<<
"
\"
"
;
}
...
...
@@ -572,9 +584,9 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
MemberDef
*
rmd
=
md
->
reimplements
();
if
(
rmd
)
{
t
<<
" <reimplements id=
\"
"
t
<<
" <reimplements
ref
id=
\"
"
<<
rmd
->
getOutputFileBase
()
<<
"_1"
<<
rmd
->
anchor
()
<<
"
\"
>"
<<
convertToXML
(
rmd
->
name
())
<<
"</reimplements>"
;
<<
convertToXML
(
rmd
->
name
())
<<
"</reimplements>"
<<
endl
;
}
MemberList
*
rbml
=
md
->
reimplementedBy
();
if
(
rbml
)
...
...
@@ -582,9 +594,9 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
MemberListIterator
mli
(
*
rbml
);
for
(
mli
.
toFirst
();(
rmd
=
mli
.
current
());
++
mli
)
{
t
<<
" <reimplementedby id=
\"
"
t
<<
" <reimplementedby
ref
id=
\"
"
<<
rmd
->
getOutputFileBase
()
<<
"_1"
<<
rmd
->
anchor
()
<<
"
\"
>"
<<
convertToXML
(
rmd
->
name
())
<<
"</reimplementedby>"
;
<<
convertToXML
(
rmd
->
name
())
<<
"</reimplementedby>"
<<
endl
;
}
}
...
...
@@ -919,18 +931,6 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
}
}
ClassSDict
*
cl
=
cd
->
getInnerClasses
();
if
(
cl
)
{
ClassSDict
::
Iterator
cli
(
*
cl
);
ClassDef
*
cd
;
for
(
cli
.
toFirst
();(
cd
=
cli
.
current
());
++
cli
)
{
t
<<
" <innerclass refid=
\"
"
<<
cd
->
getOutputFileBase
()
<<
"
\"
>"
<<
convertToXML
(
cd
->
name
())
<<
"</innerclass>"
<<
endl
;
}
}
IncludeInfo
*
ii
=
cd
->
includeInfo
();
if
(
ii
)
{
...
...
@@ -941,7 +941,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
t
<<
" <includes"
;
if
(
ii
->
fileDef
&&
!
ii
->
fileDef
->
isReference
())
// TODO: support external references
{
t
<<
" id=
\"
"
<<
ii
->
fileDef
->
getOutputFileBase
()
<<
"
\"
"
;
t
<<
"
ref
id=
\"
"
<<
ii
->
fileDef
->
getOutputFileBase
()
<<
"
\"
"
;
}
t
<<
" local=
\"
"
<<
(
ii
->
local
?
"yes"
:
"no"
)
<<
"
\"
>"
;
t
<<
nm
;
...
...
@@ -949,8 +949,20 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
}
}
ClassSDict
*
cl
=
cd
->
getInnerClasses
();
if
(
cl
)
{
ClassSDict
::
Iterator
cli
(
*
cl
);
ClassDef
*
cd
;
for
(
cli
.
toFirst
();(
cd
=
cli
.
current
());
++
cli
)
{
t
<<
" <innerclass refid=
\"
"
<<
cd
->
getOutputFileBase
()
<<
"
\"
>"
<<
convertToXML
(
cd
->
name
())
<<
"</innerclass>"
<<
endl
;
}
}
writeTemplateList
(
cd
,
t
);
writeListOfAllMembers
(
cd
,
t
);
MemberGroupSDict
::
Iterator
mgli
(
*
cd
->
memberGroupSDict
);
MemberGroup
*
mg
;
for
(;(
mg
=
mgli
.
current
());
++
mgli
)
...
...
@@ -1014,6 +1026,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
<<
cd
->
getEndBodyLine
()
<<
"
\"
"
;
}
t
<<
"/>"
<<
endl
;
writeListOfAllMembers
(
cd
,
t
);
t
<<
" </compounddef>"
<<
endl
;
t
<<
"</doxygen>"
<<
endl
;
...
...
@@ -1153,7 +1166,7 @@ static void generateXMLForFile(FileDef *fd,QTextStream &ti)
t
<<
" <includes"
;
if
(
inc
->
fileDef
&&
!
inc
->
fileDef
->
isReference
())
// TODO: support external references
{
t
<<
" id=
\"
"
<<
inc
->
fileDef
->
getOutputFileBase
()
<<
"
\"
"
;
t
<<
"
ref
id=
\"
"
<<
inc
->
fileDef
->
getOutputFileBase
()
<<
"
\"
"
;
}
t
<<
" local=
\"
"
<<
(
inc
->
local
?
"yes"
:
"no"
)
<<
"
\"
>"
;
t
<<
inc
->
includeName
;
...
...
@@ -1166,7 +1179,7 @@ static void generateXMLForFile(FileDef *fd,QTextStream &ti)
t
<<
" <includedby"
;
if
(
inc
->
fileDef
&&
!
inc
->
fileDef
->
isReference
())
// TODO: support external references
{
t
<<
" id=
\"
"
<<
inc
->
fileDef
->
getOutputFileBase
()
<<
"
\"
"
;
t
<<
"
ref
id=
\"
"
<<
inc
->
fileDef
->
getOutputFileBase
()
<<
"
\"
"
;
}
t
<<
" local=
\"
"
<<
(
inc
->
local
?
"yes"
:
"no"
)
<<
"
\"
>"
;
t
<<
inc
->
includeName
;
...
...
@@ -1466,6 +1479,16 @@ void generateXML()
f
.
writeBlock
(
index_xsd
,
strlen
(
index_xsd
));
f
.
close
();
fileName
=
outputDirectory
+
"/compound.xsd"
;
f
.
setName
(
fileName
);
if
(
!
f
.
open
(
IO_WriteOnly
))
{
err
(
"Cannot open file %s for writing!
\n
"
,
fileName
.
data
());
return
;
}
f
.
writeBlock
(
compound_xsd
,
strlen
(
compound_xsd
));
f
.
close
();
fileName
=
outputDirectory
+
"/index.xml"
;
f
.
setName
(
fileName
);
if
(
!
f
.
open
(
IO_WriteOnly
))
...
...
@@ -1479,7 +1502,7 @@ void generateXML()
// write index header
t
<<
"<?xml version='1.0' encoding='"
<<
theTranslator
->
idLanguageCharset
()
<<
"' standalone='no'?>"
<<
endl
;;
t
<<
"<doxygen xmlns:xsi=
\"
http://www.w3.org/2001/XMLSchema-instance
\"
"
;
t
<<
"<doxygen
index
xmlns:xsi=
\"
http://www.w3.org/2001/XMLSchema-instance
\"
"
;
t
<<
"xsi:noNamespaceSchemaLocation=
\"
index.xsd
\"
"
;
t
<<
"version=
\"
"
<<
versionString
<<
"
\"
>"
<<
endl
;
...
...
@@ -1487,12 +1510,14 @@ void generateXML()
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
;
for
(
nli
.
toFirst
();(
nd
=
nli
.
current
());
++
nli
)
{
msg
(
"Generating XML output for namespace %s
\n
"
,
nd
->
name
().
data
());
generateXMLForNamespace
(
nd
,
t
);
}
FileNameListIterator
fnli
(
Doxygen
::
inputNameList
);
...
...
@@ -1503,6 +1528,7 @@ void generateXML()
FileDef
*
fd
;
for
(;(
fd
=
fni
.
current
());
++
fni
)
{
msg
(
"Generating XML output for file %s
\n
"
,
fd
->
name
().
data
());
generateXMLForFile
(
fd
,
t
);
}
}
...
...
@@ -1510,21 +1536,24 @@ void generateXML()
GroupDef
*
gd
;
for
(;(
gd
=
gli
.
current
());
++
gli
)
{
msg
(
"Generating XML output for group %s
\n
"
,
gd
->
name
().
data
());
generateXMLForGroup
(
gd
,
t
);
}
PageSDict
::
Iterator
pdi
(
*
Doxygen
::
pageSDict
);
PageDef
*
pd
=
0
;
for
(
pdi
.
toFirst
();(
pd
=
pdi
.
current
());
++
pdi
)
{
msg
(
"Generating XML output for page %s
\n
"
,
pd
->
name
().
data
());
generateXMLForPage
(
pd
,
t
);
}
if
(
Doxygen
::
mainPage
)
{
msg
(
"Generating XML output for the main page
\n
"
);
generateXMLForPage
(
Doxygen
::
mainPage
,
t
);
}
//t << " </compoundlist>" << endl;
t
<<
"</doxygen>"
<<
endl
;
t
<<
"</doxygen
index
>"
<<
endl
;
}
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