From 655c12fb6a950ed1b59bbcc29852ce20e45fdc6a Mon Sep 17 00:00:00 2001 From: dimitri Date: Thu, 17 Jul 2003 20:55:44 +0000 Subject: Release-1.3.2-20030717 --- Doxyfile | 2 +- INSTALL | 4 +- README | 4 +- VERSION | 2 +- doc/maintainers.txt | 1 + packages/rpm/doxygen.spec | 2 +- src/commentcnv.l | 109 +++++++++++--- src/compound.xsd | 352 +++++++++++++++++++++++++++++++++++++++++++- src/compound_xsd.h | 352 +++++++++++++++++++++++++++++++++++++++++++- src/definition.h | 2 +- src/doctokenizer.l | 49 ++++--- src/dot.cpp | 6 +- src/doxygen.cpp | 14 +- src/entry.h | 2 +- src/index.xsd | 4 +- src/index_xsd.h | 4 +- src/memberdef.cpp | 16 +- src/scanner.l | 64 ++++---- src/translator_jp.h | 63 +++++++- src/translator_tw.h | 367 +++++++++++++++++++++++++++++----------------- src/util.h | 2 +- src/xmlgen.cpp | 111 ++++++++------ 22 files changed, 1245 insertions(+), 287 deletions(-) diff --git a/Doxyfile b/Doxyfile index 40d8974..4549096 100644 --- a/Doxyfile +++ b/Doxyfile @@ -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 diff --git a/INSTALL b/INSTALL index 23798f6..f51eab9 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ -DOXYGEN Version 1.3.2-20030708 +DOXYGEN Version 1.3.2-20030717 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) diff --git a/README b/README index 7b02d97..3928c83 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.3.2_20030708 +DOXYGEN Version 1.3.2_20030717 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) diff --git a/VERSION b/VERSION index 375412e..8dd4962 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.2-20030708 +1.3.2-20030717 diff --git a/doc/maintainers.txt b/doc/maintainers.txt index 29b4a88..7171bd3 100644 --- a/doc/maintainers.txt +++ b/doc/maintainers.txt @@ -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 diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec index a8c742d..4ebf89e 100644 --- a/packages/rpm/doxygen.spec +++ b/packages/rpm/doxygen.spec @@ -1,6 +1,6 @@ Summary: A documentation system for C/C++. Name: doxygen -Version: 1.3.2_20030708 +Version: 1.3.2_20030717 Release: 1 Epoch: 1 Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz diff --git a/src/commentcnv.l b/src/commentcnv.l index 16ab83a..5df9adf 100644 --- a/src/commentcnv.l +++ b/src/commentcnv.l @@ -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); } ("//!"|"///").*/\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); } "//##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); } -"//".*\n { /* one line C++ comment */ +"//"/.*\n { /* one line C++ comment */ copyToOutput(yytext,yyleng); + g_readLineCtx=YY_START; + BEGIN(ReadLine); } "/*" { /* start of a C comment */ copyToOutput(yytext,yyleng); @@ -198,7 +195,7 @@ static int yyread(char *buf,int max_size) \n { /* new line inside string (illegal for some compilers) */ copyToOutput(yytext,yyleng); } -[^*\n]* { /* anything that is not a '*' */ +[^\\@*\n]* { /* anything that is not a '*' */ copyToOutput(yytext,yyleng); } "*"+[^*/\n]* { /* stars without slashes */ @@ -211,44 +208,116 @@ static int yyread(char *buf,int max_size) copyToOutput(yytext,yyleng); BEGIN(Scan); } +[\\@][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); + } + } +. { + copyToOutput(yytext,yyleng); + } ^[ \t]*"///"[\/]*/\n { replaceComment(0); } \n[ \t]*"///"[\/]*/\n { replaceComment(1); } -^[ \t]*"///"[^\/\n].*/\n { +^[ \t]*"///"[^\/\n]/.*\n { replaceComment(0); + g_readLineCtx=YY_START; + BEGIN(ReadLine); } -\n[ \t]*"///"[^\/\n].*/\n { +\n[ \t]*"///"[^\/\n]/.*\n { replaceComment(1); + g_readLineCtx=YY_START; + BEGIN(ReadLine); } -^[ \t]*"//!".*/\n { +^[ \t]*"//!"/.*\n { replaceComment(0); + g_readLineCtx=YY_START; + BEGIN(ReadLine); } -\n[ \t]*"//!".*/\n { +\n[ \t]*"//!"/.*\n { replaceComment(1); + g_readLineCtx=YY_START; + BEGIN(ReadLine); } -^[ \t]*"//##".*/\n { +^[ \t]*"//##"/.*\n { replaceComment(0); + g_readLineCtx=YY_START; + BEGIN(ReadLine); } -\n[ \t]*"//##".*/\n { +\n[ \t]*"//##"/.*\n { replaceComment(1); + g_readLineCtx=YY_START; + BEGIN(ReadLine); } \n { /* end of special comment */ copyToOutput(" */",3); copyToOutput(yytext,yyleng); BEGIN(Scan); } +[^\\@\n]*/\n { + copyToOutput(yytext,yyleng); + BEGIN(g_readLineCtx); + } +[\\@][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); + } + } +. { + 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)) diff --git a/src/compound.xsd b/src/compound.xsd index c528422..042f8f5 100644 --- a/src/compound.xsd +++ b/src/compound.xsd @@ -1,11 +1,361 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/compound_xsd.h b/src/compound_xsd.h index 74a35b9..f914e0e 100644 --- a/src/compound_xsd.h +++ b/src/compound_xsd.h @@ -1,11 +1,361 @@ +"\n" "\n" " \n" "\n" +" \n" +"\n" " \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" " \n" +" \n" " \n" -" \n" " \n" "\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +"\n" "\n" "\n" diff --git a/src/definition.h b/src/definition.h index 02518b9..f74123e 100644 --- a/src/definition.h +++ b/src/definition.h @@ -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 diff --git a/src/doctokenizer.l b/src/doctokenizer.l index 2a17819..1e4b2d1 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -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 (attSepname.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)); } {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 (attSepname.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; } "&"{ID}";" { /* special symbol */ @@ -538,6 +543,8 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]* g_token->name = yytext; return TK_SYMBOL; } +{HTMLTAG} { + } {SPCMD1} | {SPCMD2} { /* special command */ g_token->name = yytext+1; diff --git a/src/dot.cpp b/src/dot.cpp index 862d14c..a9585bf 100644 --- a/src/dot.cpp +++ b/src/dot.cpp @@ -612,10 +612,10 @@ void DotNode::writeXML(QTextStream &t,bool isClassGraph) if (urlPtr) { *urlPtr++='\0'; - t << " " << endl; } @@ -629,7 +629,7 @@ void DotNode::writeXML(QTextStream &t,bool isClassGraph) for (;(childNode=nli.current());++nli,++eli) { edgeInfo=eli.current(); - t << " m_number << "\" relation=\""; + t << " m_number << "\" relation=\""; if (isClassGraph) { switch(edgeInfo->m_color) diff --git a/src/doxygen.cpp b/src/doxygen.cpp index fe2d958..c4c88a3 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -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"); diff --git a/src/entry.h b/src/entry.h index afde3ec..594a3c8 100644 --- a/src/entry.h +++ b/src/entry.h @@ -21,7 +21,7 @@ #include "qtbc.h" #include -class SectionInfo; +struct SectionInfo; enum Protection { Public, Protected, Private, Package } ; enum Specifier { Normal, Virtual, Pure } ; diff --git a/src/index.xsd b/src/index.xsd index 5bf7a62..3a6238e 100644 --- a/src/index.xsd +++ b/src/index.xsd @@ -1,5 +1,6 @@ + - + @@ -47,6 +48,7 @@ + diff --git a/src/index_xsd.h b/src/index_xsd.h index e0efd95..1b02e92 100644 --- a/src/index_xsd.h +++ b/src/index_xsd.h @@ -1,5 +1,6 @@ +"\n" "\n" -" \n" +" \n" "\n" " \n" " \n" @@ -47,6 +48,7 @@ " \n" " \n" " \n" +" \n" " \n" " \n" " \n" diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 5c67c03..c9b36c8 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -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); } } diff --git a/src/scanner.l b/src/scanner.l index a482d39..8b47179 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -4675,6 +4675,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;] "\\"[a-z_A-Z][a-z_A-Z0-9]*[\\] { // directory type of text current->doc+=yytext; } + /* {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_;] } } } + */ {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; + //} } } "\\"[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; } {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; - } + //} } "/*"|"//" { current->doc += yytext; } .*/\n { diff --git a/src/translator_jp.h b/src/translator_jp.h index d4286be..4d7c8e0 100644 --- a/src/translator_jp.h +++ b/src/translator_jp.h @@ -64,7 +64,7 @@ class TranslatorJapaneseEn : public TranslatorEnglish } }; -class TranslatorJapanese : public TranslatorAdapter_1_3 +class TranslatorJapanese : public TranslatorEnglish { 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 diff --git a/src/translator_tw.h b/src/translator_tw.h index a4c68fc..a22c39e 100644 --- a/src/translator_tw.h +++ b/src/translator_tw.h @@ -1,18 +1,20 @@ /****************************************************************************** * - * + * * * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its - * documentation under the terms of the GNU General Public License is hereby - * granted. No representations are made about the suitability of this software + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software * for any purpose. It is provided "as is" without express or implied warranty. * See the GNU General Public License for more details. * * Documents produced by Doxygen are derivative works derived from the * input used in their production; they are not affected by this license. * + * The translation into Chinesetraditional was provided by + * Daniel YC Lin (daniel@twpda.com) since v1.2.16 */ #ifndef TRANSLATOR_TW_H @@ -44,19 +46,19 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 public: // --- Language control methods ------------------- - - /*! Used for identification of the language. The identification - * should not be translated. It should be replaced by the name + + /*! Used for identification of the language. The identification + * should not be translated. It should be replaced by the name * of the language in English using lower-case characters only - * (e.g. "czech", "japanese", "russian", etc.). It should be equal to + * (e.g. "czech", "japanese", "russian", etc.). It should be equal to * the identification used in language.cpp. */ virtual QCString idLanguage() { return "chinese-traditional"; } - - /*! Used to get the LaTeX command(s) for the language support. + + /*! Used to get the LaTeX command(s) for the language support. * This method should return string with commands that switch - * LaTeX to the desired language. For example + * LaTeX to the desired language. For example *
"\\usepackage[german]{babel}\n"
      *  
* or @@ -64,7 +66,7 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 * "\\usepackage[latin2]{inputenc}\n" * "\\usepackage[T1]{fontenc}\n" * - * + * * The English LaTeX does not use such commands. Because of this * the empty string is returned in this implementation. */ @@ -96,30 +98,30 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 /*! header that is put before the list of typedefs. */ virtual QCString trMemberTypedefDocumentation() { return "«¬ºA©w¸q¦¨­û»¡©ú¤å¥ó"; } - + /*! header that is put before the list of enumerations. */ virtual QCString trMemberEnumerationDocumentation() { return "¦CÁ|«¬ºA¦¨­û»¡©ú¤å¥ó"; } - + /*! header that is put before the list of member functions. */ virtual QCString trMemberFunctionDocumentation() { return "¨ç¦¡¦¨­û»¡©ú¤å¥ó"; } - + /*! header that is put before the list of member attributes. */ virtual QCString trMemberDataDocumentation() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Äæ¦ì»¡©ú¤å¥ó"; + return "Äæ¦ì»¡©ú¤å¥ó"; } else { - return "¸ê®Æ¦¨­û»¡©ú¤å¥ó"; + return "¸ê®Æ¦¨­û»¡©ú¤å¥ó"; } } /*! this is the text of a link put after brief descriptions. */ - virtual QCString trMore() + virtual QCString trMore() { return "§ó¦h..."; } /*! put in the class documentation */ @@ -137,54 +139,54 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 /*! this is the remainder of the sentence after the class name */ virtual QCString trIncludingInheritedMembers() { return ", ¥]§t©Ò¦³Ä~©Óªº¦¨­û"; } - + /*! this is put at the author sections at the bottom of man pages. * parameter s is name of the project name. */ virtual QCString trGeneratedAutomatically(const char *s) { QCString result="¥»¤å¥ó¥ÑDoxygen"; if (s) result+=(QCString)" ¦Û "+s; - result+=" ªº­ì©l½X¤¤¦Û°Ê²£¥Í."; + result+=" ªº­ì©l½X¤¤¦Û°Ê²£¥Í."; return result; } /*! put after an enum name in the list of all members */ virtual QCString trEnumName() { return "¦CÁ|«¬ºA¦WºÙ"; } - + /*! put after an enum value in the list of all members */ virtual QCString trEnumValue() { return "¦CÁ|­È"; } - + /*! put after an undocumented member in the list of all members */ virtual QCString trDefinedIn() { return "³Q©w¸q©ó"; } // quick reference sections - /*! This is put above each page as a link to the list of all groups of + /*! This is put above each page as a link to the list of all groups of * compounds or files (see the \\group command). */ virtual QCString trModules() { return "¼Ò²Õ"; } - + /*! This is put above each page as a link to the class hierarchy */ virtual QCString trClassHierarchy() { return "Ãþ§O¶¥¼h"; } - + /*! This is put above each page as a link to the list of annotated classes */ virtual QCString trCompoundList() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { return "¸ê®Æµ²ºc"; } else { - return "½Æ¦X¦Cªí"; + return "½Æ¦X¦Cªí"; } } - + /*! This is put above each page as a link to the list of documented files */ virtual QCString trFileList() { return "ÀɮצCªí"; } @@ -195,27 +197,27 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 /*! This is put above each page as a link to all members of compounds. */ virtual QCString trCompoundMembers() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "¸ê®ÆÄæ¦ì"; + return "¸ê®ÆÄæ¦ì"; } else { - return "½Æ¦X¦¨­û"; + return "½Æ¦X¦¨­û"; } } /*! This is put above each page as a link to all members of files. */ virtual QCString trFileMembers() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "¥þ°ì¸ê®Æ"; + return "¥þ°ì¸ê®Æ"; } else { - return "Àɮצ¨­û"; + return "Àɮצ¨­û"; } } @@ -247,16 +249,16 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 /*! This is an introduction to the annotated compound list. */ virtual QCString trCompoundListDescription() - { - + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "³o¬Oªþ±a²²¤»¡©úªº¸ê®Æµ²ºc:"; + return "³o¬Oªþ±a²²¤»¡©úªº¸ê®Æµ²ºc:"; } else { return "³o¬Oªþ±a²²¤»¡©úªºÃþ§O¡Aµ²ºc¡A" - "Áp¦X«¬ºA(unions)¤Î¤¶­±(interfaces):"; + "Áp¦X«¬ºA(unions)¤Î¤¶­±(interfaces):"; } } @@ -277,7 +279,7 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 result+="Ãþ§O¦¨­û"; } result+=", ¨Ã¥B±a¦³³sµ²¦Ü"; - if (!extractAll) + if (!extractAll) { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { @@ -288,7 +290,7 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 result+="¨C­Ó¦¨­ûªºÃþ§O»¡©ú¤å¥ó:"; } } - else + else { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { @@ -307,7 +309,7 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 { QCString result="³o¬O¥þ³¡"; if (!extractAll) result+="¤å¥ó¤Æªº"; - + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { result+="¨ç¦¡¡AÅܼơA©w¸q¡A¦CÁ|¡A¤Î«¬ºA©w¸q"; @@ -317,9 +319,9 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 result+="Àɮצ¨­û"; } result+="¡A¨Ã¥B±a¦³³sµ²¦Ü"; - if (extractAll) + if (extractAll) result+="³o¨ÇÀɮשÒÄÝ:"; - else + else result+="»¡©ú¤å¥ó:"; return result; } @@ -341,49 +343,49 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 { return "©Ò¦³¼Ò²Õ¦Cªí:"; } /*! This sentences is used in the annotated class/file lists if no brief - * description is given. + * description is given. */ virtual QCString trNoDescriptionAvailable() { return "¨S¦³¥i¥Îªº»¡©ú´y­z"; } - - // index titles (the project name is prepended for these) + + // index titles (the project name is prepended for these) /*! This is used in HTML as the title of index.html. */ virtual QCString trDocumentation() { return "»¡©ú¤å¥ó"; } - /*! This is used in LaTeX as the title of the chapter with the + /*! This is used in LaTeX as the title of the chapter with the * index of all groups. */ virtual QCString trModuleIndex() { return "¼Ò²Õ¯Á¤Þ"; } - /*! This is used in LaTeX as the title of the chapter with the + /*! This is used in LaTeX as the title of the chapter with the * class hierarchy. */ virtual QCString trHierarchicalIndex() { return "¶¥¼h¯Á¤Þ"; } - /*! This is used in LaTeX as the title of the chapter with the + /*! This is used in LaTeX as the title of the chapter with the * annotated compound index. */ virtual QCString trCompoundIndex() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { + { return "¸ê®Æµ²ºc¯Á¤Þ"; } else { - return "½Æ¦X¯Á¤Þ"; + return "½Æ¦X¯Á¤Þ"; } } /*! This is used in LaTeX as the title of the chapter with the * list of all files. */ - virtual QCString trFileIndex() + virtual QCString trFileIndex() { return "ÀɮׯÁ¤Þ"; } /*! This is used in LaTeX as the title of the chapter containing @@ -396,14 +398,14 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 * the documentation of all classes, structs and unions. */ virtual QCString trClassDocumentation() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "¸ê®Æµ²ºc»¡©ú¤å¥ó"; + return "¸ê®Æµ²ºc»¡©ú¤å¥ó"; } else { - return "Ãþ§O»¡©ú¤å¥ó"; + return "Ãþ§O»¡©ú¤å¥ó"; } } @@ -428,111 +430,111 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 /*! This is used in LaTeX as the title of the document */ virtual QCString trReferenceManual() { return "°Ñ¦Ò¤â¥U"; } - - /*! 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 defines */ virtual QCString trDefines() { return "©w¸q"; } - /*! 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 function prototypes */ virtual QCString trFuncProtos() { return "¨ç¦¡­ì«¬"; } - /*! 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 typedefs */ virtual QCString trTypedefs() { return "«¬ºA©w¸q"; } - /*! 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 */ virtual QCString trEnumerations() { return "¦CÁ|«¬ºA"; } - /*! 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 */ virtual QCString trFunctions() { return "¨ç¦¡"; } - /*! 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) variables */ virtual QCString trVariables() { return "ÅܼÆ"; } - /*! 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) variables */ virtual QCString trEnumerationValues() { return "¦CÁ|­È"; } - + /*! This is used in the documentation of a file before the list of * documentation blocks for defines */ virtual QCString trDefineDocumentation() { return "©w¸q¥¨¶°»¡©ú¤å¥ó"; } - /*! 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 function prototypes */ virtual QCString trFunctionPrototypeDocumentation() { return "¨ç¦¡­ì«¬»¡©ú¤å¥ó"; } - /*! 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 typedefs */ virtual QCString trTypedefDocumentation() { return "«¬ºA©w¸q»¡©ú¤å¥ó"; } - /*! 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 */ virtual QCString trEnumerationTypeDocumentation() { return "¦CÁ|«¬ºA»¡©ú¤å¥ó"; } - /*! 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 */ virtual QCString trEnumerationValueDocumentation() { return "¦CÁ|­È»¡©ú¤å¥ó"; } - /*! 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 */ virtual QCString trFunctionDocumentation() { return "¨ç¦¡»¡©ú¤å¥ó"; } - /*! 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 variables */ virtual QCString trVariableDocumentation() { return "Åܼƻ¡©ú¤å¥ó"; } - /*! This is used in the documentation of a file/namespace/group before + /*! This is used in the documentation of a file/namespace/group before * the list of links to documented compounds */ virtual QCString trCompounds() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "¸ê®Æµ²ºc"; + return "¸ê®Æµ²ºc"; } else { - return "½Æ¦X¶µ¥Ø"; + return "½Æ¦X¶µ¥Ø"; } } - /*! This is used in the standard footer of each page and indicates when - * the page was generated + /*! This is used in the standard footer of each page and indicates when + * the page was generated */ virtual QCString trGeneratedAt(const char *date,const char *projName) - { + { QCString result=(QCString)"²£¥Í¤é´Á:"+date; if (projName) result+=(QCString)", ±M®×:"+projName; result+=(QCString)", ²£¥Í¾¹:"; @@ -550,7 +552,7 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 { return (QCString)"Ãþ§O"+clName+"ªºÄ~©Ó¹Ï:"; } - + /*! this text is generated when the \\internal command is used. */ virtual QCString trForInternalUseOnly() { return "¶È¨Ñ¤º³¡¨Ï¥Î."; } @@ -590,7 +592,7 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 /*! this text is generated when the \\exception command is used. */ virtual QCString trExceptions() { return "¨Ò¥~"; } - + /*! this text is used in the title page of a LaTeX document. */ virtual QCString trGeneratedBy() { return "²£¥ÍªÌ:"; } @@ -598,7 +600,7 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 ////////////////////////////////////////////////////////////////////////// // new since 0.49-990307 ////////////////////////////////////////////////////////////////////////// - + /*! used as the title of page containing all the index of all namespaces. */ virtual QCString trNamespaceList() { return "©R¦WªÅ¶¡(name space)¦Cªí"; } @@ -617,17 +619,17 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 */ virtual QCString trFriends() { return "Ãþ§OªB¤Í(Friends)"; } - + ////////////////////////////////////////////////////////////////////////// // new since 0.49-990405 ////////////////////////////////////////////////////////////////////////// - + /*! used in the class documentation as a header before the list of all - * related classes + * related classes */ virtual QCString trRelatedFunctionDocumentation() { return "Ãþ§OªB¤Í¤Î¬ÛÃö¨ç¦¡»¡©ú¤å¥ó"; } - + ////////////////////////////////////////////////////////////////////////// // new since 0.49-990425 ////////////////////////////////////////////////////////////////////////// @@ -655,7 +657,7 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 virtual QCString trFileReference(const char *fileName) { QCString result=fileName; - result+=" ÀɮװѦҤå¥ó"; + result+=" ÀɮװѦҤå¥ó"; return result; } @@ -666,7 +668,7 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 result+=" ©R¦WªÅ¶¡(Namespace)°Ñ¦Ò¤å¥ó"; return result; } - + virtual QCString trPublicMembers() { return "¤½¶}¤èªk(Public Methods)"; } virtual QCString trPublicSlots() @@ -687,7 +689,7 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 { return "¨p¦³´¡¼Ñ(Private Slots)"; } virtual QCString trStaticPrivateMembers() { return "ÀRºA¨p¦³¤èªk(Static Private Methods)"; } - + /*! this function is used to produce a comma-separated list of items. * use generateMarker(i) to indicate where item i should be put. */ @@ -696,23 +698,23 @@ class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16 QCString result; int i; // the inherits list contain `numEntries' classes - for (i=0;i