Commit 6ac75f50 authored by Dimitri van Heesch's avatar Dimitri van Heesch

Doxygen-1.3-rc3-20030223

parent b0cbd597
DOXYGEN Version 1.3-rc3-20030215
DOXYGEN Version 1.3-rc3-20030223
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (15 February 2003)
Dimitri van Heesch (23 February 2003)
DOXYGEN Version 1.3_rc3_20030215
DOXYGEN Version 1.3_rc3_20030223
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) (15 February 2003)
Dimitri van Heesch (dimitri@stack.nl) (23 February 2003)
1.3-rc3-20030215
1.3-rc3-20030223
......@@ -39,10 +39,10 @@ It can help you in three ways:
The documentation is extracted directly from the sources, which
makes it much easier to keep the documentation consistent with the
source code.
<li> Doxygen can be configured to extract the code structure
from undocumented source files. This can be very useful to quickly
<li> You can configure doxygen to extract the code structure
from undocumented source files. This is very useful to quickly
find your way in large source distributions.
The relations between the various elements are be visualized
You can also visualize the relations between the various elements
by means of include dependency graphs, inheritance diagrams,
and collaboration diagrams, which are all generated automatically.
<li> You can even `abuse' doxygen for creating normal documentation (as I did
......@@ -183,7 +183,7 @@ Thanks go to:
Roddy, Paul Schwartz, Charles Duffy, Vadym Voznyuk, Philip Walton,
Dwight Browne, Andreas Fredriksson, Karel Lindveld, Ivan Lee, Albert
Vernon, Adam McKee, Vijapurapu Anatharac, Ben Hunsberger and
Walter Wartenweiler for donating money.
Walter Wartenweiler, Jeff Garbers and David Harris for donating money.
<li>The Comms group of <a href="http://www.symbian.com">Symbian</a> for donating
an ultra cool <a href="http://www.psion.com/revoplus">Revo plus</a>
organizer!
......
......@@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means
that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time.
Currently (version 1.2.14-20020317), 28 languages
Currently (version 1.3-rc3-20030215), 28 languages
are supported (sorted alphabetically):
Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian,
Czech, Danish, Dutch, English, Finnish,
......@@ -91,7 +91,7 @@ when the translator was updated.
<TD>Danish</TD>
<TD>Erik S&oslash;e S&oslash;rensen</TD>
<TD>erik@NOSPAM.mail.nu</TD>
<TD>1.2.7</TD>
<TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Dutch</TD>
......@@ -115,7 +115,7 @@ when the translator was updated.
<TD>French</TD>
<TD>Xavier Outhier</TD>
<TD>xouthier@NOSPAM.yahoo.fr</TD>
<TD>1.2.17</TD>
<TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>German</TD>
......@@ -243,7 +243,7 @@ when the translator was updated.
\hline
Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} & up-to-date \\
\hline
Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} & 1.2.7 \\
Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} & up-to-date \\
\hline
Dutch & Dimitri van Heesch & {\tt dimitri@stack.nl} & up-to-date \\
\hline
......@@ -251,7 +251,7 @@ when the translator was updated.
\hline
Finnish & Olli Korhonen & {\tt Olli.Korhonen@ccc.fi} & obsolete \\
\hline
French & Xavier Outhier & {\tt xouthier@yahoo.fr} & 1.2.17 \\
French & Xavier Outhier & {\tt xouthier@yahoo.fr} & up-to-date \\
\hline
German & Jens Seidel & {\tt jensseidel@users.sf.net} & up-to-date \\
\hline
......
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3_rc3_20030215
Version: 1.3_rc3_20030223
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
......
......@@ -181,6 +181,8 @@ CommandMap htmlTagMap[] =
{ "h4", HTML_H4 },
{ "h5", HTML_H5 },
{ "h6", HTML_H6 },
{ "span", HTML_SPAN },
{ "div", HTML_DIV },
{ 0, 0 }
};
......
......@@ -137,7 +137,9 @@ enum HtmlTagType
HTML_H3 = 27,
HTML_H4 = 28,
HTML_H5 = 29,
HTML_H6 = 30
HTML_H6 = 30,
HTML_SPAN = 31,
HTML_DIV = 32
};
class CmdMapper
......
......@@ -1389,8 +1389,8 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
<Body>"("{B}*("*"{B}*)*{SCOPENAME}*{B}*")"/{B}* { // (*p)->func()
g_code->codify(yytext);
int s=0;while (!isId(yytext[s])) s++;
int e=yyleng-1;while (!isId(yytext[e])) e--;
int s=0;while (s<yyleng && !isId(yytext[s])) s++;
int e=yyleng-1;while (e>=0 && !isId(yytext[e])) e--;
QCString varname = ((QCString)yytext).mid(s,e-s+1);
addType();
g_name=varname;
......
......@@ -104,14 +104,26 @@ void ConfigOption::writeStringValue(QTextStream &t,QCString &s)
{
const char *p=s.data();
char c;
bool hasBlanks=FALSE;
bool needsEscaping=FALSE;
if (p)
{
while ((c=*p++)!=0 && !hasBlanks) hasBlanks = (c==' ' || c=='\n' || c=='\t');
if (hasBlanks)
t << "\"" << s << "\"";
while ((c=*p++)!=0 && !needsEscaping)
needsEscaping = (c==' ' || c=='\n' || c=='\t' || c=='"');
if (needsEscaping)
{
t << "\"";
p=s.data();
while (*p)
{
if (*p=='"') t << "\\"; // escape quotes
t << *p++;
}
t << "\"";
}
else
{
t << s;
}
}
}
......@@ -121,13 +133,10 @@ void ConfigOption::writeStringList(QTextStream &t,QStrList &l)
bool first=TRUE;
while (p)
{
char c;
const char *s=p;
bool hasBlanks=FALSE;
while ((c=*p++)!=0 && !hasBlanks) hasBlanks = (c==' ' || c=='\n' || c=='\t');
QCString s=p;
if (!first) t << " ";
first=FALSE;
if (hasBlanks) t << "\"" << s << "\""; else t << s;
writeStringValue(t,s);
p = l.next();
if (p) t << " \\" << endl;
}
......
......@@ -664,6 +664,8 @@ const char *DocStyleChange::styleString() const
case DocStyleChange::Subscript: return "subscript";
case DocStyleChange::Superscript: return "superscript";
case DocStyleChange::Preformatted: return "pre";
case DocStyleChange::Div: return "div";
case DocStyleChange::Span: return "span";
}
return "<invalid>";
}
......@@ -883,6 +885,12 @@ reparsetoken:
{
switch (HtmlTagMapper::map(tokenName))
{
case HTML_DIV:
warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: found <div> tag in heading\n");
break;
case HTML_PRE:
warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: found <pre> tag in heading\n");
break;
case HTML_BOLD:
if (!g_token->endTag)
{
......@@ -893,20 +901,6 @@ reparsetoken:
handleStyleLeave(parent,children,DocStyleChange::Bold,tokenName);
}
break;
case HTML_PRE:
if (!g_token->endTag)
{
handleStyleEnter(parent,children,DocStyleChange::Preformatted,&g_token->attribs);
parent->setInsidePreformatted(TRUE);
//doctokenizerYYsetInsidePre(TRUE);
}
else
{
handleStyleLeave(parent,children,DocStyleChange::Preformatted,tokenName);
parent->setInsidePreformatted(FALSE);
//doctokenizerYYsetInsidePre(FALSE);
}
break;
case HTML_CODE:
if (!g_token->endTag)
{
......
......@@ -275,7 +275,8 @@ class DocStyleChange : public DocNode
{
public:
enum Style { Bold, Italic, Code, Center, Small,
Subscript, Superscript, Preformatted
Subscript, Superscript, Preformatted,
Span, Div
};
DocStyleChange(DocNode *parent,uint position,Style s,bool enable,
const HtmlAttribList *attribs=0) :
......
......@@ -379,7 +379,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
g_token->isEMailAddr=FALSE;
return TK_URL;
}
<St_Para>[a-z_A-Z0-9.-]+"@"[a-z_A-Z0-9-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-]+ { // Mail address
<St_Para>[a-z_A-Z0-9.+-]+"@"[a-z_A-Z0-9-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-]+ { // Mail address
g_token->name=yytext;
g_token->isEMailAddr=TRUE;
return TK_URL;
......
......@@ -108,6 +108,7 @@ QDict<void> Doxygen::expandAsDefinedDict(257); // all macros that should be e
QIntDict<MemberGroupInfo> Doxygen::memGrpInfoDict(1009); // dictionary of the member groups heading
PageInfo *Doxygen::mainPage = 0;
bool Doxygen::insideMainPage = FALSE; // are we generating docs for the main page?
QTextStream Doxygen::tagFile;
NamespaceDef *Doxygen::globalScope = new NamespaceDef("<globalScope>",1,"<globalScope>");
......@@ -2548,14 +2549,24 @@ static void transferFunctionDocumentation()
// copy group info.
//if (mdec->getGroupDef()==0 && mdef->getGroupDef()!=0)
//{
// mdef->setGroupDef(mdec->getGroupDef(),mdec->getGroupPri(),mdec->docFile(),mdec->docLine(),mdec->hasDocumentation());
//}
//else if (mdef->getGroupDef()==0 && mdec->getGroupDef()!=0)
//{
// mdec->setGroupDef(mdef->getGroupDef(),mdef->getGroupPri(),mdef->docFile(),mdef->docLine(),mdef->hasDocumentation());
//}
if (mdec->getGroupDef()==0 && mdef->getGroupDef()!=0)
{
mdec->setGroupDef(mdef->getGroupDef(),
mdef->getGroupPri(),
mdef->docFile(),
mdef->docLine(),
mdef->hasDocumentation()
);
}
else if (mdef->getGroupDef()==0 && mdec->getGroupDef()!=0)
{
mdef->setGroupDef(mdec->getGroupDef(),
mdec->getGroupPri(),
mdec->docFile(),
mdec->docLine(),
mdec->hasDocumentation()
);
}
mdec->mergeRefItems(mdef);
mdef->mergeRefItems(mdec);
......@@ -7850,7 +7861,6 @@ void parseInput()
msg("Building member list...\n"); // using class info only !
buildFunctionList(root);
transferFunctionDocumentation();
msg("Searching for friends...\n");
findFriends();
......@@ -7884,6 +7894,7 @@ void parseInput()
msg("Searching for member function documentation...\n");
findMemberDocumentation(root); // may introduce new members !
transferRelatedFunctionDocumentation();
transferFunctionDocumentation();
msg("Searching for members imported via using declarations...\n");
findUsingDeclImports(root);
......
......@@ -65,6 +65,7 @@ class Doxygen
static PageSDict *exampleSDict;
static PageSDict *pageSDict;
static PageInfo *mainPage;
static bool insideMainPage;
static FileNameDict *includeNameDict;
static FileNameDict *exampleNameDict;
static FileNameDict *inputNameDict;
......
......@@ -26,7 +26,7 @@ win32-msvc:TMAKE_LFLAGS += /LIBPATH:..\lib
win32-borland:LIBS += qtools.lib png.lib doxygen.lib doxycfg.lib shell32.lib
win32-borland:TMAKE_LFLAGS += -L..\lib -L$(BCB)\lib\psdk
win32:TMAKE_CXXFLAGS += -DQT_NODLL
win32-g++:LIBS = -L../lib -ldoxygen -ldoxycfg -lqtools -lpng.dll
win32-g++:LIBS = -L../lib -ldoxygen -ldoxycfg -lqtools -lpng
win32-g++:TMAKE_CXXFLAGS += -fno-exceptions -fno-rtti
INCLUDEPATH += ../qtools ../libpng .
win32-g++:INCLUDEPATH -= ../libpng
......
......@@ -169,6 +169,13 @@ void HtmlDocVisitor::visit(DocStyleChange *s)
m_insidePre=FALSE;
m_t << "</pre>";
}
case DocStyleChange::Div:
if (s->enable()) m_t << "<div" << htmlAttribsToString(s->attribs()) << ">"; else m_t << "</div>";
break;
case DocStyleChange::Span:
if (s->enable()) m_t << "<span" << htmlAttribsToString(s->attribs()) << ">"; else m_t << "</span>";
break;
}
}
......
......@@ -2755,6 +2755,7 @@ void writeIndex(OutputList &ol)
if (Doxygen::mainPage)
{
Doxygen::insideMainPage=TRUE;
ol.parseDoc(defFileName,defLine,0,0,Doxygen::mainPage->doc,FALSE);
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
......@@ -2776,6 +2777,7 @@ void writeIndex(OutputList &ol)
Doxygen::mainPage->writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl;
}
Doxygen::insideMainPage=FALSE;
}
endFile(ol);
......@@ -2912,6 +2914,7 @@ void writeIndex(OutputList &ol)
if (Doxygen::mainPage)
{
Doxygen::insideMainPage=TRUE;
ol.disable(OutputGenerator::Man);
startFile(ol,Doxygen::mainPage->name,0,Doxygen::mainPage->title);
//SectionInfo *si=0;
......@@ -2927,6 +2930,7 @@ void writeIndex(OutputList &ol)
ol.endTextBlock();
endFile(ol);
ol.enable(OutputGenerator::Man);
Doxygen::insideMainPage=FALSE;
}
ol.popGeneratorState();
......
......@@ -44,6 +44,18 @@ static QString escapeLabelName(const char *s)
return result;
}
const int maxLevels=5;
static const char *secLabels[maxLevels] =
{ "section","subsection","subsubsection","paragraph","subparagraph" };
static const char *getSectionName(int level)
{
int l = level;
if (Config_getBool("COMPACT_LATEX")) l++;
if (Doxygen::insideMainPage) l--;
return secLabels[QMIN(maxLevels-1,l)];
}
QString LatexDocVisitor::escapeMakeIndexChars(const char *s)
{
QString result;
......@@ -187,13 +199,13 @@ void LatexDocVisitor::visit(DocStyleChange *s)
switch (s->style())
{
case DocStyleChange::Bold:
if (s->enable()) m_t << "{\\bf "; else m_t << "} ";
if (s->enable()) m_t << "{\\bf "; else m_t << "}";
break;
case DocStyleChange::Italic:
if (s->enable()) m_t << "{\\em "; else m_t << "} ";
if (s->enable()) m_t << "{\\em "; else m_t << "\\/}";
break;
case DocStyleChange::Code:
if (s->enable()) m_t << "{\\tt "; else m_t << "} ";
if (s->enable()) m_t << "{\\tt "; else m_t << "}";
break;
case DocStyleChange::Subscript:
if (s->enable()) m_t << "$_{\\mbox{"; else m_t << "}}$ ";
......@@ -219,6 +231,8 @@ void LatexDocVisitor::visit(DocStyleChange *s)
m_t << "\\end{alltt}\\normalsize " << endl;
}
break;
case DocStyleChange::Div: /* HTML only */ break;
case DocStyleChange::Span: /* HTML only */ break;
}
}
......@@ -476,26 +490,7 @@ void LatexDocVisitor::visitPre(DocSection *s)
{
m_t << "\\hypertarget{" << s->file() << "_" << s->anchor() << "}{}";
}
if (Config_getBool("COMPACT_LATEX"))
{
switch(s->level())
{
case 1: m_t << "\\subsubsection{"; break;
case 2: m_t << "\\paragraph{"; break;
case 3: m_t << "\\subparagraph{"; break;
case 4: m_t << "\\subparagraph{"; break;
}
}
else
{
switch(s->level())
{
case 1: m_t << "\\subsection{"; break;
case 2: m_t << "\\subsubsection{"; break;
case 3: m_t << "\\paragraph{"; break;
case 4: m_t << "\\subparagraph{"; break;
}
}
m_t << "\\" << getSectionName(s->level()) << "{";
filter(s->title());
m_t << "}\\label{" << s->anchor() << "}" << endl;
}
......@@ -667,27 +662,7 @@ void LatexDocVisitor::visitPost(DocHRef *)
void LatexDocVisitor::visitPre(DocHtmlHeader *header)
{
if (m_hide) return;
if (Config_getBool("COMPACT_LATEX"))
{
switch(header->level())
{
case 1: m_t << "\\subsection*{"; break;
case 2: m_t << "\\subsubsection*{"; break;
case 3: m_t << "\\paragraph*{"; break;
default: m_t << "\\subparagraph*{"; break;
}
}
else
{
switch(header->level())
{
case 1: m_t << "\\section*{"; break;
case 2: m_t << "\\subsection*{"; break;
case 3: m_t << "\\subsubsection*{"; break;
case 4: m_t << "\\paragraph*{"; break;
default: m_t << "\\subparagraph*{"; break;
}
}
m_t << "\\" << getSectionName(header->level()) << "*{";
}
void LatexDocVisitor::visitPost(DocHtmlHeader *)
......@@ -835,7 +810,6 @@ void LatexDocVisitor::visitPost(DocRef *)
{
if (m_hide) return;
endLink();
m_t << " ";
}
void LatexDocVisitor::visitPre(DocSecRefItem *)
......@@ -968,7 +942,6 @@ void LatexDocVisitor::visitPost(DocInternalRef *)
{
if (m_hide) return;
endLink();
m_t << " ";
}
void LatexDocVisitor::visitPre(DocCopy *)
......
......@@ -257,6 +257,7 @@ static void writeDefaultHeaderPart1(QTextStream &t)
<< " colorlinks=true," << endl
<< " linkcolor=blue" << endl
<< " ]{hyperref}" << endl
<< "\\usepackage{pspicture}" << endl
<< "\\else" << endl
<< "\\usepackage[pdftex," << endl
<< " pagebackref=true," << endl
......@@ -287,7 +288,7 @@ static void writeDefaultHeaderPart1(QTextStream &t)
}
t << "\\makeindex\n"
"\\setcounter{tocdepth}{1}\n"
"\\setlength{\\footrulewidth}{0.4pt}\n"
"\\renewcommand{\\footrulewidth}{0.4pt}\n"
"\\begin{document}\n";
if (theTranslator->idLanguage()=="greek") t << "\\selectlanguage{greek}\n";
t << "\\begin{titlepage}\n"
......
......@@ -19,7 +19,7 @@
LEX = flex
YACC = bison
PERL = perl
INCBUFSIZE = $(PERL) -n -e "s/YY_BUF_SIZE 16384/YY_BUF_SIZE 262144/g; print $$_;"
INCBUFSIZE = $(PERL) -n -e 's/YY_BUF_SIZE 16384/YY_BUF_SIZE 262144/g; print $$_;'
#${
sub GenerateDep {
......
......@@ -168,7 +168,9 @@ void ManDocVisitor::visit(DocStyleChange *s)
m_t << ".PP" << endl;
m_firstCol=TRUE;
}
break;
break;
case DocStyleChange::Div: /* HTML only */ break;
case DocStyleChange::Span: /* HTML only */ break;
}
}
......
......@@ -465,6 +465,10 @@ QCString MemberDef::getOutputFileBase() const
{
return nspace->getOutputFileBase();
}
//else if (group)
//{
// return group->getOutputFileBase();
//}
else if (fileDef)
{
return fileDef->getOutputFileBase();
......
......@@ -574,7 +574,7 @@ void PerlModDocVisitor::visit(DocSymbol *sy)
void PerlModDocVisitor::visit(DocURL *u)
{
openItem("url");
m_output.addQuoted(u->url());
m_output.addFieldQuotedString("content", u->url());
closeItem();
}
......@@ -594,6 +594,8 @@ void PerlModDocVisitor::visit(DocStyleChange *s)
case DocStyleChange::Center: style = "center"; break;
case DocStyleChange::Small: style = "small"; break;
case DocStyleChange::Preformatted: style = "preformatted"; break;
case DocStyleChange::Div: style = "div"; break;
case DocStyleChange::Span: style = "span"; break;
}
openItem("style");
......
......@@ -124,6 +124,12 @@ class PrintDocVisitor : public DocVisitor
case DocStyleChange::Preformatted:
if (s->enable()) printf("<pre>"); else printf("</pre>");
break;
case DocStyleChange::Div:
if (s->enable()) printf("<div>"); else printf("</div>");
break;
case DocStyleChange::Span:
if (s->enable()) printf("<span>"); else printf("</span>");
break;
}
}
void visit(DocVerbatim *s)
......
......@@ -277,6 +277,8 @@ void RTFDocVisitor::visit(DocStyleChange *s)
m_t << "}" << endl;
}
break;
case DocStyleChange::Div: /* HTML only */ break;
case DocStyleChange::Span: /* HTML only */ break;
}
}
......
......@@ -121,11 +121,10 @@ static QCString baseName;
static QCString* specName;
static QCString formulaText;
static bool useOverrideCommands = FALSE;
static bool insideIDL = FALSE;
static bool insideJava = FALSE;
static bool insideCS = FALSE;
static bool insidePHP = FALSE;
static bool insidePHPCode = FALSE;
static bool insideIDL = FALSE; //!< processing IDL code?
static bool insideJava = FALSE; //!< processing Java code?
static bool insideCS = FALSE; //!< processing C# code?
static bool insidePHP = FALSE; //!< processing PHP code?
static bool insideCppQuote = FALSE;
static int argRoundCount;
......@@ -451,7 +450,7 @@ static void setContext()
insideJava = fileName.right(5)==".java";
insideCS = fileName.right(3)==".cs";
insidePHP = fileName.right(4)==".php" || fileName.right(5)==".php4" ||
fileName.right(4)==".inc";
fileName.right(4)==".inc" || fileName.right(6)==".phtml";
if ( insidePHP )
{
useOverrideCommands = TRUE;
......@@ -536,6 +535,7 @@ OL [oO][lL]
DL [dD][lL]
TITLE [tT][iI][tT][lL][eE]
CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
%option noyywrap
......@@ -670,6 +670,8 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
%x JavaImport
%x CSAccessorDecl
%x PreLineCtrl
%x DefinePHP
%x DefinePHPEnd
%%
......@@ -755,16 +757,22 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN( FindMembers );
}
<FindMembersPHP>"<?"("php"?) { // PHP code start
insidePHPCode = TRUE;
BEGIN( FindMembers );
}
<FindMembersPHP>. { // Non-PHP code text, ignore
}
<FindMembers>"?>" { // PHP code end
insidePHPCode = FALSE;
BEGIN( FindMembersPHP );
if (insidePHP)
BEGIN( FindMembersPHP );
else
REJECT;
}
<FindMembers>{PHPKW} { if (insidePHP)
BEGIN( NextSemi );
else
REJECT;
}
<FindMembers>{B}*("properties"|"__property"){BN}*":"{BN}* { // IDL or Borland C++ builder property
current->mtype = mtype = Property;
current->protection = protection = Public ;
......@@ -1263,12 +1271,17 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->name+=*yytext;
// *currentTemplateSpec+=*yytext;
}
<FindMembers>"define"{BN}*"("{BN}*["'] {
if (insidePHP)
{
current->bodyLine = yyLineNr;
BEGIN( DefinePHP );
}
else
REJECT;
}
<FindMembers,FindMemberName>{SCOPENAME} {
lineCount();
// if ( insidePHP && strcmp(yytext,"define")==0)
// {
// BEGIN(DefinePHP);
// }
if (insideIDL && yyleng==9 && strcmp(yytext,"cpp_quote")==0)
{
BEGIN(CppQuote);
......@@ -1362,10 +1375,13 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
insideCppQuote=FALSE;
BEGIN(FindMembers);
}
<FindMembers>{B}*"#" { lastCPPContext = YY_START;
BEGIN( SkipCPP ) ;
<FindMembers>{B}*"#" { if (insidePHP)
REJECT;
lastCPPContext = YY_START;
BEGIN( SkipCPP ) ;
}
<FindMembers>{B}*"#"{B}*"define" {
<FindMembers>{B}*"#"{B}*"define" { if (insidePHP)
REJECT;
current->bodyLine = yyLineNr;
BEGIN( Define );
}
......@@ -1428,6 +1444,20 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
initEntry();
BEGIN(FindMembers);
}
<DefinePHPEnd>";" {
//printf("End define\n");
current->fileName = yyFileName;
current->startLine = yyLineNr;
current->type.resize(0);
current->args = current->args.simplifyWhiteSpace();
current->name = current->name.stripWhiteSpace();
current->section = Entry::ENUM_SEC; //HACK!
current_root->addSubEntry(current);
current = new Entry ;
initEntry();
BEGIN(FindMembers);
}
<DefinePHPEnd>.
<DefineEnd>\\[\r]?\n {
yyLineNr++;
}
......@@ -1443,7 +1473,19 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
}
<DefineEnd>.
<DefinePHP>{ID}["']{BN}*","{BN}* {
current->name = yytext;
current->name = current->name.stripWhiteSpace();
current->name = current->name.left(current->name.length()-1).stripWhiteSpace();
current->name = current->name.left(current->name.length()-1);
current->args = "(";
current->bodyLine = yyLineNr;
lastRoundContext = DefinePHPEnd;
pCopyRoundString = &current->args;
roundCount = 0;
BEGIN( CopyRound );
}
<FindMembers>[*&]+ { current->name += yytext ;
addType( current );
}
......@@ -1864,6 +1906,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
*/
<ReadBody>[^\r\n\#{}"'/]* { current->program += yytext ; }
<ReadBody>"//".* { current->program += yytext ; }
<ReadBody>"#".* { if (! insidePHP)
REJECT;
current->program += yytext ;
}
<ReadBody>\" { current->program += yytext ;
pCopyQuotedString = &current->program;
lastStringContext=YY_START;
......@@ -2242,7 +2288,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
/*- Function argument reading rules ---------------------------------------*/
<ReadFuncArgType>[^ \/\r\t\n\)\(\"\']+ { *copyArgString+=yytext;
<ReadFuncArgType>[^ \/\r\t\n\)\(\"\'#]+ { *copyArgString+=yytext;
fullArgString+=yytext;
}
<CopyArgString>[^\n\\\"\']+ { *copyArgString+=yytext;
......@@ -2301,6 +2347,21 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN( CopyArgComment );
}
}
/* a non-special comment */
<ReadFuncArgType,ReadTempArgs>"/*" {
lastCContext = YY_START;
BEGIN( SkipComment );
}
<ReadFuncArgType,ReadTempArgs>"//" {
lastCContext = YY_START;
BEGIN( SkipCxxComment );
}
<ReadFuncArgType,ReadTempArgs>"#" {
if (! insidePHP)
REJECT;
lastCContext = YY_START;
BEGIN( SkipCxxComment );
}
/* `)' followed by a special comment */
<ReadFuncArgType>")"{BN}*("/*"[*!]|"//"[/!])"<" {
lineCount();
......@@ -2432,7 +2493,9 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN( FuncQual ) ;
}
/*
<FuncQual>"#" { lastCPPContext = YY_START;
<FuncQual>"#" { if (insidePHP)
REJECT;
lastCPPContext = YY_START;
BEGIN(SkipCPP);
}
*/
......@@ -2525,7 +2588,9 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
roundCount=0;
BEGIN( FuncRound ) ;
}
<Function>"#" { lastCPPContext = YY_START;
<Function>"#" { if (insidePHP)
REJECT;
lastCPPContext = YY_START;
BEGIN(SkipCPP);
}
<Function>":" {
......@@ -2709,8 +2774,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN( SkipString );
}
<SkipCurly>^{B}*"#" {
if (insidePHP)
REJECT;
//addToBody(yytext);
BEGIN( SkipCurlyCpp );
BEGIN( SkipCurlyCpp );
}
<SkipCurly,SkipInits>\n {
yyLineNr++;
......@@ -2746,6 +2813,13 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
);
BEGIN( FindMembers );
}
<SkipInits,SkipCurly,SkipCurlyCpp>"#" {
if (! insidePHP)
REJECT;
//addToBody(yytext);
lastCContext = YY_START;
BEGIN(SkipCxxComment);
}
<SkipInits,SkipCurly,SkipCurlyCpp>. {
//addToBody(yytext);
}
......@@ -3704,26 +3778,66 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->doc+=yytext;
BEGIN(AnchorLabel);
}
<Doc,PageDoc,ClassDoc>("\\\\"|"@@")"verbatim"/[^a-z_A-Z0-9] {
<Doc,PageDoc,ClassDoc>("\\\\"|"@@")("verbatim"|"latexonly"|"htmlonly")/[^a-z_A-Z0-9] {
current->doc+="\\\\verbatim";
}
<JavaDoc>("\\\\"|"@@")("verbatim"|"latexonly"|"htmlonly")/[^a-z_A-Z0-9] {
current->brief+="\\\\verbatim";
}
<Doc,PageDoc,ClassDoc>{CMD}"verbatim"/[^a-z_A-Z0-9] {
lastVerbState=YY_START;
current->doc+="\\verbatim";
BEGIN(SkipVerbatim);
}
<JavaDoc>{CMD}"verbatim"/[^a-z_A-Z0-9] {
lastVerbState=YY_START;
current->brief+="\\verbatim";
BEGIN(SkipVerbatim);
}
<Doc,PageDoc,ClassDoc>{CMD}"latexonly"/[^a-z_A-Z0-9] {
lastVerbState=YY_START;
current->doc+="\\latexonly";
BEGIN(SkipVerbatim);
}
<JavaDoc>{CMD}"latexonly"/[^a-z_A-Z0-9] {
lastVerbState=YY_START;
current->brief+="\\latexonly";
BEGIN(SkipVerbatim);
}
<Doc,PageDoc,ClassDoc>{CMD}"htmlonly"/[^a-z_A-Z0-9] {
lastVerbState=YY_START;
current->doc+="\\htmlonly";
BEGIN(SkipVerbatim);
}
<JavaDoc>{CMD}"htmlonly"/[^a-z_A-Z0-9] {
lastVerbState=YY_START;
current->brief+="\\htmlonly";
BEGIN(SkipVerbatim);
}
<Doc,PageDoc,ClassDoc>{CMD}"addindex"{B}+[^\n]+ {
current->doc+=yytext;
}
<JavaDoc>{CMD}"addindex"{B}+[^\n]+ {
current->brief+=yytext;
}
<Doc,PageDoc,ClassDoc>("\\\\"|"@@")"code"/[^a-z_A-Z0-9] {
current->doc+="\\\\code";
}
<JavaDoc>("\\\\"|"@@")"code"/[^a-z_A-Z0-9] {
current->brief+="\\\\code";
}
<Doc,PageDoc,ClassDoc>{CMD}"code"/[^a-z_A-Z0-9] {
lastCodeState=YY_START;
current->doc+="\\code";
pSkipDoc=&current->doc;
BEGIN(SkipCode);
}
<JavaDoc>{CMD}"code"/[^a-z_A-Z0-9] {
lastCodeState=YY_START;
current->brief+="\\code";
pSkipDoc=&current->brief;
BEGIN(SkipCode);
}
<Doc,PageDoc,ClassDoc>"<"{PRE}{ATTR}">" {
lastCodeState=YY_START;
current->doc+="<PRE>";
......@@ -3736,27 +3850,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
pSkipDoc=&current->brief;
BEGIN(SkipCode);
}
<JavaDoc>("\\\\"|"@@")"verbatim"/[^a-z_A-Z0-9] {
current->brief+="\\\\verbatim";
}
<JavaDoc>{CMD}"verbatim"/[^a-z_A-Z0-9] {
lastVerbState=YY_START;
current->brief+="\\verbatim";
BEGIN(SkipVerbatim);
}
<JavaDoc>{CMD}"addindex"{B}+[^\n]+ {
current->brief+=yytext;
}
<JavaDoc>("\\\\"|"@@")"code"/[^a-z_A-Z0-9] {
current->brief+="\\\\code";
}
<JavaDoc>{CMD}"code"/[^a-z_A-Z0-9] {
lastCodeState=YY_START;
current->brief+="\\code";
pSkipDoc=&current->brief;
BEGIN(SkipCode);
}
<SkipVerbatim>{CMD}"endverbatim"/[^a-z_A-Z0-9] {
<SkipVerbatim>{CMD}("endverbatim"|"endlatexonly"|"endhtmlonly")/[^a-z_A-Z0-9] {
current->doc+=yytext;
BEGIN(lastVerbState);
}
......@@ -4581,6 +4675,12 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN(EndCppQuote);
}
}
<*>"#" {
if (! insidePHP)
REJECT;
lastCContext = YY_START ;
BEGIN( SkipCxxComment ) ;
}
<*>.
<SkipComment>"//"|"/*"
<*>"/*" { lastCContext = YY_START ;
......
......@@ -100,7 +100,7 @@ class TranslatorGerman : public Translator
virtual QCString latexLanguageSupportCommand()
{
QCString result="\\usepackage{ngerman}\n";
result+="\\usepackage{t1enc}% Trennung verbessern bei Umlauten\n";
result+="\\usepackage[latin1]{inputenc}\n";
//result+="%\\usepackage[latin1]{inputenc}% Kodierung (cp850,latin1,ansinew)\n";
return result;
}
......
......@@ -2,7 +2,7 @@
*
*
*
* Copyright (C) 1997-2003 by Dimitri van Heesch.
* Copyright (C) 1997-2002 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
......@@ -18,9 +18,7 @@
#ifndef TRANSLATOR_KR_H
#define TRANSLATOR_KR_H
#include "translator_adapter.h"
class TranslatorKorean : public TranslatorAdapter_1_2_13
class TranslatorKorean : public Translator
{
public:
......@@ -66,7 +64,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! used in the compound documentation before a list of related functions. */
virtual QCString trRelatedFunctions()
{ return "관련된 함수"; }
{ return "관련된 함수"; }
/*! subscript for the related functions. */
virtual QCString trRelatedSubscript()
......@@ -74,7 +72,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! header that is put before the detailed description of files, classes and namespaces. */
virtual QCString trDetailedDescription()
{ return "상세한 내용"; }
{ return "세부 사항"; }
/*! header that is put before the list of typedefs. */
virtual QCString trMemberTypedefDocumentation()
......@@ -82,7 +80,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! header that is put before the list of enumerations. */
virtual QCString trMemberEnumerationDocumentation()
{ return "구성원(member) 열거 문서화"; }
{ return "멤버 열거형 문서화"; }
/*! header that is put before the list of member functions. */
virtual QCString trMemberFunctionDocumentation()
......@@ -94,33 +92,33 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
// TODO: This need to be translated. -ryk11/22/01.
return "멤서 데이타 문서화";
return "멤버 변수 문서화";
}
else
{
return "멤서 데이타 문서화";
return "멤버 변수 문서화";
}
}
/*! this is the text of a link put after brief descriptions. */
virtual QCString trMore()
{ return "More..."; }
{ return "세부 사항 보기"; }
/*! put in the class documentation */
virtual QCString trListOfAllMembers()
{ return "모든 구성원들(members)의 명단"; }
{ return "전체 멤버 목록 보기"; }
/*! used as the title of the "list of all members" page of a class */
virtual QCString trMemberList()
{ return "구성원(member) 명단"; }
{ return "멤버(멤버함수, 멤버변수 등) 목록"; }
/*! this is the first part of a sentence that is followed by a class name */
virtual QCString trThisIsTheListOfAllMembers()
{ return "완전한 구성원들(members)의 명단 " ; }
{ return "모든 멤버(멤버함수, 멤버변수 등) 목록 " ; }
/*! this is the remainder of the sentence after the class name */
virtual QCString trIncludingInheritedMembers()
{ return ", 상속받은 모든 구성원(members)들도 포함"; }
{ return ", 상속받은 모든 멤버도 포함"; }
/*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name.
......@@ -128,21 +126,21 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
virtual QCString trGeneratedAutomatically(const char *s)
{ QCString result="";
if (s) result+=(QCString)s+"에 ";
result += "source 코드로 부터 Doxygen에 의해 자동으로 생성";
result += "source 코드로 부터 Doxygen에 의해 자동으로 생성";
return result;
}
/*! put after an enum name in the list of all members */
virtual QCString trEnumName()
{ return "열거 이름"; }
{ return "열거 이름"; }
/*! put after an enum value in the list of all members */
virtual QCString trEnumValue()
{ return "열거 값"; }
{ return "열거 값"; }
/*! put after an undocumented member in the list of all members */
virtual QCString trDefinedIn()
{ return "에서 정의"; }
{ return "에서 정의"; }
// quick reference sections
......@@ -150,11 +148,11 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* compounds or files (see the \\group command).
*/
virtual QCString trModules()
{ return "모듈"; }
{ return "모듈"; }
/*! This is put above each page as a link to the class hierarchy */
virtual QCString trClassHierarchy()
{ return "클래스 계층(도)"; } // "클래스 조직" or "클래스 분류체계"
{ return "클래스 계통도"; } // "클래스 조직" or "클래스 분류체계"
/*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList()
......@@ -162,12 +160,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
//Alternate text: "혼합 목록", "합성(집합) 명단(리스트)"
return "혼합 목록";
return "복합구조(클래스, 구조체, 공용체)";
}
else
{
//TODO: This needs to be translated. -ryk11/22/01.
return "혼합 목록";
return "복합구조(클래스, 구조체, 공용체)";
}
}
......@@ -177,7 +175,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! This is put above each page as a link to the list of all verbatim headers */
virtual QCString trHeaderFiles()
{ return "헤더 파일"; }
{ return "헤더 파일"; }
/*! This is put above each page as a link to all members of compounds. */
virtual QCString trCompoundMembers()
......@@ -185,12 +183,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
// TODO: This need to be translated. -ryk11/22/01.
return "혼합 멤버들";
return "복합구조(클래스, 구조체, 공용체) 멤버";
}
else
{
// Alternate text: "합성(집합) 명단(멤버들)"
return "혼합 멤버들";
return "복합구조(클래스, 구조체, 공용체) 멤버";
}
}
......@@ -200,21 +198,21 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
// TODO: This needs to be translated. -ryk11/22/01.
return "파일 멤버";
return "파일 멤버";
}
else
{
return "파일 멤버";
return "파일 멤버";
}
}
/*! This is put above each page as a link to all related pages. */
virtual QCString trRelatedPages()
{ return "관련된 페이지"; }
{ return "관련된 페이지"; }
/*! This is put above each page as a link to all examples. */
virtual QCString trExamples()
{ return "예제"; }
{ return "예제"; }
/*! This is put above each page as a link to the search engine. */
virtual QCString trSearch()
......@@ -222,14 +220,14 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! This is an introduction to the class hierarchy. */
virtual QCString trClassHierarchyDescription()
{ return "이 상속 목록은 완전하지는 않지만 알파벳순으로 분류되었습니다.";}
{ return "이 상속 목록은 알파벳 순으로 정렬되어있습니다. (완전하지는 않음)";}
/*! This is an introduction to the list with all files. */
virtual QCString trFileListDescription(bool extractAll)
{
QCString result="이것은 간략한 설명을 가진 모든 ";
QCString result="다음은 간략한 설명을 가진 ";
if (!extractAll) result+="문서화된 ";
result+="파일들에 대한 목록입니다.";
result+="모든 파일에 대한 목록입니다.";
return result;
}
......@@ -239,20 +237,20 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
// TODO: This needs to be translated. -ryk11/22/01.
return "이것은 간략한 설명을 가진 클래스들, "
"구조체들, 공용체들, 그리고 인터페이스들입니다.";
return "다음은 간략한 설명을 가진 클래스, "
"구조체, 공용체, 인터페이스의 목록입니다.";
}
else
{
return "이것은 간략한 설명을 가진 클래스들, "
"구조체들, 공용체들, 그리고 인터페이스들입니다.";
return "다음은 간략한 설명을 가진 클래스, "
"구조체, 공용체, 인터페이스의 목록입니다.";
}
}
/*! This is an introduction to the page with all class members. */
virtual QCString trCompoundMembersDescription(bool extractAll)
{
QCString result="이곳에 모든 리스트가 있습니다";
QCString result="다음은 문서화된 모든 클래스, 구조체, 공용체 멤버에 대한 목록입니다. ";
if (!extractAll)
{
result+="문서화된 ";
......@@ -260,47 +258,47 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
// TODO: This need to be translated. -ryk11/22/01.
result+="링크가 된 클래스 멤버들 ";
result+="링크 된 클래스 멤버는 ";
}
else
{
result+="링크가 된 클래스 멤버들 ";
result+="링크 된 클래스 멤버는 ";
}
if (extractAll)
result+="각각의 멤버를 위한 클래스 문서:";
result+="그 멤버에 대한 클래스 문서화로 갑니다.";
else
result+="이하로 속한 클래스:";
result+="이하로 속한 클래스:";
return result;
}
/*! This is an introduction to the page with all file members. */
virtual QCString trFileMembersDescription(bool extractAll)
{
QCString result="이곳에 모든 리스트가 있습니다";
QCString result="다음은 문서화된 모든 파일에 대한 목록입니다. ";
if (!extractAll) result+="문서화된 ";
result+="링크가 된 파일 멤버들 ";
result+="링크 된 파일 멤버는 ";
if (extractAll)
result+="각 멤버들에 대한 파일 문서화";
result+="그 멤버에 대한 파일 문서화로 갑니다.";
else
result+="그것들이 속해있는 파일들";
result+="그들이 속해있는 파일로 갑니다.";
return result;
}
/*! This is an introduction to the page with the list of all header files. */
virtual QCString trHeaderFilesDescription()
{ return "이것은 API를 구성하는 헤더 파일들입니다."; }
{ return "다음은 API를 구성하는 헤더 파일입니다."; }
/*! This is an introduction to the page with the list of all examples */
virtual QCString trExamplesDescription()
{ return "이것은 모든 예제들의 목록입니다."; }
{ return "다음은 모든 예제의 목록입니다."; }
/*! This is an introduction to the page with the list of related pages */
virtual QCString trRelatedPagesDescription()
{ return "이것은 모든 관련된 문서화 페이지들의 목록입니다."; }
{ return "다음은 모든 관련된 문서화 페이지의 목록입니다."; }
/*! This is an introduction to the page with the list of class/file groups */
virtual QCString trModulesDescription()
{ return "이것은 모든 모듈들의 목록입니다."; }
{ return "다음은 모든 모듈의 목록입니다."; }
/*! This sentences is used in the annotated class/file lists if no brief
* description is given.
......@@ -331,7 +329,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* annotated compound index.
*/
virtual QCString trCompoundIndex()
{ return "합성 인덱스"; }
{ return "복합구조(클래스, 구조체, 공용체) 색인"; }
/*! This is used in LaTeX as the title of the chapter with the
* list of all files.
......@@ -377,49 +375,49 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* list of defines
*/
virtual QCString trDefines()
{ return "정의들"; }
{ return "매크로, #define"; }
/*! This is used in the documentation of a file as a header before the
* list of function prototypes
*/
virtual QCString trFuncProtos()
{ return "함수 원형"; }
{ return "함수 원형"; }
/*! This is used in the documentation of a file as a header before the
* list of typedefs
*/
virtual QCString trTypedefs()
{ return "타입 정의"; }
{ return "타입 정의"; }
/*! This is used in the documentation of a file as a header before the
* list of enumerations
*/
virtual QCString trEnumerations()
{ return "Enumerations"; }
{ return "열거형"; }
/*! This is used in the documentation of a file as a header before the
* list of (global) functions
*/
virtual QCString trFunctions()
{ return "함수"; }
{ return "함수"; }
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trVariables()
{ return "변수"; }
{ return "변수"; }
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trEnumerationValues()
{ return "열거체 값들"; }
{ return "열거형 값"; }
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
virtual QCString trDefineDocumentation()
{ return "정의 문서화"; }
{ return "#define 문서화"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes
......@@ -437,13 +435,13 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* of documentation blocks for enumeration types
*/
virtual QCString trEnumerationTypeDocumentation()
{ return "열거 타입 문서화"; }
{ return "열거 타입 문서화"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual QCString trEnumerationValueDocumentation()
{ return "열거 값 문서화"; }
{ return "열거 값 문서화"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
......@@ -461,7 +459,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* the list of links to documented compounds
*/
virtual QCString trCompounds()
{ return "혼합들"; }
{ return "복합구조"; }
/*! This is used in the standard footer of each page and indicates when
* the page was generated
......@@ -469,8 +467,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
virtual QCString trGeneratedAt(const char *date,const char *projName)
{
QCString result="";
if (projName) result+=(QCString)projName+"에 대해 ";
result += (QCString)date+" 생성 by";
if (projName) result+=(QCString)projName+" 문서화. ";
result += "생성일시 : " +(QCString)date+" by";
return result;
}
/*! This is part of the sentence used in the standard footer of each page.
......@@ -492,7 +490,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! this text is generated when the \\reimp command is used. */
virtual QCString trReimplementedForInternalReasons()
{ return "내부적 이유를 위해 재구현된: API가 영향을 받지않았다."; }
{ return "내부적 이유로 인해 재구현된: API가 영향을 받지않았다."; }
/*! this text is generated when the \\warning command is used. */
virtual QCString trWarning()
......@@ -500,7 +498,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! this text is generated when the \\bug command is used. */
virtual QCString trBugsAndLimitations()
{ return "버그들과 한계들"; }
{ return "버그와 한계"; }
/*! this text is generated when the \\version command is used. */
virtual QCString trVersion()
......@@ -512,19 +510,19 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! this text is generated when the \\return command is used. */
virtual QCString trReturns()
{ return "반환"; }
{ return "반환"; }
/*! this text is generated when the \\sa command is used. */
virtual QCString trSeeAlso()
{ return "참조하시요"; }
{ return "참조"; }
/*! this text is generated when the \\param command is used. */
virtual QCString trParameters()
{ return "매개변수"; }
{ return "매개변수"; }
/*! this text is generated when the \\exception command is used. */
virtual QCString trExceptions()
{ return "예외"; }
{ return "예외"; }
/*! this text is used in the title page of a LaTeX document. */
virtual QCString trGeneratedBy()
......@@ -536,14 +534,14 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! used as the title of page containing all the index of all namespaces. */
virtual QCString trNamespaceList()
{ return "이름공간 목록"; }
{ return "namespace 목록"; }
/*! used as an introduction to the namespace list */
virtual QCString trNamespaceListDescription(bool extractAll)
{
QCString result="이것은 모든 간략한 설명을 가진 ";
QCString result="다음은 간략한 설명을 가진 ";
if (!extractAll) result+="문서화된 ";
result+="이름공간의 목록입니다:";
result+="namespace의 목록입니다.";
return result;
}
......@@ -551,7 +549,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* friends of a class
*/
virtual QCString trFriends()
{ return "프렌드"; }
{ return "friend"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
......@@ -561,7 +559,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* related classes
*/
virtual QCString trRelatedFunctionDocumentation()
{ return "프렌드, 그리고 관련된 함수 문서화"; }
{ return "friend, 그리고 관련된 함수 문서화"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
......@@ -598,30 +596,30 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
virtual QCString trNamespaceReference(const char *namespaceName)
{
QCString result=namespaceName;
result+=" 이름 공간 참조";
result+=" namespace 참조";
return result;
}
virtual QCString trPublicMembers()
{ return "공용 메소드"; }
{ return "public 메소드"; }
virtual QCString trPublicSlots()
{ return "공용 Slots"; }
{ return "public slots"; }
virtual QCString trSignals()
{ return "신호"; }
virtual QCString trStaticPublicMembers()
{ return "정적 공용 메소드"; }
{ return "static public 메소드"; }
virtual QCString trProtectedMembers()
{ return "프로텍티드 메소드"; }
{ return "protected 메소드"; }
virtual QCString trProtectedSlots()
{ return "Protected Slots"; }
{ return "protected slots"; }
virtual QCString trStaticProtectedMembers()
{ return "정적 프로텍티드 메소드"; }
{ return "static protected 메소드"; }
virtual QCString trPrivateMembers()
{ return "프라이베이트 메소드"; }
{ return "private 메소드"; }
virtual QCString trPrivateSlots()
{ return "Private Slots"; }
{ return "private slots"; }
virtual QCString trStaticPrivateMembers()
{ return "정적 프라이베이트 메소드"; }
{ return "static private 메소드"; }
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
......@@ -642,7 +640,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
if (i<numEntries-2) // not the fore last entry
result+=", ";
else // the fore last entry
result+=", and ";
result+=", ";
}
}
return result;
......@@ -661,7 +659,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/
virtual QCString trInheritedByList(int numEntries)
{
return trWriteList(numEntries)+"에 의해 상속.";
return trWriteList(numEntries)+"에 의해 상속되었습니다.";
}
/*! used in member documentation blocks to produce a list of
......@@ -669,7 +667,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/
virtual QCString trReimplementedFromList(int numEntries)
{
return trWriteList(numEntries)+"으로부터 재구현.";
return trWriteList(numEntries)+"으로부터 재구현되었습니다.";
}
/*! used in member documentation blocks to produce a list of
......@@ -677,37 +675,37 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/
virtual QCString trReimplementedInList(int numEntries)
{
return trWriteList(numEntries)+"에서 재구현.";
return trWriteList(numEntries)+"에서 재구현되었습니다.";
}
/*! This is put above each page as a link to all members of namespaces. */
virtual QCString trNamespaceMembers()
{ return "이름공간 멤버들"; }
{ return "namespace 멤버"; }
/*! This is an introduction to the page with all namespace members */
virtual QCString trNamespaceMemberDescription(bool extractAll)
{
QCString result="이것은 모든 ";
QCString result="다음은 모든 ";
if (!extractAll) result+="문서화된 ";
result+="이름공간 멤버들의 목록입니다.";
result+="namespace 멤버의 목록입니다. ";
if (extractAll)
result+="각 멤버들에 대한 문서화에 ";
result+="각 멤버에 대한 문서화의 ";
else
result+="속해있는 이름공간에 ";
result+="링크도있읍니다.";
result+="속해있는 namespace의 ";
result+="링크도 있습니다.";
return result;
}
/*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces.
*/
virtual QCString trNamespaceIndex()
{ return "이름공간 색인"; }
{ return "namespace 색인"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all namespaces.
*/
virtual QCString trNamespaceDocumentation()
{ return "이름공간 문서화"; }
{ return "namespace 문서화"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
......@@ -717,7 +715,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* namespaces in a file.
*/
virtual QCString trNamespaces()
{ return "이름공간"; }
{ return "namespace"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990728
......@@ -741,7 +739,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
}
result+="을 위한 문서화는 다음의 파일";
if (!single) result+="들";
result+="로부터 생성되었습니다:";
result+="로부터 생성되었습니다.";
return result;
}
......@@ -749,7 +747,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* list.
*/
virtual QCString trAlphabeticalList()
{ return "알파벳순서의 목록"; }
{ return "알파벳순 목록"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990901
......@@ -762,7 +760,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! This is in the (quick) index as a link to the main page (index.html)
*/
virtual QCString trMainPage()
{ return "주요 페이지"; }
{ return "메인 페이지"; }
/*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
......@@ -780,11 +778,11 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
}
virtual QCString trDefinedAtLineInSourceFile()
{
return "파일 @1. 의 @0 번째 라인에서 정의";
return "@1 파일의 @0 번째 라인에서 정의";
}
virtual QCString trDefinedInSourceFile()
{
return "파일 @0. 에서 정의";
return "@0 파일에서 정의";
}
//////////////////////////////////////////////////////////////////////////
......@@ -803,7 +801,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! this text is put before a collaboration diagram */
virtual QCString trCollaborationDiagram(const char *clName)
{
return (QCString)clName+"에 대한 원조 도표:";
return (QCString)clName+"에 대한 협력 도표:";
}
/*! this text is put before an include dependency graph */
virtual QCString trInclDepGraph(const char *fName)
......@@ -818,12 +816,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used in the file documentation to point to the corresponding sources. */
virtual QCString trGotoSourceCode()
{
return "이 파일에 대한 소스 코드로 가시오";
return "이 파일에 대한 소스 코드 보기";
}
/*! Used in the file sources to point to the corresponding documentation. */
virtual QCString trGotoDocumentation()
{
return "이 파일의 문서화로 가시오";
return "이 파일의 문서화 보기";
}
/*! Text for the \\pre command */
virtual QCString trPrecondition()
......@@ -852,15 +850,15 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
}
virtual QCString trGraphicalHierarchy()
{
return "도표 클래스 분류체계"; // "도표의 클래스 조직"
return "도표로된 클래스 분류체계"; // "도표의 클래스 조직"
}
virtual QCString trGotoGraphicalHierarchy()
{
return "도표의 클래스 분류체계로 가시오"; // "도표의 클래스 조직으로 가시오"
return "도표로된 클래스 분류체계 보기"; // "도표의 클래스 조직으로 가시오"
}
virtual QCString trGotoTextualHierarchy()
{
return "문자의 클래스 분류체계로 가시오"; // "문자의 클래스 조직으로 가시오"
return "문자로된 클래스 분류체계 보기"; // "문자의 클래스 조직으로 가시오"
}
virtual QCString trPageIndex()
{
......@@ -873,50 +871,50 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
virtual QCString trNote()
{
return "Note"; // TODO: Need to be translated. -ryk11/22/01.
return "노트"; // TODO: Need to be translated. -ryk11/22/01.
}
virtual QCString trPublicTypes()
{
return "Public Types"; // TODO: Need to be translated. -ryk11/22/01.
return "public 타입"; // TODO: Need to be translated. -ryk11/22/01.
}
virtual QCString trPublicAttribs()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Fields"; // TODO: Need to be translated. -ryk11/22/01.
return "Data 필드"; // TODO: Need to be translated. -ryk11/22/01.
}
else
{
return "Public Attributes"; // TODO: Need to be translated. -ryk11/22/01.
return "public 속성"; // TODO: Need to be translated. -ryk11/22/01.
}
}
virtual QCString trStaticPublicAttribs()
{
return "Static Public Attributes"; // TODO: Need to be translated. -ryk11/22/01.
return "static public 속성"; // TODO: Need to be translated. -ryk11/22/01.
}
virtual QCString trProtectedTypes()
{
return "Protected Types"; // TODO: Need to be translated. -ryk11/22/01.
return "protected 타입"; // TODO: Need to be translated. -ryk11/22/01.
}
virtual QCString trProtectedAttribs()
{
return "Protected Attributes"; // TODO: Need to be translated. -ryk11/22/01.
return "protected 속성"; // TODO: Need to be translated. -ryk11/22/01.
}
virtual QCString trStaticProtectedAttribs()
{
return "Static Protected Attributes"; // TODO: Need to be translated. -ryk11/22/01.
return "static protected 속성"; // TODO: Need to be translated. -ryk11/22/01.
}
virtual QCString trPrivateTypes()
{
return "Private Types"; // TODO: Need to be translated. -ryk11/22/01.
return "private 타입"; // TODO: Need to be translated. -ryk11/22/01.
}
virtual QCString trPrivateAttribs()
{
return "Private Attributes"; // TODO: Need to be translated. -ryk11/22/01.
return "private 속성"; // TODO: Need to be translated. -ryk11/22/01.
}
virtual QCString trStaticPrivateAttribs()
{
return "Static Private Attributes"; // TODO: Need to be translated. -ryk11/22/01.
return "static private 속성"; // TODO: Need to be translated. -ryk11/22/01.
}
//////////////////////////////////////////////////////////////////////////
......@@ -931,7 +929,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used as the header of the todo list */
virtual QCString trTodoList()
{
return "Todo List"; // TODO: Need to be translated. -ryk11/22/01.
return "Todo 목록"; // TODO: Need to be translated. -ryk11/22/01.
}
//////////////////////////////////////////////////////////////////////////
......@@ -940,15 +938,15 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
virtual QCString trReferencedBy()
{
return "Referenced by"; // TODO: Need to be translated. -ryk11/22/01.
return "참조하는 곳"; // TODO: Need to be translated. -ryk11/22/01.
}
virtual QCString trRemarks()
{
return "Remarks"; // TODO: Need to be translated. -ryk11/22/01.
return "설명"; // TODO: Need to be translated. -ryk11/22/01.
}
virtual QCString trAttention()
{
return "Attention"; // TODO: Need to be translated. -ryk11/22/01.
return "주의"; // TODO: Need to be translated. -ryk11/22/01.
}
virtual QCString trInclByDepGraph()
{
......@@ -968,7 +966,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! title of the graph legend page */
virtual QCString trLegendTitle()
{
return "Graph Legend"; // TODO: Need to be translated. -ryk11/22/01.
return "그래프 설명"; // TODO: Need to be translated. -ryk11/22/01.
}
/*! page explaining how the dot graph's should be interpreted
* The %A in the text below are to prevent link to classes called "A".
......@@ -977,9 +975,11 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
{
// TODO: Need to be translated. -ryk11/22/01.
return
"This page explains how to interpret the graphs that are generated "
"by doxygen.<p>\n"
"Consider the following example:\n"
"Doxygen에 의해 생성된 도표를 보기위한 설명입니다.<p>\n"
//"This page explains how to interpret the graphs that are generated "
//"by doxygen.<p>\n"
"다음의 예제를 참고하세요.\n"
//"Consider the following example:\n"
"\\code\n"
"/*! Invisible class because of truncation */\n"
"class Invisible { };\n\n"
......@@ -1008,38 +1008,53 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
" Used *m_usedClass;\n"
"};\n"
"\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 240 this will result in the following graph:"
"설정 파일의 MAX_DOT_GRAPH_HEIGHT 플래그가 240으로 설정되었다면 다음의 그래프가 나올 것이다."
//"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
//"is set to 240 this will result in the following graph:"
"<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"박스에는 다음을 뜻한다.\n"
//"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
"<li>%A filled black box represents the struct or class for which the "
"graph is generated.\n"
"<li>%A box with a black border denotes a documented struct or class.\n"
"<li>%A box with a grey border denotes an undocumented struct or class.\n"
"<li>%A box with a red border denotes a documented struct or class for"
"which not all inheritance/containment relations are shown. %A graph is "
"truncated if it does not fit within the specified boundaries.\n"
"<li>%검은 상자는 그래프를 산출한 구조체나 클래스를 말한다.\n"
//"<li>%A filled black box represents the struct or class for which the "
//"graph is generated.\n"
"<li>%검은선으로된 상자는 문서화된 구조체나 클래스를 표시한다.\n"
//"<li>%A box with a black border denotes a documented struct or class.\n"
"<li>%회색선으로된 상자는 문서화되지 않은 구조체나 클래스를 표시한다.\n"
//"<li>%A box with a grey border denotes an undocumented struct or class.\n"
"<li>%빨간선으로된 상자는 모든 상속/containment 관계를 보이지 않은 문서화된 구조체나 클래스를 나타낸다. "
"지정된 경계안에 들어가지 않으면 그래프는 짤려진다.\n"
//"<li>%A box with a red border denotes a documented struct or class for"
//"which not all inheritance/containment relations are shown. %A graph is "
//"truncated if it does not fit within the specified boundaries.\n"
"</ul>\n"
"The arrows have the following meaning:\n"
"화살표는 다음을 뜻한다.\n"
//"The arrows have the following meaning:\n"
"<ul>\n"
"<li>%A dark blue arrow is used to visualize a public inheritance "
"relation between two classes.\n"
"<li>%A dark green arrow is used for protected inheritance.\n"
"<li>%A dark red arrow is used for private inheritance.\n"
"<li>%A purple dashed arrow is used if a class is contained or used "
"by another class. The arrow is labeled with the variable(s) "
"through which the pointed class or struct is accessible.\n"
"<li>%A yellow dashed arrow denotes a relation between a template instance and "
"the template class it was instantiated from. The arrow is labeled with "
"the template parameters of the instance.\n"
"<li>%어두운 파란 화살표는 두 클래스간의 public 상속관계를 나타낸다.\n"
//"<li>%A dark blue arrow is used to visualize a public inheritance "
//"relation between two classes.\n"
"<li>%어두운 녹색 화살표는 protected 상속관계를 나타낸다.\n"
//"<li>%A dark green arrow is used for protected inheritance.\n"
"<li>%어두운 빨강 화살표는 private 상속관계를 나타낸다.\n"
//"<li>%A dark red arrow is used for private inheritance.\n"
"<li>%밝은 자주색 화살표는 클래스에 의해 포함되더나 사용된 클래스를 나타낸다. "
"이 화살표의 라벨은 접근 가능한 변수명을 나타낸다.\n"
//"<li>%A purple dashed arrow is used if a class is contained or used "
//"by another class. The arrow is labeled with the variable(s) "
//"through which the pointed class or struct is accessible.\n"
"<li>%밝은 노랑색 화살표는 템플릿 인스턴스와 템플릿 클래스를 나타낸다. "
"이 화살표의 라벨은 그 인스턴스의 템플릿 매개변수를 나타낸다.\n"
//"<li>%A yellow dashed arrow denotes a relation between a template instance and "
//"the template class it was instantiated from. The arrow is labeled with "
//"the template parameters of the instance.\n"
"</ul>\n";
}
/*! text for the link to the legend page */
virtual QCString trLegend()
{
return "legend"; // TODO: Need to be translated. -ryk11/22/01.
return "설명"; // TODO: Need to be translated. -ryk11/22/01.
}
//////////////////////////////////////////////////////////////////////////
......@@ -1049,12 +1064,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used as a marker that is put before a test item */
virtual QCString trTest()
{
return "Test"; // TODO: Need to be translated. -ryk11/22/01.
return "테스트"; // TODO: Need to be translated. -ryk11/22/01.
}
/*! Used as the header of the test list */
virtual QCString trTestList()
{
return "Test List"; // TODO: Need to be translated. -ryk11/22/01.
return "테스트 목록"; // TODO: Need to be translated. -ryk11/22/01.
}
//////////////////////////////////////////////////////////////////////////
......@@ -1064,7 +1079,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used as a section header for KDE-2 IDL methods */
virtual QCString trDCOPMethods()
{
return "DCOP Methods"; // TODO: Need to be translated. -ryk11/22/01.
return "DCOP 메소드"; // TODO: Need to be translated. -ryk11/22/01.
}
//////////////////////////////////////////////////////////////////////////
......@@ -1074,12 +1089,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used as a section header for IDL properties */
virtual QCString trProperties()
{
return "Properties"; // TODO: Need to be translated. -ryk11/22/01.
return "properties"; // TODO: Need to be translated. -ryk11/22/01.
}
/*! Used as a section header for IDL property documentation */
virtual QCString trPropertyDocumentation()
{
return "Property Documentation"; // TODO: Need to be translated. -ryk11/22/01.
return "property 문서화"; // TODO: Need to be translated. -ryk11/22/01.
}
//////////////////////////////////////////////////////////////////////////
......@@ -1089,49 +1104,50 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used for Java interfaces in the summary section of Java packages */
virtual QCString trInterfaces()
{
return "Interfaces"; // TODO: Need to be translated. -ryk11/22/01.
return "인터페이스"; // TODO: Need to be translated. -ryk11/22/01.
}
/*! Used for Java classes in the summary section of Java packages */
virtual QCString trClasses()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structures"; // TODO: Need to be translated. -ryk11/22/01.
return "데이터 구조"; // TODO: Need to be translated. -ryk11/22/01.
}
else
{
return "Classes"; // TODO: Need to be translated. -ryk11/22/01.
return "클래스"; // TODO: Need to be translated. -ryk11/22/01.
}
}
/*! Used as the title of a Java package */
virtual QCString trPackage(const char *name)
{
return (QCString)"Package "+name; // TODO: Need to be translated. -ryk11/22/01.
return (QCString)"패키지 "+name; // TODO: Need to be translated. -ryk11/22/01.
}
/*! Title of the package index page */
virtual QCString trPackageList()
{
return "Package List"; // TODO: Need to be translated. -ryk11/22/01.
return "패키지 목록"; // TODO: Need to be translated. -ryk11/22/01.
}
/*! The description of the package index page */
virtual QCString trPackageListDescription()
{
return "Here are the packages with brief descriptions (if available):"; // TODO: Need to be translated. -ryk11/22/01.
//Here are the packages with brief descriptions (if available):"; // TODO: Need to be translated. -ryk11/22/01.
return "다음은 간략한 설명을 가진 패키지이다.";
}
/*! The link name in the Quick links header for each page */
virtual QCString trPackages()
{
return "Packages"; // TODO: Need to be translated. -ryk11/22/01.
return "패키지"; // TODO: Need to be translated. -ryk11/22/01.
}
/*! Used as a chapter title for Latex & RTF output */
virtual QCString trPackageDocumentation()
{
return "Package Documentation"; // TODO: Need to be translated. -ryk11/22/01.
return "패키지 문서화"; // TODO: Need to be translated. -ryk11/22/01.
}
/*! Text shown before a multi-line define */
virtual QCString trDefineValue()
{
return "Value:"; // TODO: Need to be translated. -ryk11/22/01.
return ":"; // TODO: Need to be translated. -ryk11/22/01.
}
//////////////////////////////////////////////////////////////////////////
......@@ -1141,12 +1157,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used as a marker that is put before a \\bug item */
virtual QCString trBug()
{
return "Bug"; // TODO: Need to be translated. -ryk11/22/01.
return "버그"; // TODO: Need to be translated. -ryk11/22/01.
}
/*! Used as the header of the bug list */
virtual QCString trBugList()
{
return "Bug List"; // TODO: Need to be translated. -ryk11/22/01.
return "버그 목록"; // TODO: Need to be translated. -ryk11/22/01.
}
//////////////////////////////////////////////////////////////////////////
......@@ -1195,7 +1211,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used as header RTF general index */
virtual QCString trRTFGeneralIndex()
{
return "Index"; // TODO: Need to be translated. -ryk11/22/01.
return "인덱스"; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
......@@ -1204,8 +1220,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/
virtual QCString trClass(bool first_capital, bool singular)
{
QCString result((first_capital ? "Class" : "class"));
if (!singular) result+="es";
QCString result((first_capital ? "클래스" : "클래스"));
if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
......@@ -1215,8 +1231,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/
virtual QCString trFile(bool first_capital, bool singular)
{
QCString result((first_capital ? "File" : "file"));
if (!singular) result+="s";
QCString result((first_capital ? "파일" : "파일"));
if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
......@@ -1237,8 +1253,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/
virtual QCString trGroup(bool first_capital, bool singular)
{
QCString result((first_capital ? "Group" : "group"));
if (!singular) result+="s";
QCString result((first_capital ? "그룹" : "그룹"));
if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
......@@ -1248,8 +1264,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/
virtual QCString trPage(bool first_capital, bool singular)
{
QCString result((first_capital ? "Page" : "page"));
if (!singular) result+="s";
QCString result((first_capital ? "페이지" : "페이지"));
if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
......@@ -1259,8 +1275,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/
virtual QCString trMember(bool first_capital, bool singular)
{
QCString result((first_capital ? "Member" : "member"));
if (!singular) result+="s";
QCString result((first_capital ? "멤버" : "멤버"));
if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
......@@ -1270,8 +1286,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/
virtual QCString trField(bool first_capital, bool singular)
{
QCString result((first_capital ? "Field" : "field"));
if (!singular) result+="s";
QCString result((first_capital ? "필드" : "필드"));
if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
......@@ -1294,8 +1310,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* for the author section in man pages. */
virtual QCString trAuthor(bool first_capital, bool singular)
{
QCString result((first_capital ? "Author" : "author"));
if (!singular) result+="s";
QCString result((first_capital ? "작성자" : "작성자"));
if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
......@@ -1307,7 +1323,70 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/
virtual QCString trReferences()
{
return "References"; // TODO: Need to be translated. -ryk11/22/01.
return "참조"; // TODO: Need to be translated. -ryk11/22/01.
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.13
//////////////////////////////////////////////////////////////////////////
/*! used in member documentation blocks to produce a list of
* members that are implemented by this one.
*/
virtual QCString trImplementedFromList(int numEntries)
{
//return "Implements "+trWriteList(numEntries)+".";
return trWriteList(numEntries)+" 구현.";
}
/*! used in member documentation blocks to produce a list of
* all members that implement this abstract member.
*/
virtual QCString trImplementedInList(int numEntries)
{
//return "Implemented in "+trWriteList(numEntries)+".";
return trWriteList(numEntries)+"에 구현되었다.";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.16
//////////////////////////////////////////////////////////////////////////
/*! used in RTF documentation as a heading for the Table
* of Contents.
*/
virtual QCString trRTFTableOfContents()
{
return "목차";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.17
//////////////////////////////////////////////////////////////////////////
/*! Used as the header of the list of item that have been
* flagged deprecated
*/
virtual QCString trDeprecatedList()
{
return "Deprecated 목록";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.18
//////////////////////////////////////////////////////////////////////////
/*! Used as a header for declaration section of the events found in
* a C# program
*/
virtual QCString trEvents()
{
return "이벤트";
}
/*! Header used for the documentation section of a class' events. */
virtual QCString trEventDocumentation()
{
return "이벤트 문서화";
}
};
......
......@@ -691,7 +691,10 @@ QCString removeRedundantWhiteSpace(const QCString &s)
{
result+=" >"; // insert extra space for layouting (nested) templates
}
else if (i>0 && i<l-1 && c==',' && !isspace(s.at(i-1)) && isId(s.at(i+1)))
else if (i>0 && c==',' && !isspace(s.at(i-1))
&& ((i<l-1 && isId(s.at(i+1)))
|| (i<l-2 && s.at(i+1)=='$' && isId(s.at(i+2))) // for PHP
|| (i<l-3 && s.at(i+1)=='&' && s.at(i+2)=='$' && isId(s.at(i+3))))) // for PHP
{
result+=", ";
}
......@@ -711,12 +714,13 @@ QCString removeRedundantWhiteSpace(const QCString &s)
}
else if (!isspace(c) ||
( i>0 && i<l-1 &&
(isId(s.at(i-1)) || s.at(i-1)==')' || s.at(i-1)==',' || s.at(i-1)=='>' || s.at(i-1)==']') &&
isId(s.at(i+1))
(isId(s.at(i-1)) || s.at(i-1)==')' || s.at(i-1)==',' || s.at(i-1)=='>' || s.at(i-1)==']')
&& (isId(s.at(i+1)) || (i<l-2 && s.at(i+1)=='$' && isId(s.at(i+2)))
|| (i<l-3 && s.at(i+1)=='&' && s.at(i+2)=='$' && isId(s.at(i+3))))
)
)
{
if (c=='*' || c=='&' || c=='@')
if (c=='*' || c=='&' || c=='@' || c=='$')
{
uint rl=result.length();
if (rl>0 && (isId(result.at(rl-1)) || result.at(rl-1)=='>')) result+=' ';
......@@ -2432,7 +2436,7 @@ bool resolveRef(/* in */ const char *scName,
ClassDef *cd=0;
NamespaceDef *nd=0;
if (scopePos==-1 && isLowerCase(tsName))
if (!inSeeBlock && scopePos==-1 && isLowerCase(tsName))
{ // link to lower case only name => do not try to autolink
return FALSE;
}
......
......@@ -155,6 +155,8 @@ void XmlDocVisitor::visit(DocStyleChange *s)
m_insidePre=FALSE;
}
break;
case DocStyleChange::Div: /* HTML only */ break;
case DocStyleChange::Span: /* HTML only */ break;
}
}
......
......@@ -450,6 +450,9 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
// enum values are written as part of the enum
if (md->memberType()==MemberDef::EnumValue) return;
// group members are only visible in their group
//if (def->definitionType()!=Definition::TypeGroup && md->getGroupDef()) return;
QCString memType;
bool isFunc=FALSE;
switch (md->memberType())
......@@ -482,18 +485,16 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
t << " <memberdef kind=\"";
//enum { define_t,variable_t,typedef_t,enum_t,function_t } xmlType = function_t;
t << memType << "\" id=\"";
t << md->getOutputFileBase()
<< "_1" // encoded `:' character (see util.cpp:convertNameToFile)
<< md->anchor();
t << "\"";
t << " virt=\"";
switch (md->virtualness())
if (md->getGroupDef() && def->definitionType()==Definition::TypeGroup)
{
case Normal: t << "normal"; break;
case Virtual: t << "virtual"; break;
case Pure: t << "pure-virtual"; break;
default: ASSERT(0);
t << md->getGroupDef()->getOutputFileBase();
}
else
{
t << md->getOutputFileBase();
}
t << "_1" // encoded `:' character (see util.cpp:convertNameToFile)
<< md->anchor();
t << "\" prot=\"";
switch(md->protection())
{
......@@ -503,6 +504,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
}
t << "\" static=\"";
if (md->isStatic()) t << "yes"; else t << "no";
t << "\"";
if (isFunc)
......@@ -510,6 +512,22 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
ArgumentList *al = md->argumentList();
t << " const=\"";
if (al && al->constSpecifier) t << "yes"; else t << "no";
t << "\" explicit=\"";
if (md->isExplicit()) t << "yes"; else t << "no";
t << "\" inline=\"";
if (md->isInline()) t << "yes"; else t << "no";
t << "\" virt=\"";
switch (md->virtualness())
{
case Normal: t << "normal"; break;
case Virtual: t << "virtual"; break;
case Pure: t << "pure-virtual"; break;
default: ASSERT(0);
}
t << "\"";
}
......@@ -518,6 +536,10 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
ArgumentList *al = md->argumentList();
t << " volatile=\"";
if (al && al->volatileSpecifier) t << "yes"; else t << "no";
t << "\" mutable=\"";
if (md->isMutable()) t << "yes"; else t << "no";
t << "\"";
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment