Commit 168b741d authored by dimitri's avatar dimitri

Release-1.2.2

parent cabe22de
DOXYGEN Version 1.2.1-20000917 DOXYGEN Version 1.2.2
Please read the installation section of the manual for instructions. Please read the installation section of the manual for instructions.
-------- --------
Dimitri van Heesch (17 September 2000) Dimitri van Heesch (24 September 2000)
DOXYGEN Version 1.2.1-20000917 DOXYGEN Version 1.2.2
Please read INSTALL for compilation instructions. Please read INSTALL for compilation instructions.
...@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at ...@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy, Enjoy,
Dimitri van Heesch (17 September 2000) Dimitri van Heesch (24 September 2000)
1.2.1-20000917 1.2.2
...@@ -775,7 +775,8 @@ void init() ...@@ -775,7 +775,8 @@ void init()
"information to generate all constant output in the proper language. \n" "information to generate all constant output in the proper language. \n"
"The default language is English, other supported languages are: \n" "The default language is English, other supported languages are: \n"
"Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, \n" "Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, \n"
"Korean, Hungarian, Spanish, Russian, Croatian, Polish, and Portuguese.\n" "Korean, Hungarian, Spanish, Romanian, Russian, Croatian, Polish, and \n"
"Portuguese.\n"
); );
ConfigString::addFixedValue("outputLanguage","English"); ConfigString::addFixedValue("outputLanguage","English");
ConfigString::addFixedValue("outputLanguage","Dutch"); ConfigString::addFixedValue("outputLanguage","Dutch");
...@@ -789,6 +790,7 @@ void init() ...@@ -789,6 +790,7 @@ void init()
ConfigString::addFixedValue("outputLanguage","Japanese"); ConfigString::addFixedValue("outputLanguage","Japanese");
ConfigString::addFixedValue("outputLanguage","Korean"); ConfigString::addFixedValue("outputLanguage","Korean");
ConfigString::addFixedValue("outputLanguage","Spanish"); ConfigString::addFixedValue("outputLanguage","Spanish");
ConfigString::addFixedValue("outputLanguage","Romanian");
ConfigString::addFixedValue("outputLanguage","Russian"); ConfigString::addFixedValue("outputLanguage","Russian");
ConfigString::addFixedValue("outputLanguage","Croatian"); ConfigString::addFixedValue("outputLanguage","Croatian");
ConfigString::addFixedValue("outputLanguage","Polish"); ConfigString::addFixedValue("outputLanguage","Polish");
...@@ -1035,7 +1037,6 @@ void init() ...@@ -1035,7 +1037,6 @@ void init()
"put the command \\sideeffect (or @sideeffect) in the documentation, which \n" "put the command \\sideeffect (or @sideeffect) in the documentation, which \n"
"will result in a user defined paragraph with heading \"Side Effects:\". \n" "will result in a user defined paragraph with heading \"Side Effects:\". \n"
"You can put \\n's in the value part of an alias to insert newlines. \n" "You can put \\n's in the value part of an alias to insert newlines. \n"
"Predefined commands cannot be overwritten using aliases. \n"
); );
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
ConfigInfo::add( "Messages","configuration options related to warning and progress messages"); ConfigInfo::add( "Messages","configuration options related to warning and progress messages");
......
...@@ -448,7 +448,6 @@ followed by the descriptions of the tags grouped by category. ...@@ -448,7 +448,6 @@ followed by the descriptions of the tags grouped by category.
put the command \\sideeffect (or \@sideeffect) in the documentation, which put the command \\sideeffect (or \@sideeffect) in the documentation, which
will result in a user defined paragraph with heading "Side Effects:". will result in a user defined paragraph with heading "Side Effects:".
You can put \\n's in the value part of an alias to insert newlines. You can put \\n's in the value part of an alias to insert newlines.
Predefined commands cannot be overwritten using aliases.
</dl> </dl>
......
Name: doxygen Name: doxygen
Version: 1.2.1-20000917 Version: 1.2.2
Summary: documentation system for C, C++ and IDL Summary: documentation system for C, C++ and IDL
Release: 1 Release: 1
Source0: doxygen-%{version}.src.tar.gz Source0: doxygen-%{version}.src.tar.gz
......
...@@ -616,6 +616,8 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -616,6 +616,8 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.startTextBlock(); ol.startTextBlock();
//printf("Class %s brief=`%s' doc=`%s'\n",name().data(),briefDescription().data(),documentation().data());
// write brief description // write brief description
OutputList briefOutput(&ol); OutputList briefOutput(&ol);
if (!briefDescription().isEmpty()) if (!briefDescription().isEmpty())
...@@ -1421,7 +1423,7 @@ bool ClassDef::isBaseClass(ClassDef *bcd) ...@@ -1421,7 +1423,7 @@ bool ClassDef::isBaseClass(ClassDef *bcd)
* superclasses! * superclasses!
*/ */
void ClassDef::mergeMembers(/*ClassDef *cd,BaseClassList *bcl*/) void ClassDef::mergeMembers()
{ {
BaseClassListIterator bcli(*baseClasses()); BaseClassListIterator bcli(*baseClasses());
BaseClassDef *bcd; BaseClassDef *bcd;
...@@ -1648,9 +1650,15 @@ void ClassDef::determineImplUsageRelation() ...@@ -1648,9 +1650,15 @@ void ClassDef::determineImplUsageRelation()
QCString templSpec; QCString templSpec;
if (te>ts) templSpec = type.mid(ts,te-ts); if (te>ts) templSpec = type.mid(ts,te-ts);
// TODO: also check using Nx::Cx cases here! // TODO: also check using Nx::Cx cases here!
ClassDef *cd=getResolvedClass(name()+"::"+type.mid(i,l)); QCString usedClassName = type.mid(i,l);
if (cd==0) cd=getResolvedClass(type.mid(i,l)); // TODO: also try inbetween scopes! ClassDef *cd=0;
//printf("Search for class %s result=%p\n",type.mid(i,l).data(),cd); if (getNamespaceDef()!=0)
{
cd=getResolvedClass(getNamespaceDef()->name()+"::"+usedClassName);
}
if (cd==0) cd=getResolvedClass(name()+"::"+usedClassName);
if (cd==0) cd=getResolvedClass(usedClassName); // TODO: also try inbetween scopes!
//printf("Search for class %s result=%p\n",usedClassName.data(),cd);
if (cd) // class exists if (cd) // class exists
{ {
found=TRUE; found=TRUE;
......
/* This file was generated by configgen on Sat Sep 2 10:51:52 2000 /* This file was generated by configgen on Sun Sep 24 18:38:07 2000
* from config_templ.h * from config_templ.h
* *
* DO NOT EDIT! * DO NOT EDIT!
......
/* This file was generated by configgen on Sat Sep 2 10:51:52 2000 /* This file was generated by configgen on Sun Sep 24 18:38:07 2000
* from config_templ.l * from config_templ.l
* *
* DO NOT EDIT! * DO NOT EDIT!
...@@ -1015,7 +1015,8 @@ void writeTemplateConfig(QFile *f,bool sl) ...@@ -1015,7 +1015,8 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# information to generate all constant output in the proper language. \n"; t << "# information to generate all constant output in the proper language. \n";
t << "# The default language is English, other supported languages are: \n"; t << "# The default language is English, other supported languages are: \n";
t << "# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, \n"; t << "# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, \n";
t << "# Korean, Hungarian, Spanish, Russian, Croatian, Polish, and Portuguese.\n"; t << "# Korean, Hungarian, Spanish, Romanian, Russian, Croatian, Polish, and \n";
t << "# Portuguese.\n";
t << "\n"; t << "\n";
} }
t << "OUTPUT_LANGUAGE = "; t << "OUTPUT_LANGUAGE = ";
...@@ -1193,11 +1194,11 @@ void writeTemplateConfig(QFile *f,bool sl) ...@@ -1193,11 +1194,11 @@ void writeTemplateConfig(QFile *f,bool sl)
if (!sl) if (!sl)
{ {
t << "\n"; t << "\n";
t << "# If the CASE_SENSE_NAMES tag is set to NO (the default) then Doxygen \n"; t << "# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate \n";
t << "# will only generate file names in lower case letters. If set to \n"; t << "# file names in lower case letters. If set to YES upper case letters are also \n";
t << "# YES upper case letters are also allowed. This is useful if you have \n"; t << "# allowed. This is useful if you have classes or files whose names only differ \n";
t << "# classes or files whose names only differ in case and if your file system \n"; t << "# in case and if your file system supports case sensitive file names. Windows \n";
t << "# supports case sensitive file names. \n"; t << "# users are adviced to set this option to NO.\n";
t << "\n"; t << "\n";
} }
t << "CASE_SENSE_NAMES = "; t << "CASE_SENSE_NAMES = ";
...@@ -1344,7 +1345,6 @@ void writeTemplateConfig(QFile *f,bool sl) ...@@ -1344,7 +1345,6 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# put the command \\sideeffect (or @sideeffect) in the documentation, which \n"; t << "# put the command \\sideeffect (or @sideeffect) in the documentation, which \n";
t << "# will result in a user defined paragraph with heading \"Side Effects:\". \n"; t << "# will result in a user defined paragraph with heading \"Side Effects:\". \n";
t << "# You can put \\n's in the value part of an alias to insert newlines. \n"; t << "# You can put \\n's in the value part of an alias to insert newlines. \n";
t << "# Predefined commands cannot be overwritten using aliases. \n";
t << "\n"; t << "\n";
} }
t << "ALIASES = "; t << "ALIASES = ";
......
...@@ -2069,24 +2069,6 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"") ...@@ -2069,24 +2069,6 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
outDoc->writeChar(' '); outDoc->writeChar(' ');
} }
} }
<DocScan>"\\"[a-z_A-Z][a-z_A-Z0-9]*[\\] { // directory type of text
outDoc->docify(yytext);
}
<DocScan>{CMD}[a-z_A-Z][a-z_A-Z0-9]* {
QCString *pValue=aliasDict[yytext+1];
if (pValue)
{
int i,l=pValue->length();
for (i=l-1;i>=0;i--)
{
unput(pValue->at(i));
}
}
else
{
warn(yyFileName,yyLineNr,"Warning in the documentation of this entity:\nUnknown command `%s' found.",yytext);
}
}
<DocCode,DocEmphasis,DocBold,DocScan,Text>[a-z_A-Z0-9]+ { <DocCode,DocEmphasis,DocBold,DocScan,Text>[a-z_A-Z0-9]+ {
outDoc->docify(yytext); outDoc->docify(yytext);
} }
......
...@@ -3201,7 +3201,7 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl ...@@ -3201,7 +3201,7 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
NamespaceDef *nd=0; NamespaceDef *nd=0;
if (!namespaceName.isEmpty()) nd=getResolvedNamespace(namespaceName); if (!namespaceName.isEmpty()) nd=getResolvedNamespace(namespaceName);
tcd = findClassDefinition(fd,nd,scopeName,classTempList); tcd = findClassDefinition(fd,nd,scopeName,classTempList);
if (cd && tcd==cd) // member's classes match if (cd && tcd==cd) // member's classes match
{ {
Debug::print(Debug::FindMembers,0, Debug::print(Debug::FindMembers,0,
...@@ -5737,7 +5737,29 @@ int main(int argc,char **argv) ...@@ -5737,7 +5737,29 @@ int main(int argc,char **argv)
{ {
QCString name=alias.left(i).stripWhiteSpace(); QCString name=alias.left(i).stripWhiteSpace();
QCString value=alias.right(alias.length()-i-1); QCString value=alias.right(alias.length()-i-1);
value=substitute(value,"\\n","\n"); QCString newValue;
int in,p=0;
// for each \n in the alias command value
while ((in=value.find("\\n",p))!=-1)
{
newValue+=value.mid(p,in-p);
// expand \n's except if \n is part of a built-in command.
if (value.mid(in,5)!="\\note" &&
value.mid(in,5)!="\\name" &&
value.mid(in,10)!="\\namespace" &&
value.mid(in,14)!="\\nosubgrouping"
)
{
newValue+="\n";
}
else
{
newValue+="\\n";
}
p=in+2;
}
newValue+=value.mid(p,value.length()-p);
value=newValue;
//printf("Alias: found name=`%s' value=`%s'\n",name.data(),value.data()); //printf("Alias: found name=`%s' value=`%s'\n",name.data(),value.data());
if (!name.isEmpty()) if (!name.isEmpty())
{ {
......
...@@ -26,7 +26,8 @@ HEADERS = doxygen.h scanner.h doc.h classdef.h classlist.h memberdef.h \ ...@@ -26,7 +26,8 @@ HEADERS = doxygen.h scanner.h doc.h classdef.h classlist.h memberdef.h \
translator_nl.h translator_se.h translator_cz.h translator_fr.h \ translator_nl.h translator_se.h translator_cz.h translator_fr.h \
translator_it.h formula.h debug.h membergroup.h htmlhelp.h \ translator_it.h formula.h debug.h membergroup.h htmlhelp.h \
translator_ru.h translator_pl.h dot.h rtfgen.h xml.h xml_dtd.h \ translator_ru.h translator_pl.h dot.h rtfgen.h xml.h xml_dtd.h \
reflist.h page.h sortdict.h translator_hu.h translator_kr.h reflist.h page.h sortdict.h translator_hu.h translator_kr.h \
translator_ro.h
SOURCES = doxygen.cpp scanner.cpp doc.cpp classdef.cpp classlist.cpp \ SOURCES = doxygen.cpp scanner.cpp doc.cpp classdef.cpp classlist.cpp \
memberdef.cpp membername.cpp index.cpp memberlist.cpp \ memberdef.cpp membername.cpp index.cpp memberlist.cpp \
entry.cpp logos.cpp instdox.cpp message.cpp code.cpp \ entry.cpp logos.cpp instdox.cpp message.cpp code.cpp \
......
...@@ -1673,9 +1673,10 @@ void writeIndex(OutputList &ol) ...@@ -1673,9 +1673,10 @@ void writeIndex(OutputList &ol)
{ {
projPrefix=Config::projectName+" "; projPrefix=Config::projectName+" ";
} }
//--------------------------------------------------------------------
// write HTML index // write HTML index
//ol.disable(OutputGenerator::Man); //--------------------------------------------------------------------
//ol.disable(OutputGenerator::Latex);
ol.disableAllBut(OutputGenerator::Html); ol.disableAllBut(OutputGenerator::Html);
QCString defFileName = QCString defFileName =
...@@ -1690,7 +1691,7 @@ void writeIndex(OutputList &ol) ...@@ -1690,7 +1691,7 @@ void writeIndex(OutputList &ol)
} }
else else
{ {
title = mainPage->title; title = substitute(mainPage->title,"%","");
} }
ol.startFile("index",title,FALSE); ol.startFile("index",title,FALSE);
...@@ -1727,7 +1728,9 @@ void writeIndex(OutputList &ol) ...@@ -1727,7 +1728,9 @@ void writeIndex(OutputList &ol)
endFile(ol); endFile(ol);
ol.disable(OutputGenerator::Html); ol.disable(OutputGenerator::Html);
//--------------------------------------------------------------------
// write LaTeX/RTF index // write LaTeX/RTF index
//--------------------------------------------------------------------
ol.enable(OutputGenerator::Latex); ol.enable(OutputGenerator::Latex);
ol.enable(OutputGenerator::RTF); ol.enable(OutputGenerator::RTF);
...@@ -1844,14 +1847,14 @@ void writeIndex(OutputList &ol) ...@@ -1844,14 +1847,14 @@ void writeIndex(OutputList &ol)
{ {
ol.disable(OutputGenerator::Man); ol.disable(OutputGenerator::Man);
startFile(ol,mainPage->name,mainPage->title); startFile(ol,mainPage->name,mainPage->title);
SectionInfo *si=0; //SectionInfo *si=0;
if (!mainPage->title.isEmpty() && !mainPage->name.isEmpty() && //if (!mainPage->title.isEmpty() && !mainPage->name.isEmpty() &&
(si=sectionDict[mainPage->name])!=0) // (si=sectionDict[mainPage->name])!=0)
{ //{
ol.startSection(si->label,si->title,FALSE); // ol.startSection(si->label,si->title,FALSE);
ol.docify(si->title); // ol.docify(si->title);
ol.endSection(si->label,FALSE); // ol.endSection(si->label,FALSE);
} //}
ol.startTextBlock(); ol.startTextBlock();
parseDoc(ol,defFileName,defLine,0,0,mainPage->doc); parseDoc(ol,defFileName,defLine,0,0,mainPage->doc);
ol.endTextBlock(); ol.endTextBlock();
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include "translator_pt.h" #include "translator_pt.h"
#include "translator_hu.h" #include "translator_hu.h"
#include "translator_kr.h" #include "translator_kr.h"
#include "translator_ro.h"
#endif #endif
#define L_EQUAL(a) !stricmp(langName,a) #define L_EQUAL(a) !stricmp(langName,a)
...@@ -110,6 +111,10 @@ bool setTranslator(const char *langName) ...@@ -110,6 +111,10 @@ bool setTranslator(const char *langName)
{ {
theTranslator=new TranslatorKorean; theTranslator=new TranslatorKorean;
} }
else if (L_EQUAL("romanian"))
{
theTranslator=new TranslatorRomanian;
}
#endif #endif
else // use the default language (i.e. english) else // use the default language (i.e. english)
{ {
......
...@@ -139,6 +139,7 @@ static char lastCopyArgChar; ...@@ -139,6 +139,7 @@ static char lastCopyArgChar;
static QCString *pCopyRoundString; static QCString *pCopyRoundString;
static QCString *pCopyCurlyString; static QCString *pCopyCurlyString;
static QCString *pCopyQuotedString; static QCString *pCopyQuotedString;
static QCString *pSkipDoc;
static bool insideFormula; static bool insideFormula;
...@@ -2837,30 +2838,58 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -2837,30 +2838,58 @@ TITLE [tT][iI][tT][lL][eE]
sectionType=SectionInfo::Anchor; sectionType=SectionInfo::Anchor;
BEGIN(AnchorLabel); BEGIN(AnchorLabel);
} }
<Doc,PageDoc,JavaDoc,ClassDoc>("\\\\"|"@@")"verbatim"/[^a-z_A-Z0-9] { <Doc,PageDoc,ClassDoc>("\\\\"|"@@")"verbatim"/[^a-z_A-Z0-9] {
current->doc+="\\\\verbatim"; current->doc+="\\\\verbatim";
} }
<Doc,PageDoc,JavaDoc,ClassDoc>{CMD}"verbatim"/[^a-z_A-Z0-9] { <Doc,PageDoc,ClassDoc>{CMD}"verbatim"/[^a-z_A-Z0-9] {
lastVerbState=YY_START; lastVerbState=YY_START;
current->doc+="\\verbatim"; current->doc+="\\verbatim";
BEGIN(SkipVerbatim); BEGIN(SkipVerbatim);
} }
<Doc,PageDoc,JavaDoc,ClassDoc>{CMD}"addindex"{B}+[^\n]+ { <Doc,PageDoc,ClassDoc>{CMD}"addindex"{B}+[^\n]+ {
current->doc+=yytext; current->doc+=yytext;
} }
<Doc,PageDoc,JavaDoc,ClassDoc>("\\\\"|"@@")"code"/[^a-z_A-Z0-9] { <Doc,PageDoc,ClassDoc>("\\\\"|"@@")"code"/[^a-z_A-Z0-9] {
current->doc+="\\\\code"; current->doc+="\\\\code";
} }
<Doc,PageDoc,JavaDoc,ClassDoc>{CMD}"code"/[^a-z_A-Z0-9] { <Doc,PageDoc,ClassDoc>{CMD}"code"/[^a-z_A-Z0-9] {
lastCodeState=YY_START; lastCodeState=YY_START;
current->doc+="\\code"; current->doc+="\\code";
pSkipDoc=&current->doc;
BEGIN(SkipCode); BEGIN(SkipCode);
} }
<Doc,PageDoc,JavaDoc,ClassDoc>"<"{PRE}{ATTR}">" { <Doc,PageDoc,ClassDoc>"<"{PRE}{ATTR}">" {
lastCodeState=YY_START; lastCodeState=YY_START;
current->doc+="<PRE>"; current->doc+="<PRE>";
pSkipDoc=&current->doc;
BEGIN(SkipCode); BEGIN(SkipCode);
} }
<JavaDoc>"<"{PRE}{ATTR}">" {
lastCodeState=YY_START;
current->brief+="<PRE>";
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"/[^a-z_A-Z0-9] {
current->doc+=yytext; current->doc+=yytext;
BEGIN(lastVerbState); BEGIN(lastVerbState);
...@@ -2890,30 +2919,30 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -2890,30 +2919,30 @@ TITLE [tT][iI][tT][lL][eE]
current->doc+=*yytext; current->doc+=*yytext;
} }
<SkipCode>{CMD}"endcode" { <SkipCode>{CMD}"endcode" {
current->doc+="\\endcode"; *pSkipDoc+="\\endcode";
BEGIN(lastCodeState); BEGIN(lastCodeState);
} }
<SkipCode>"</"{PRE}{ATTR}">" { <SkipCode>"</"{PRE}{ATTR}">" {
current->doc+="</PRE>"; *pSkipDoc+="</PRE>";
BEGIN(lastCodeState); BEGIN(lastCodeState);
} }
<SkipCode>^"//"({B}*"*"+)? { <SkipCode>^"//"({B}*"*"+)? {
if (!removeSlashes) if (!removeSlashes)
current->doc+=yytext; *pSkipDoc+=yytext;
} }
<SkipCode>^{B}*"*"+ <SkipCode>^{B}*"*"+
<SkipCode>"//" { <SkipCode>"//" {
current->doc+=yytext; *pSkipDoc+=yytext;
} }
<SkipCode>[^ \<\*\t\/\\\n]+ { <SkipCode>[^ \<\*\t\/\\\n]+ {
current->doc+=yytext; *pSkipDoc+=yytext;
} }
<SkipCode>\n { <SkipCode>\n {
yyLineNr++; yyLineNr++;
current->doc+=*yytext; *pSkipDoc+=*yytext;
} }
<SkipCode>. { <SkipCode>. {
current->doc+=*yytext; *pSkipDoc+=*yytext;
} }
<AnchorLabel>{ID} { <AnchorLabel>{ID} {
sectionLabel=yytext; sectionLabel=yytext;
...@@ -3004,7 +3033,7 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -3004,7 +3033,7 @@ TITLE [tT][iI][tT][lL][eE]
{ {
err("Error: comment block ended inside \\code ... \\endcode block at line %d in %s!\n", err("Error: comment block ended inside \\code ... \\endcode block at line %d in %s!\n",
yyLineNr,yyFileName); yyLineNr,yyFileName);
current->doc += "\\endcode\n\n"; *pSkipDoc += "\\endcode\n\n";
BEGIN( lastDocContext ); BEGIN( lastDocContext );
} }
else if (YY_START==ClassDocBrief && else if (YY_START==ClassDocBrief &&
...@@ -3340,6 +3369,43 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -3340,6 +3369,43 @@ TITLE [tT][iI][tT][lL][eE]
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+{B}+ { <Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+{B}+ {
current->doc+=' '; current->doc+=' ';
} }
<Doc,ClassDoc,PageDoc,ExampleDoc,AfterDoc>"\\"[a-z_A-Z][a-z_A-Z0-9]*[\\] { // directory type of text
current->doc+=yytext;
}
<Doc,ClassDoc,PageDoc,ExampleDoc,AfterDoc>{CMD}[a-z_A-Z][a-z_A-Z0-9]* {
QCString *pValue=aliasDict[yytext+1];
if (pValue)
{
int i,l=pValue->length();
for (i=l-1;i>=0;i--)
{
unput(pValue->at(i));
}
}
else
{
current->doc+=yytext;
}
}
<JavaDoc,LineDoc,ClassDocBrief,AfterDocBrief,AfterDocLine>"\\"[a-z_A-Z][a-z_A-Z0-9]*[\\] { // directory type of text
current->brief+=yytext;
}
<JavaDoc,LineDoc,ClassDocBrief,AfterDocBrief,AfterDocLine>{CMD}[a-z_A-Z][a-z_A-Z0-9]* {
QCString *pValue=aliasDict[yytext+1];
if (pValue)
{
int i,l=pValue->length();
for (i=l-1;i>=0;i--)
{
unput(pValue->at(i));
}
}
else
{
current->brief+=yytext;
}
}
<DefLineDoc,LineDoc,ClassDoc,Doc>"/*" { current->doc += yytext; } <DefLineDoc,LineDoc,ClassDoc,Doc>"/*" { current->doc += yytext; }
<SkipCxxComment>.*/\n { <SkipCxxComment>.*/\n {
BEGIN( lastCContext ) ; BEGIN( lastCContext ) ;
......
This diff is collapsed.
This diff is collapsed.
...@@ -26,6 +26,10 @@ class TranslatorRussian : public Translator ...@@ -26,6 +26,10 @@ class TranslatorRussian : public Translator
{ return "russian"; } { return "russian"; }
QCString latexBabelPackage() QCString latexBabelPackage()
{ return "russian"; } { return "russian"; }
QCString idLanguageCharset()
{
return "koi8-r";
}
QCString trRelatedFunctions() QCString trRelatedFunctions()
{ {
return " "; return " ";
...@@ -691,7 +695,108 @@ class TranslatorRussian : public Translator ...@@ -691,7 +695,108 @@ class TranslatorRussian : public Translator
{ {
return " "; return " ";
} }
QCString trTodo()
{
return "Todo";
}
QCString trTodoList()
{
return " ";
}
QCString trReferencedBy()
{
return " ";
}
QCString trRemarks()
{
return "";
}
QCString trAttention()
{
return "";
}
QCString trInclByDepGraph()
{
return " , "
" :";
}
QCString trSince()
{
return "";
}
QCString trLegendTitle()
{
return " ";
}
QCString trLegendDocs()
{
return
" , , "
"doxygen.<p>\n"
" :\n"
"\\code\n"
"/*! - */\n"
"class Invisible { };\n\n"
"/*! , */\n"
"class Truncated : public Invisible { };\n\n"
"/* , doxygen */\n"
"class Undocumented { };\n\n"
"/*! , */\n"
"class PublicBase : public Truncated { };\n\n"
"/*! , */\n"
"class ProtectedBase { };\n\n"
"/*! , */\n"
"class PrivateBase { };\n\n"
"/*! , Inherited */\n"
"class Used { };\n\n"
"/*! , */\n"
"class Inherited : public PublicBase,\n"
" protected ProtectedBase,\n"
" private PrivateBase,\n"
" public Undocumented\n"
"{\n"
" private:\n"
" Used *m_usedClass;\n"
"};\n"
"\\endcode\n"
" \\c MAX_DOT_GRAPH_HEIGHT "
" 200, :"
"<p><center><img src=\"graph_legend.gif\"></center>\n"
"<p>\n"
" :\n"
"<ul>\n"
"<li> , "
" .\n"
"<li> .\n"
"<li> .\n"
"<li> , \n"
" / . , "
" ."
"</ul>\n"
" :\n"
"<ul>\n"
"<li> "
" .\n"
"<li> .\n"
"<li> .\n"
"<li> , "
". , "
" . \n"
"</ul>\n";
}
QCString trLegend()
{
return "";
}
QCString trTest()
{
return "";
}
QCString trTestList()
{
return " ";
}
}; };
#endif #endif
...@@ -491,6 +491,10 @@ void linkifyText(const TextGeneratorIntf &out,const char *scName,const char *nam ...@@ -491,6 +491,10 @@ void linkifyText(const TextGeneratorIntf &out,const char *scName,const char *nam
out.writeBreak(); out.writeBreak();
out.writeString(splitText.right(splitLength-i-1)); out.writeString(splitText.right(splitLength-i-1));
} }
else
{
out.writeString(splitText);
}
floatingIndex=splitLength-i-1; floatingIndex=splitLength-i-1;
} }
else else
......
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