summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/language.doc40
-rw-r--r--doc/maintainers.txt2
-rw-r--r--doc/translator.py108
-rw-r--r--doc/translator_report.txt174
4 files changed, 135 insertions, 189 deletions
diff --git a/doc/language.doc b/doc/language.doc
index a56a419..7281318 100644
--- a/doc/language.doc
+++ b/doc/language.doc
@@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other
than English (the default). The output language is chosen through the
configuration file (with default name and known as Doxyfile).
-Currently (version 1.3.8-20040913), 30 languages
+Currently (version 1.3.9), 30 languages
are supported (sorted alphabetically):
Afrikaans, Brazilian Portuguese, Catalan, Chinese, Chinese
Traditional, Croatian, Czech, Danish, Dutch, English, Finnish, French,
@@ -59,8 +59,8 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Brazilian Portuguese</td>
<td>Fabio "FJTC" Jun Takada Chino</td>
- <td>chino at icmc dot sc dot usp dot br</td>
- <td>1.3.9</td>
+ <td>jun-chino at uol dot com dot br</td>
+ <td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Catalan</td>
@@ -72,7 +72,7 @@ when the translator was updated.
<td>Chinese</td>
<td>Li Daobing<br>Wei Liu</td>
<td>lidaobing at gmail dot com<br>liuwei at asiainfo dot com</td>
- <td>1.3.9</td>
+ <td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Chinese Traditional</td>
@@ -84,7 +84,7 @@ when the translator was updated.
<td>Croatian</td>
<td>Boris Bralo</td>
<td>boris.bralo at zg dot htnet dot hr</td>
- <td>1.3.9</td>
+ <td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Czech</td>
@@ -120,13 +120,13 @@ when the translator was updated.
<td>French</td>
<td>Xavier Outhier</td>
<td>xouthier at yahoo dot fr</td>
- <td>1.3.8</td>
+ <td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>German</td>
<td>Jens Seidel</td>
<td>jensseidel at users dot sf dot net</td>
- <td>1.3.9</td>
+ <td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Greek</td>
@@ -138,13 +138,13 @@ when the translator was updated.
<td>Hungarian</td>
<td>F&ouml;ldv&aacute;ri Gy&ouml;rgy<br>&Aacute;kos Kiss</td>
<td>foldvari lost at cyberspace<br>akiss at users dot sourceforge dot net</td>
- <td>1.3.9</td>
+ <td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Italian</td>
<td>Alessandro Falappa<br>Ahmed Aldo Faisal</td>
<td>alessandro at falappa dot net<br>aaf23 at cam dot ac dot uk</td>
- <td>1.3.9</td>
+ <td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Japanese</td>
@@ -204,7 +204,7 @@ when the translator was updated.
<td>Russian</td>
<td>Alexandr Chelpanov</td>
<td>cav at cryptopro dot ru</td>
- <td>1.3.9</td>
+ <td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Serbian</td>
@@ -234,7 +234,7 @@ when the translator was updated.
<td>Swedish</td>
<td>Mikael Hallin</td>
<td>mikaelhallin at yahoo dot se</td>
- <td>1.3.8</td>
+ <td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Ukrainian</td>
@@ -259,17 +259,17 @@ when the translator was updated.
\hline
Afrikaans & Johan Prinsloo & {\tt\tiny johan@zippysnoek.com} & 1.3.9 \\
\hline
- Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny chino@icmc.sc.usp.br} & 1.3.9 \\
+ Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino@uol.com.br} & up-to-date \\
\hline
Catalan & Albert Mora & {\tt\tiny amora@iua.upf.es} & 1.2.17 \\
\hline
- Chinese & Li Daobing & {\tt\tiny lidaobing@gmail.com} & 1.3.9 \\
+ Chinese & Li Daobing & {\tt\tiny lidaobing@gmail.com} & up-to-date \\
~ & Wei Liu & {\tt\tiny liuwei@asiainfo.com} & ~ \\
\hline
Chinese Traditional & Daniel YC Lin & {\tt\tiny daniel@twpda.com} & 1.3.8 \\
~ & Gary Lee & {\tt\tiny garylee@ecosine.com.tw} & ~ \\
\hline
- Croatian & Boris Bralo & {\tt\tiny boris.bralo@zg.htnet.hr} & 1.3.9 \\
+ Croatian & Boris Bralo & {\tt\tiny boris.bralo@zg.htnet.hr} & up-to-date \\
\hline
Czech & Petr P\v{r}ikryl & {\tt\tiny prikrylp@skil.cz} & up-to-date \\
\hline
@@ -281,16 +281,16 @@ when the translator was updated.
\hline
Finnish & Olli Korhonen & {\tt\tiny olli.korhonen lost@cyberspace} & obsolete \\
\hline
- French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & 1.3.8 \\
+ French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & up-to-date \\
\hline
- German & Jens Seidel & {\tt\tiny jensseidel@users.sf.net} & 1.3.9 \\
+ German & Jens Seidel & {\tt\tiny jensseidel@users.sf.net} & up-to-date \\
\hline
Greek & Harry Kalogirou & {\tt\tiny harkal@rainbow.cs.unipi.gr} & 1.2.11 \\
\hline
- Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt\tiny foldvari lost@cyberspace} & 1.3.9 \\
+ Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt\tiny foldvari lost@cyberspace} & up-to-date \\
~ & \'{A}kos Kiss & {\tt\tiny akiss@users.sourceforge.net} & ~ \\
\hline
- Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} & 1.3.9 \\
+ Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} & up-to-date \\
~ & Ahmed Aldo Faisal & {\tt\tiny aaf23@cam.ac.uk} & ~ \\
\hline
Japanese & Ryunosuke Satoh & {\tt\tiny sun594@hotmail.com} & 1.3.9 \\
@@ -316,7 +316,7 @@ when the translator was updated.
\hline
Romanian & Alexandru Iosup & {\tt\tiny aiosup@yahoo.com} & 1.2.16 \\
\hline
- Russian & Alexandr Chelpanov & {\tt\tiny cav@cryptopro.ru} & 1.3.9 \\
+ Russian & Alexandr Chelpanov & {\tt\tiny cav@cryptopro.ru} & up-to-date \\
\hline
Serbian & Dejan Milosavljevic & {\tt\tiny dmilos@email.com} & 1.3.8 \\
\hline
@@ -326,7 +326,7 @@ when the translator was updated.
\hline
Spanish & Francisco Oltra Thennet & {\tt\tiny foltra@puc.cl} & 1.3.8 \\
\hline
- Swedish & Mikael Hallin & {\tt\tiny mikaelhallin@yahoo.se} & 1.3.8 \\
+ Swedish & Mikael Hallin & {\tt\tiny mikaelhallin@yahoo.se} & up-to-date \\
\hline
Ukrainian & Olexij Tkatchenko & {\tt\tiny olexij.tkatchenko@parcs.de} & 1.2.11 \\
\hline
diff --git a/doc/maintainers.txt b/doc/maintainers.txt
index 82275f5..4122e39 100644
--- a/doc/maintainers.txt
+++ b/doc/maintainers.txt
@@ -13,7 +13,7 @@ TranslatorAfrikaans
Johan Prinsloo: johan@zippysnoek.com
TranslatorBrazilian
-Fabio "FJTC" Jun Takada Chino: chino@icmc.sc.usp.br
+Fabio "FJTC" Jun Takada Chino: jun-chino@uol.com.br
TranslatorCatalan
Albert Mora: amora@iua.upf.es
diff --git a/doc/translator.py b/doc/translator.py
index 1c32b5a..81c2fe6 100644
--- a/doc/translator.py
+++ b/doc/translator.py
@@ -43,6 +43,7 @@
when the report is not restricted to selected languages
explicitly via script arguments.
2004/07/26 - Better reporting of not-needed adapters.
+ 2004/10/04 - Reporting of not called translator methods added.
"""
from __future__ import generators
@@ -1160,7 +1161,7 @@ class Transl:
class TrManager:
"""Collects basic info and builds subordinate Transl objects."""
- def __init__(self):
+ def __init__(self):
"""Determines paths, creates and initializes structures.
The arguments of the script may explicitly say what languages should
@@ -1355,7 +1356,84 @@ class TrManager:
tim = tr.getmtime()
if tim > self.lastModificationTime:
self.lastModificationTime = tim
-
+
+
+ def __getNoTrSourceFilesLst(self):
+ """Returns the list of sources to be checked.
+
+ All .cpp files and also .h files that do not declare and define
+ the translator methods are included in the list. The file names
+ are searched in doxygen directory recursively."""
+ lst = []
+ for path, dirs, files in os.walk(self.doxy_path):
+
+ # Files in doxygen/src should be processed first.
+ if path == self.doxy_path:
+ dirs.remove('src')
+ dirs.insert(0, 'src')
+
+ # Search for names with .cpp extension (case independent)
+ # and append them to the output list.
+ for fname in files:
+ name, ext = os.path.splitext(fname)
+ ext = ext.lower()
+ if ext == '.cpp' or (ext == '.h' and name.find('translator') == -1):
+ lst.append(os.path.join(path, fname))
+
+ return lst
+
+
+ def __removeUsedInFiles(self, fname, dic):
+ """Removes items for method identifiers that are found in fname.
+
+ The method reads the content of the file as one string and searches
+ for all identifiers from dic. The identifiers that were found in
+ the file are removed from the dictionary.
+
+ Note: If more files is to be checked, the files where most items are
+ probably used should be checked first and the resulting reduced
+ dictionary should be used for checking the next files (speed up).
+ """
+ lst_in = dic.keys() # identifiers to be searched for
+
+ # Read content of the file as one string.
+ assert os.path.isfile(fname)
+ f = file(fname)
+ cont = f.read()
+ f.close()
+
+ # Remove the items for identifiers that were found in the file.
+ while lst_in:
+ item = lst_in.pop(0)
+ if cont.find(item) != -1:
+ del dic[item]
+
+
+ def __checkForNotUsedTrMethods(self):
+ """Returns the dictionary of not used translator methods.
+
+ The method can be called only after self.requiredMethodsDic has been
+ built. The stripped prototypes are the values, the method identifiers
+ are the keys.
+ """
+ # Build the dictionary of the required method prototypes with
+ # method identifiers used as keys.
+ trdic = {}
+ for prototype in self.requiredMethodsDic.keys():
+ ri = prototype.split('(')[0]
+ identifier = ri.split()[1].strip()
+ trdic[identifier] = prototype
+
+ # Build the list of source files where translator method identifiers
+ # can be used.
+ files = self.__getNoTrSourceFilesLst()
+
+ # Loop through the files and reduce the dictionary of id -> proto.
+ for fname in files:
+ self.__removeUsedInFiles(fname, trdic)
+
+ # Return the dictionary of not used translator methods.
+ return trdic
def generateTranslatorReport(self):
@@ -1478,6 +1556,27 @@ class TrManager:
f.write(' -- ' + obj.note)
f.write('\n')
+ # Check for not used translator methods and generate warning if found.
+ # The check is rather time consuming, so it is not done when report
+ # is restricted to explicitly given language identifiers.
+ if not self.script_argLst:
+ dic = self.__checkForNotUsedTrMethods()
+ if dic:
+ s = '''WARNING FOR DEVELOPERS: The following translator
+ methods are declared in the Translator class but their
+ identifiers do not appear in source files. The situation
+ should be checked. The .cpp files and .h files excluding
+ the 'translator*.h' files were simply searched for
+ occurence of the method identifiers:'''
+ f.write('\n' + '=' * 70 + '\n')
+ f.write(fill(s) + '\n\n')
+
+ keys = dic.keys()
+ keys.sort()
+ for key in keys:
+ f.write(' ' + dic[key] + '\n')
+ f.write('\n')
+
# Write the details for the translators.
f.write('\n' + '=' * 70)
f.write('\nDetails for translators (classes sorted alphabetically):\n')
@@ -1494,8 +1593,6 @@ class TrManager:
f.close()
-
-
def __loadMaintainers(self):
"""Load and process the file with the maintainers.
@@ -1545,7 +1642,8 @@ class TrManager:
assert(len(lst) == 2)
t = (lst[0].strip(), lst[1].strip())
self.__maintainersDic[classId].append(t)
- f.close()
+ f.close()
+
def generateLanguageDoc(self):
"""Checks the modtime of files and generates language.doc."""
diff --git a/doc/translator_report.txt b/doc/translator_report.txt
index 924252f..2c73b00 100644
--- a/doc/translator_report.txt
+++ b/doc/translator_report.txt
@@ -1,4 +1,4 @@
-(1.3.8-20040913)
+(1.3.9)
Doxygen supports the following 30 languages (sorted alphabetically):
@@ -8,7 +8,7 @@ German, Greek, Hungarian, Italian, Japanese (+En), Korean (+En),
Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian,
Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-Of them, 4 translators are up-to-date, 26 translators are based on
+Of them, 13 translators are up-to-date, 17 translators are based on
some adapter class, and 2 are English based.
----------------------------------------------------------------------
@@ -17,10 +17,19 @@ alphabetically). This means that they derive from the Translator class
and they implement all 201 of the required methods. Anyway, there
still may be some details listed even for them:
+ TranslatorBrazilian
+ TranslatorChinese
+ TranslatorCroatian
TranslatorCzech
TranslatorDutch
TranslatorEnglish
+ TranslatorFrench
+ TranslatorGerman
+ TranslatorHungarian
+ TranslatorItalian
TranslatorPolish
+ TranslatorRussian
+ TranslatorSwedish
----------------------------------------------------------------------
The following translator classes need some maintenance (the most
@@ -28,23 +37,14 @@ obsolete at the end). The other info shows the estimation of Doxygen
version when the class was last updated and number of methods that
must be implemented to become up-to-date:
- TranslatorRussian 1.3.9 6 methods to implement
TranslatorNorwegian 1.3.9 6 methods to implement
TranslatorJapanese 1.3.9 6 methods to implement
- TranslatorItalian 1.3.9 6 methods to implement
- TranslatorHungarian 1.3.9 6 methods to implement
- TranslatorGerman 1.3.9 6 methods to implement
TranslatorDanish 1.3.9 6 methods to implement
- TranslatorCroatian 1.3.9 6 methods to implement
- TranslatorChinese 1.3.9 6 methods to implement
- TranslatorBrazilian 1.3.9 6 methods to implement
TranslatorAfrikaans 1.3.9 6 methods to implement
- TranslatorSwedish 1.3.8 7 methods to implement
TranslatorSpanish 1.3.8 7 methods to implement
TranslatorSerbian 1.3.8 7 methods to implement
TranslatorLithuanian 1.3.8 7 methods to implement
TranslatorKorean 1.3.8 7 methods to implement
- TranslatorFrench 1.3.8 7 methods to implement
TranslatorChinesetraditional 1.3.8 7 methods to implement
TranslatorPortuguese 1.3.3 11 methods to implement
TranslatorSlovak 1.2.18 20 methods to implement
@@ -84,21 +84,6 @@ TranslatorAfrikaans (TranslatorAdapter_1_3_9) 6 methods to implement
virtual QCString trDir(bool first_capital, bool singular)
-TranslatorBrazilian (TranslatorAdapter_1_3_9) 6 methods to implement
--------------------
-
- Implements 195 of the required methods.
-
- Missing methods (should be implemented):
-
- virtual QCString trDirIndex()
- virtual QCString trDirDocumentation()
- virtual QCString trDirectories()
- virtual QCString trDirDescription()
- virtual QCString trDirReference(const char * dirName)
- virtual QCString trDir(bool first_capital, bool singular)
-
-
TranslatorCatalan (TranslatorAdapter_1_2_17) 21 methods to implement
-----------------
@@ -129,21 +114,6 @@ TranslatorCatalan (TranslatorAdapter_1_2_17) 21 methods to implement
virtual QCString trAll()
-TranslatorChinese (TranslatorAdapter_1_3_9) 6 methods to implement
------------------
-
- Implements 195 of the required methods.
-
- Missing methods (should be implemented):
-
- virtual QCString trDirIndex()
- virtual QCString trDirDocumentation()
- virtual QCString trDirectories()
- virtual QCString trDirDescription()
- virtual QCString trDirReference(const char * dirName)
- virtual QCString trDir(bool first_capital, bool singular)
-
-
TranslatorChinesetraditional (TranslatorAdapter_1_3_8) 7 methods to implement
----------------------------
@@ -160,21 +130,6 @@ TranslatorChinesetraditional (TranslatorAdapter_1_3_8) 7 methods to implement
virtual QCString trDir(bool first_capital, bool singular)
-TranslatorCroatian (TranslatorAdapter_1_3_9) 6 methods to implement
-------------------
-
- Implements 195 of the required methods.
-
- Missing methods (should be implemented):
-
- virtual QCString trDirIndex()
- virtual QCString trDirDocumentation()
- virtual QCString trDirectories()
- virtual QCString trDirDescription()
- virtual QCString trDirReference(const char * dirName)
- virtual QCString trDir(bool first_capital, bool singular)
-
-
TranslatorDanish (TranslatorAdapter_1_3_9) 6 methods to implement
----------------
@@ -298,44 +253,9 @@ TranslatorFinnish (TranslatorEnglish) 98 methods to implement
Obsolete methods (should be removed, never used):
- QCString trGeneratedFrom(const char * s, bool single)
- QCString trVerbatimText(const char * f)
QCString trFiles()
virtual QCString updateNeededMessage()
QCString trAuthors()
- QCString latexBabelPackage()
- QCString trAuthor()
-
-
-TranslatorFrench (TranslatorAdapter_1_3_8) 7 methods to implement
-----------------
-
- Implements 194 of the required methods.
-
- Missing methods (should be implemented):
-
- virtual QCString trDirIndex()
- virtual QCString trDirDocumentation()
- virtual QCString trDirectories()
- virtual QCString trDirDescription()
- virtual QCString trSourceFile(QCString & filename)
- virtual QCString trDirReference(const char * dirName)
- virtual QCString trDir(bool first_capital, bool singular)
-
-
-TranslatorGerman (TranslatorAdapter_1_3_9) 6 methods to implement
-----------------
-
- Implements 195 of the required methods.
-
- Missing methods (should be implemented):
-
- virtual QCString trDirIndex()
- virtual QCString trDirDocumentation()
- virtual QCString trDirectories()
- virtual QCString trDirDescription()
- virtual QCString trDirReference(const char * dirName)
- virtual QCString trDir(bool first_capital, bool singular)
TranslatorGreek (TranslatorAdapter_1_2_11) 25 methods to implement
@@ -371,40 +291,6 @@ TranslatorGreek (TranslatorAdapter_1_2_11) 25 methods to implement
virtual QCString trAll()
virtual QCString trRTFTableOfContents()
- Obsolete methods (should be removed, never used):
-
- virtual QCString latexBabelPackage()
-
-
-TranslatorHungarian (TranslatorAdapter_1_3_9) 6 methods to implement
--------------------
-
- Implements 195 of the required methods.
-
- Missing methods (should be implemented):
-
- virtual QCString trDirIndex()
- virtual QCString trDirDocumentation()
- virtual QCString trDirectories()
- virtual QCString trDirDescription()
- virtual QCString trDirReference(const char * dirName)
- virtual QCString trDir(bool first_capital, bool singular)
-
-
-TranslatorItalian (TranslatorAdapter_1_3_9) 6 methods to implement
------------------
-
- Implements 195 of the required methods.
-
- Missing methods (should be implemented):
-
- virtual QCString trDirIndex()
- virtual QCString trDirDocumentation()
- virtual QCString trDirectories()
- virtual QCString trDirDescription()
- virtual QCString trDirReference(const char * dirName)
- virtual QCString trDir(bool first_capital, bool singular)
-
TranslatorJapanese (TranslatorAdapter_1_3_9) 6 methods to implement
------------------
@@ -547,21 +433,6 @@ TranslatorRomanian (TranslatorAdapter_1_2_16) 22 methods to implement
virtual QCString trRTFTableOfContents()
-TranslatorRussian (TranslatorAdapter_1_3_9) 6 methods to implement
------------------
-
- Implements 195 of the required methods.
-
- Missing methods (should be implemented):
-
- virtual QCString trDirIndex()
- virtual QCString trDirDocumentation()
- virtual QCString trDirectories()
- virtual QCString trDirDescription()
- virtual QCString trDirReference(const char * dirName)
- virtual QCString trDir(bool first_capital, bool singular)
-
-
TranslatorSerbian (TranslatorAdapter_1_3_8) 7 methods to implement
-----------------
@@ -653,29 +524,6 @@ TranslatorSpanish (TranslatorAdapter_1_3_8) 7 methods to implement
virtual QCString trDirReference(const char * dirName)
virtual QCString trDir(bool first_capital, bool singular)
- Obsolete methods (should be removed, never used):
-
- virtual QCString trVerbatimText(const char * f)
- virtual QCString trFiles()
- virtual QCString trAuthors()
- virtual QCString latexBabelPackage()
-
-
-TranslatorSwedish (TranslatorAdapter_1_3_8) 7 methods to implement
------------------
-
- Implements 194 of the required methods.
-
- Missing methods (should be implemented):
-
- virtual QCString trDirIndex()
- virtual QCString trDirDocumentation()
- virtual QCString trDirectories()
- virtual QCString trDirDescription()
- virtual QCString trSourceFile(QCString & filename)
- virtual QCString trDirReference(const char * dirName)
- virtual QCString trDir(bool first_capital, bool singular)
-
TranslatorUkrainian (TranslatorAdapter_1_2_11) 25 methods to implement
-------------------