From 4f2a579d6d7cf5f8208c0cb2f3af7de99795ba6d Mon Sep 17 00:00:00 2001 From: Cheryl Foil Date: Fri, 15 Aug 2008 23:36:18 +0000 Subject: [PATCH] Now works end to end :) DoxygenTranslator restructured and placed into SWIG, Changes to java.cxx and lang.cxx to accomodate this git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-cherylfoil@10761 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Source/CParse/cscanner.c | 8 +- Source/CParse/parser.y | 44 +- Source/DoxygenTranslator/src/.deps/.dirstamp | 0 .../src/.deps/DoxygenEntity.Po | 380 +++++++ .../src/.deps/DoxygenParser.Po | 398 ++++++++ .../src/.deps/DoxygenTranslator.Po | 401 ++++++++ .../src/.deps/JavaDocConverter.Po | 385 ++++++++ Source/DoxygenTranslator/src/.deps/Token.Po | 379 +++++++ .../DoxygenTranslator/src/.deps/TokenList.Po | 382 ++++++++ Source/DoxygenTranslator/src/.dirstamp | 0 .../DoxygenTranslator/src/DoxygenEntity.cpp | 89 ++ Source/DoxygenTranslator/src/DoxygenEntity.h | 26 + .../DoxygenTranslator/src/DoxygenParser.cpp | 797 +++++++++++++++ Source/DoxygenTranslator/src/DoxygenParser.h | 19 + .../src/DoxygenTranslator.cpp | 41 + .../DoxygenTranslator/src/DoxygenTranslator.h | 10 + .../src/Examples/DoxygenTransWTokenizer.cpp | 924 ++++++++++++++++++ .../src/Examples/DoxygenTransWTokenizer.h | 11 + .../{ => src}/Examples/Example1 | 0 .../{ => src}/Examples/Example2 | 0 .../{ => src}/Examples/Example3 | 0 .../{ => src}/Examples/Example4 | 0 .../DoxygenTranslator/src/Examples/Example5 | 0 .../DoxygenTranslator/src/Examples/Example6 | 0 .../src/Examples/translator.h | 144 +++ .../src/JavaDocConverter.cpp | 210 ++++ .../DoxygenTranslator/src/JavaDocConverter.h | 18 + Source/DoxygenTranslator/src/Token.cpp | 32 + Source/DoxygenTranslator/src/Token.h | 21 + Source/DoxygenTranslator/src/TokenList.cpp | 116 +++ Source/DoxygenTranslator/src/TokenList.h | 27 + .../DoxygenTranslator/src/TranslatorTest.cpp | 68 ++ Source/DoxygenTranslator/src/TranslatorTest.h | 11 + Source/Makefile.am | 14 +- Source/Modules/java.cxx | 119 ++- Source/Modules/lang.cxx | 21 +- Source/Modules/swigmod.h | 6 + Tools/config/config.guess | 34 +- Tools/config/config.sub | 24 +- 39 files changed, 5101 insertions(+), 58 deletions(-) create mode 100644 Source/DoxygenTranslator/src/.deps/.dirstamp create mode 100644 Source/DoxygenTranslator/src/.deps/DoxygenEntity.Po create mode 100644 Source/DoxygenTranslator/src/.deps/DoxygenParser.Po create mode 100644 Source/DoxygenTranslator/src/.deps/DoxygenTranslator.Po create mode 100644 Source/DoxygenTranslator/src/.deps/JavaDocConverter.Po create mode 100644 Source/DoxygenTranslator/src/.deps/Token.Po create mode 100644 Source/DoxygenTranslator/src/.deps/TokenList.Po create mode 100644 Source/DoxygenTranslator/src/.dirstamp create mode 100644 Source/DoxygenTranslator/src/DoxygenEntity.cpp create mode 100644 Source/DoxygenTranslator/src/DoxygenEntity.h create mode 100644 Source/DoxygenTranslator/src/DoxygenParser.cpp create mode 100644 Source/DoxygenTranslator/src/DoxygenParser.h create mode 100644 Source/DoxygenTranslator/src/DoxygenTranslator.cpp create mode 100644 Source/DoxygenTranslator/src/DoxygenTranslator.h create mode 100644 Source/DoxygenTranslator/src/Examples/DoxygenTransWTokenizer.cpp create mode 100644 Source/DoxygenTranslator/src/Examples/DoxygenTransWTokenizer.h rename Source/DoxygenTranslator/{ => src}/Examples/Example1 (100%) rename Source/DoxygenTranslator/{ => src}/Examples/Example2 (100%) rename Source/DoxygenTranslator/{ => src}/Examples/Example3 (100%) rename Source/DoxygenTranslator/{ => src}/Examples/Example4 (100%) create mode 100644 Source/DoxygenTranslator/src/Examples/Example5 create mode 100644 Source/DoxygenTranslator/src/Examples/Example6 create mode 100644 Source/DoxygenTranslator/src/Examples/translator.h create mode 100644 Source/DoxygenTranslator/src/JavaDocConverter.cpp create mode 100644 Source/DoxygenTranslator/src/JavaDocConverter.h create mode 100644 Source/DoxygenTranslator/src/Token.cpp create mode 100644 Source/DoxygenTranslator/src/Token.h create mode 100644 Source/DoxygenTranslator/src/TokenList.cpp create mode 100644 Source/DoxygenTranslator/src/TokenList.h create mode 100644 Source/DoxygenTranslator/src/TranslatorTest.cpp create mode 100644 Source/DoxygenTranslator/src/TranslatorTest.h diff --git a/Source/CParse/cscanner.c b/Source/CParse/cscanner.c index ff7d5343c..13e976b95 100644 --- a/Source/CParse/cscanner.c +++ b/Source/CParse/cscanner.c @@ -426,7 +426,7 @@ int yylook(void) { if ((strncmp(loc,"/*@SWIG@",6) == 0) && (loc[Len(cmt)-3] == '@')) { scanner_locator(cmt); } - if (strncmp(loc, "/**<", 4) == 0 || strncmp(loc, "///<", 3) == 0||strncmp(loc, "/*!<", 3) == 0||strncmp(loc, "//!<", 3) == 0) { + if (strncmp(loc, "/**<", 4) == 0 || strncmp(loc, "///<", 4) == 0||strncmp(loc, "/*!<", 4) == 0||strncmp(loc, "//!<", 4) == 0) { printf("Doxygen Post Comment: %s lines %d-%d [%s]\n", Char(Scanner_file(scan)), Scanner_start_line(scan), Scanner_line(scan), loc); yylval.str = NewString(loc); return DOXYGENPOSTSTRING; @@ -436,12 +436,6 @@ int yylook(void) { yylval.str = NewString(loc); return DOXYGENSTRING; } - /*DOES NOT WORK PROPERLY AT THE MINUTE - if (strncmp(loc, "//", 2)== 0) { - printf("C style Comment: %s lines %d-%d [%s]\n", Char(Scanner_file(scan)), Scanner_start_line(scan), Scanner_line(scan), loc); - yylval.str = NewString(loc); - return C_COMMENT_STRING; - }*/ } break; case SWIG_TOKEN_ENDLINE: diff --git a/Source/CParse/parser.y b/Source/CParse/parser.y index 954b4a327..eaf53449b 100644 --- a/Source/CParse/parser.y +++ b/Source/CParse/parser.y @@ -64,26 +64,25 @@ String *currentPostComment; /* Location of the stored Doxygen Post-Comment */ String *currentCComment; /* Location of the stored C Comment */ static Node *previousNode = NULL; /* Pointer to the previous node (for post comments) */ -/* NOT a safe method at the moment */ int isStructuralDoxygen(String *s){ - char *k = Char(s); - while (k[0] != '\0' && k[0] != '\\' && k[0] != '@'){ - k++; - } - if (k[0] == '\0') return 0; - k++; - if (strncmp(k, "addtogroup", 10) == 0 || strncmp(k, "callgraph", 9) == 0 || strncmp(k, "callergraph", 11) == 0 - || strncmp(k, "category", 8) == 0 || strncmp(k, "class", 5) == 0 || strncmp(k, "def", 3) == 0 - || strncmp(k, "defgroup", 8) == 0 || strncmp(k, "dir", 3) == 0 || strncmp(k, "enum", 4) == 0 - || strncmp(k, "example", 7) == 0 || strncmp(k, "file", 4) == 0 || strncmp(k, "fn", 2) == 0 - || strncmp(k, "headerfile", 9) == 0 || strncmp(k, "hideinitializer", 12) == 0 || strncmp(k, "ingroup", 7) == 0 - || strncmp(k, "interface", 9) == 0 || strncmp(k, "internal", 8) == 0 || strncmp(k, "mainpage", 8) == 0 - || strncmp(k, "name", 4) == 0 || strncmp(k, "namespace", 9) == 0 || strncmp(k, "nosubgrouping", 13) == 0 - || strncmp(k, "overload", 8) == 0 || strncmp(k, "package", 7) == 0 || strncmp(k, "page", 4) == 0 - || strncmp(k, "property", 8) == 0 || strncmp(k, "protocol", 8) == 0 || strncmp(k, "relates", 7) == 0 - || strncmp(k, "relatesalso", 5) == 0 || strncmp(k, "showinitializer", 5) == 0 || strncmp(k, "struct", 5) == 0 - || strncmp(k, "typedef", 7) == 0 || strncmp(k, "union", 5) == 0 || strncmp(k, "var", 3) == 0 - || strncmp(k, "weakgroup", 9) == 0){ return 1;} + char *slashPointer = Strchr(s, '\\'); + char *atPointer = Strchr(s,'@'); + if (slashPointer == NULL && atPointer == NULL) return 0; + else if( slashPointer == NULL) slashPointer = atPointer; + /* Perhaps a better solution exists... */ + slashPointer++; + if (strncmp(slashPointer, "addtogroup", 10) == 0 || strncmp(slashPointer, "callgraph", 9) == 0 || strncmp(slashPointer, "callergraph", 11) == 0 + || strncmp(slashPointer, "category", 8) == 0 || strncmp(slashPointer, "class", 5) == 0 || strncmp(slashPointer, "def", 3) == 0 + || strncmp(slashPointer, "defgroup", 8) == 0 || strncmp(slashPointer, "dir", 3) == 0 || strncmp(slashPointer, "enum", 4) == 0 + || strncmp(slashPointer, "example", 7) == 0 || strncmp(slashPointer, "file", 4) == 0 || strncmp(slashPointer, "fn", 2) == 0 + || strncmp(slashPointer, "headerfile", 9) == 0 || strncmp(slashPointer, "hideinitializer", 12) == 0 || strncmp(slashPointer, "ingroup", 7) == 0 + || strncmp(slashPointer, "interface", 9) == 0 || strncmp(slashPointer, "internal", 8) == 0 || strncmp(slashPointer, "mainpage", 8) == 0 + || strncmp(slashPointer, "name", 4) == 0 || strncmp(slashPointer, "namespace", 9) == 0 || strncmp(slashPointer, "nosubgrouping", 13) == 0 + || strncmp(slashPointer, "overload", 8) == 0 || strncmp(slashPointer, "package", 7) == 0 || strncmp(slashPointer, "page", 4) == 0 + || strncmp(slashPointer, "property", 8) == 0 || strncmp(slashPointer, "protocol", 8) == 0 || strncmp(slashPointer, "relates", 7) == 0 + || strncmp(slashPointer, "relatesalso", 5) == 0 || strncmp(slashPointer, "showinitializer", 5) == 0 || strncmp(slashPointer, "struct", 5) == 0 + || strncmp(slashPointer, "typedef", 7) == 0 || strncmp(slashPointer, "union", 5) == 0 || strncmp(slashPointer, "var", 3) == 0 + || strncmp(slashPointer, "weakgroup", 9) == 0){ return 1;} return 0; } @@ -4091,8 +4090,8 @@ cpp_members : cpp_member cpp_members { appendChild($$,$4); set_nextSibling($$,$6); } - | include_directive { $$ = $1; } - | empty { $$ = 0;} + | include_directive { $$ = $1; } + | empty { $$ = 0;} | error { int start_line = cparse_line; skip_decl(); @@ -4136,6 +4135,9 @@ cpp_member : c_declaration { $$ = $1; } | storage_class idcolon SEMI { $$ = 0; } | cpp_using_decl { $$ = $1; } | cpp_template_decl { $$ = $1; } + | doxygen_comment{ $$ = $1; } + | c_style_comment{ $$ = $1; } + | doxygen_post_comment{ $$ = $1; } | cpp_catch_decl { $$ = 0; } | template_directive { $$ = $1; } | warn_directive { $$ = $1; } diff --git a/Source/DoxygenTranslator/src/.deps/.dirstamp b/Source/DoxygenTranslator/src/.deps/.dirstamp new file mode 100644 index 000000000..e69de29bb diff --git a/Source/DoxygenTranslator/src/.deps/DoxygenEntity.Po b/Source/DoxygenTranslator/src/.deps/DoxygenEntity.Po new file mode 100644 index 000000000..7d2d2e0db --- /dev/null +++ b/Source/DoxygenTranslator/src/.deps/DoxygenEntity.Po @@ -0,0 +1,380 @@ +DoxygenTranslator/src/DoxygenEntity.o \ + DoxygenTranslator/src/DoxygenEntity.o: \ + DoxygenTranslator/src/DoxygenEntity.cpp \ + DoxygenTranslator/src/DoxygenEntity.h /usr/include/c++/4.2/cstdlib \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.2/cstddef \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/xlocale.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/alloca.h /usr/include/c++/4.2/iostream \ + /usr/include/c++/4.2/ostream /usr/include/c++/4.2/ios \ + /usr/include/c++/4.2/iosfwd \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.2/cstring /usr/include/string.h \ + /usr/include/c++/4.2/cstdio /usr/include/stdio.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/c++/4.2/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/langinfo.h \ + /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \ + /usr/include/c++/4.2/cstdarg \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \ + /usr/include/signal.h /usr/include/bits/setjmp.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/c++/4.2/cctype /usr/include/ctype.h \ + /usr/include/c++/4.2/bits/stringfwd.h \ + /usr/include/c++/4.2/bits/postypes.h /usr/include/c++/4.2/cwchar \ + /usr/include/c++/4.2/ctime /usr/include/bits/wchar.h \ + /usr/include/stdint.h /usr/include/c++/4.2/bits/functexcept.h \ + /usr/include/c++/4.2/exception_defines.h /usr/include/c++/4.2/exception \ + /usr/include/c++/4.2/bits/char_traits.h \ + /usr/include/c++/4.2/bits/stl_algobase.h /usr/include/c++/4.2/climits \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/c++/4.2/bits/stl_pair.h \ + /usr/include/c++/4.2/bits/cpp_type_traits.h \ + /usr/include/c++/4.2/ext/type_traits.h /usr/include/c++/4.2/utility \ + /usr/include/c++/4.2/bits/stl_relops.h \ + /usr/include/c++/4.2/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.2/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.2/bits/concept_check.h \ + /usr/include/c++/4.2/bits/stl_iterator.h \ + /usr/include/c++/4.2/debug/debug.h \ + /usr/include/c++/4.2/bits/localefwd.h \ + /usr/include/c++/4.2/bits/ios_base.h \ + /usr/include/c++/4.2/ext/atomicity.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.2/bits/locale_classes.h /usr/include/c++/4.2/string \ + /usr/include/c++/4.2/memory /usr/include/c++/4.2/bits/allocator.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.2/ext/new_allocator.h /usr/include/c++/4.2/new \ + /usr/include/c++/4.2/bits/stl_construct.h \ + /usr/include/c++/4.2/bits/stl_uninitialized.h \ + /usr/include/c++/4.2/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.2/limits /usr/include/c++/4.2/bits/ostream_insert.h \ + /usr/include/c++/4.2/bits/stl_function.h \ + /usr/include/c++/4.2/bits/basic_string.h /usr/include/c++/4.2/algorithm \ + /usr/include/c++/4.2/bits/stl_algo.h \ + /usr/include/c++/4.2/bits/stl_heap.h \ + /usr/include/c++/4.2/bits/stl_tempbuf.h \ + /usr/include/c++/4.2/bits/basic_string.tcc \ + /usr/include/c++/4.2/streambuf /usr/include/c++/4.2/bits/streambuf.tcc \ + /usr/include/c++/4.2/bits/basic_ios.h \ + /usr/include/c++/4.2/bits/streambuf_iterator.h \ + /usr/include/c++/4.2/bits/locale_facets.h /usr/include/c++/4.2/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.2/bits/codecvt.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/messages_members.h \ + /usr/include/c++/4.2/bits/basic_ios.tcc \ + /usr/include/c++/4.2/bits/ostream.tcc /usr/include/c++/4.2/locale \ + /usr/include/c++/4.2/bits/locale_facets.tcc \ + /usr/include/c++/4.2/typeinfo /usr/include/c++/4.2/istream \ + /usr/include/c++/4.2/bits/istream.tcc /usr/include/c++/4.2/list \ + /usr/include/c++/4.2/bits/stl_list.h /usr/include/c++/4.2/bits/list.tcc + +DoxygenTranslator/src/DoxygenEntity.h: + +/usr/include/c++/4.2/cstdlib: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.2/cstddef: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/xlocale.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/c++/4.2/iostream: + +/usr/include/c++/4.2/ostream: + +/usr/include/c++/4.2/ios: + +/usr/include/c++/4.2/iosfwd: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.2/cstring: + +/usr/include/string.h: + +/usr/include/c++/4.2/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/c++/4.2/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/include/c++/4.2/cstdarg: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/bits/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/c++/4.2/cctype: + +/usr/include/ctype.h: + +/usr/include/c++/4.2/bits/stringfwd.h: + +/usr/include/c++/4.2/bits/postypes.h: + +/usr/include/c++/4.2/cwchar: + +/usr/include/c++/4.2/ctime: + +/usr/include/bits/wchar.h: + +/usr/include/stdint.h: + +/usr/include/c++/4.2/bits/functexcept.h: + +/usr/include/c++/4.2/exception_defines.h: + +/usr/include/c++/4.2/exception: + +/usr/include/c++/4.2/bits/char_traits.h: + +/usr/include/c++/4.2/bits/stl_algobase.h: + +/usr/include/c++/4.2/climits: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/c++/4.2/bits/stl_pair.h: + +/usr/include/c++/4.2/bits/cpp_type_traits.h: + +/usr/include/c++/4.2/ext/type_traits.h: + +/usr/include/c++/4.2/utility: + +/usr/include/c++/4.2/bits/stl_relops.h: + +/usr/include/c++/4.2/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.2/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.2/bits/concept_check.h: + +/usr/include/c++/4.2/bits/stl_iterator.h: + +/usr/include/c++/4.2/debug/debug.h: + +/usr/include/c++/4.2/bits/localefwd.h: + +/usr/include/c++/4.2/bits/ios_base.h: + +/usr/include/c++/4.2/ext/atomicity.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.2/bits/locale_classes.h: + +/usr/include/c++/4.2/string: + +/usr/include/c++/4.2/memory: + +/usr/include/c++/4.2/bits/allocator.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.2/ext/new_allocator.h: + +/usr/include/c++/4.2/new: + +/usr/include/c++/4.2/bits/stl_construct.h: + +/usr/include/c++/4.2/bits/stl_uninitialized.h: + +/usr/include/c++/4.2/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.2/limits: + +/usr/include/c++/4.2/bits/ostream_insert.h: + +/usr/include/c++/4.2/bits/stl_function.h: + +/usr/include/c++/4.2/bits/basic_string.h: + +/usr/include/c++/4.2/algorithm: + +/usr/include/c++/4.2/bits/stl_algo.h: + +/usr/include/c++/4.2/bits/stl_heap.h: + +/usr/include/c++/4.2/bits/stl_tempbuf.h: + +/usr/include/c++/4.2/bits/basic_string.tcc: + +/usr/include/c++/4.2/streambuf: + +/usr/include/c++/4.2/bits/streambuf.tcc: + +/usr/include/c++/4.2/bits/basic_ios.h: + +/usr/include/c++/4.2/bits/streambuf_iterator.h: + +/usr/include/c++/4.2/bits/locale_facets.h: + +/usr/include/c++/4.2/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.2/bits/codecvt.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/time_members.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/messages_members.h: + +/usr/include/c++/4.2/bits/basic_ios.tcc: + +/usr/include/c++/4.2/bits/ostream.tcc: + +/usr/include/c++/4.2/locale: + +/usr/include/c++/4.2/bits/locale_facets.tcc: + +/usr/include/c++/4.2/typeinfo: + +/usr/include/c++/4.2/istream: + +/usr/include/c++/4.2/bits/istream.tcc: + +/usr/include/c++/4.2/list: + +/usr/include/c++/4.2/bits/stl_list.h: + +/usr/include/c++/4.2/bits/list.tcc: diff --git a/Source/DoxygenTranslator/src/.deps/DoxygenParser.Po b/Source/DoxygenTranslator/src/.deps/DoxygenParser.Po new file mode 100644 index 000000000..3a023d6b9 --- /dev/null +++ b/Source/DoxygenTranslator/src/.deps/DoxygenParser.Po @@ -0,0 +1,398 @@ +DoxygenTranslator/src/DoxygenParser.o \ + DoxygenTranslator/src/DoxygenParser.o: \ + DoxygenTranslator/src/DoxygenParser.cpp \ + DoxygenTranslator/src/DoxygenParser.h /usr/include/c++/4.2/cstdlib \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.2/cstddef \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/xlocale.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/alloca.h /usr/include/c++/4.2/iostream \ + /usr/include/c++/4.2/ostream /usr/include/c++/4.2/ios \ + /usr/include/c++/4.2/iosfwd \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.2/cstring /usr/include/string.h \ + /usr/include/c++/4.2/cstdio /usr/include/stdio.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/c++/4.2/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/langinfo.h \ + /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \ + /usr/include/c++/4.2/cstdarg \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \ + /usr/include/signal.h /usr/include/bits/setjmp.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/c++/4.2/cctype /usr/include/ctype.h \ + /usr/include/c++/4.2/bits/stringfwd.h \ + /usr/include/c++/4.2/bits/postypes.h /usr/include/c++/4.2/cwchar \ + /usr/include/c++/4.2/ctime /usr/include/bits/wchar.h \ + /usr/include/stdint.h /usr/include/c++/4.2/bits/functexcept.h \ + /usr/include/c++/4.2/exception_defines.h /usr/include/c++/4.2/exception \ + /usr/include/c++/4.2/bits/char_traits.h \ + /usr/include/c++/4.2/bits/stl_algobase.h /usr/include/c++/4.2/climits \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/c++/4.2/bits/stl_pair.h \ + /usr/include/c++/4.2/bits/cpp_type_traits.h \ + /usr/include/c++/4.2/ext/type_traits.h /usr/include/c++/4.2/utility \ + /usr/include/c++/4.2/bits/stl_relops.h \ + /usr/include/c++/4.2/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.2/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.2/bits/concept_check.h \ + /usr/include/c++/4.2/bits/stl_iterator.h \ + /usr/include/c++/4.2/debug/debug.h \ + /usr/include/c++/4.2/bits/localefwd.h \ + /usr/include/c++/4.2/bits/ios_base.h \ + /usr/include/c++/4.2/ext/atomicity.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.2/bits/locale_classes.h /usr/include/c++/4.2/string \ + /usr/include/c++/4.2/memory /usr/include/c++/4.2/bits/allocator.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.2/ext/new_allocator.h /usr/include/c++/4.2/new \ + /usr/include/c++/4.2/bits/stl_construct.h \ + /usr/include/c++/4.2/bits/stl_uninitialized.h \ + /usr/include/c++/4.2/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.2/limits /usr/include/c++/4.2/bits/ostream_insert.h \ + /usr/include/c++/4.2/bits/stl_function.h \ + /usr/include/c++/4.2/bits/basic_string.h /usr/include/c++/4.2/algorithm \ + /usr/include/c++/4.2/bits/stl_algo.h \ + /usr/include/c++/4.2/bits/stl_heap.h \ + /usr/include/c++/4.2/bits/stl_tempbuf.h \ + /usr/include/c++/4.2/bits/basic_string.tcc \ + /usr/include/c++/4.2/streambuf /usr/include/c++/4.2/bits/streambuf.tcc \ + /usr/include/c++/4.2/bits/basic_ios.h \ + /usr/include/c++/4.2/bits/streambuf_iterator.h \ + /usr/include/c++/4.2/bits/locale_facets.h /usr/include/c++/4.2/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.2/bits/codecvt.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/messages_members.h \ + /usr/include/c++/4.2/bits/basic_ios.tcc \ + /usr/include/c++/4.2/bits/ostream.tcc /usr/include/c++/4.2/locale \ + /usr/include/c++/4.2/bits/locale_facets.tcc \ + /usr/include/c++/4.2/typeinfo /usr/include/c++/4.2/istream \ + /usr/include/c++/4.2/bits/istream.tcc /usr/include/c++/4.2/fstream \ + /usr/include/c++/4.2/i486-linux-gnu/bits/basic_file.h \ + /usr/include/c++/4.2/bits/fstream.tcc /usr/include/c++/4.2/list \ + /usr/include/c++/4.2/bits/stl_list.h /usr/include/c++/4.2/bits/list.tcc \ + DoxygenTranslator/src/DoxygenEntity.h DoxygenTranslator/src/TokenList.h \ + DoxygenTranslator/src/Token.h DoxygenTranslator/src/JavaDocConverter.h + +DoxygenTranslator/src/DoxygenParser.h: + +/usr/include/c++/4.2/cstdlib: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.2/cstddef: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/xlocale.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/c++/4.2/iostream: + +/usr/include/c++/4.2/ostream: + +/usr/include/c++/4.2/ios: + +/usr/include/c++/4.2/iosfwd: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.2/cstring: + +/usr/include/string.h: + +/usr/include/c++/4.2/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/c++/4.2/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/include/c++/4.2/cstdarg: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/bits/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/c++/4.2/cctype: + +/usr/include/ctype.h: + +/usr/include/c++/4.2/bits/stringfwd.h: + +/usr/include/c++/4.2/bits/postypes.h: + +/usr/include/c++/4.2/cwchar: + +/usr/include/c++/4.2/ctime: + +/usr/include/bits/wchar.h: + +/usr/include/stdint.h: + +/usr/include/c++/4.2/bits/functexcept.h: + +/usr/include/c++/4.2/exception_defines.h: + +/usr/include/c++/4.2/exception: + +/usr/include/c++/4.2/bits/char_traits.h: + +/usr/include/c++/4.2/bits/stl_algobase.h: + +/usr/include/c++/4.2/climits: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/c++/4.2/bits/stl_pair.h: + +/usr/include/c++/4.2/bits/cpp_type_traits.h: + +/usr/include/c++/4.2/ext/type_traits.h: + +/usr/include/c++/4.2/utility: + +/usr/include/c++/4.2/bits/stl_relops.h: + +/usr/include/c++/4.2/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.2/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.2/bits/concept_check.h: + +/usr/include/c++/4.2/bits/stl_iterator.h: + +/usr/include/c++/4.2/debug/debug.h: + +/usr/include/c++/4.2/bits/localefwd.h: + +/usr/include/c++/4.2/bits/ios_base.h: + +/usr/include/c++/4.2/ext/atomicity.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.2/bits/locale_classes.h: + +/usr/include/c++/4.2/string: + +/usr/include/c++/4.2/memory: + +/usr/include/c++/4.2/bits/allocator.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.2/ext/new_allocator.h: + +/usr/include/c++/4.2/new: + +/usr/include/c++/4.2/bits/stl_construct.h: + +/usr/include/c++/4.2/bits/stl_uninitialized.h: + +/usr/include/c++/4.2/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.2/limits: + +/usr/include/c++/4.2/bits/ostream_insert.h: + +/usr/include/c++/4.2/bits/stl_function.h: + +/usr/include/c++/4.2/bits/basic_string.h: + +/usr/include/c++/4.2/algorithm: + +/usr/include/c++/4.2/bits/stl_algo.h: + +/usr/include/c++/4.2/bits/stl_heap.h: + +/usr/include/c++/4.2/bits/stl_tempbuf.h: + +/usr/include/c++/4.2/bits/basic_string.tcc: + +/usr/include/c++/4.2/streambuf: + +/usr/include/c++/4.2/bits/streambuf.tcc: + +/usr/include/c++/4.2/bits/basic_ios.h: + +/usr/include/c++/4.2/bits/streambuf_iterator.h: + +/usr/include/c++/4.2/bits/locale_facets.h: + +/usr/include/c++/4.2/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.2/bits/codecvt.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/time_members.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/messages_members.h: + +/usr/include/c++/4.2/bits/basic_ios.tcc: + +/usr/include/c++/4.2/bits/ostream.tcc: + +/usr/include/c++/4.2/locale: + +/usr/include/c++/4.2/bits/locale_facets.tcc: + +/usr/include/c++/4.2/typeinfo: + +/usr/include/c++/4.2/istream: + +/usr/include/c++/4.2/bits/istream.tcc: + +/usr/include/c++/4.2/fstream: + +/usr/include/c++/4.2/i486-linux-gnu/bits/basic_file.h: + +/usr/include/c++/4.2/bits/fstream.tcc: + +/usr/include/c++/4.2/list: + +/usr/include/c++/4.2/bits/stl_list.h: + +/usr/include/c++/4.2/bits/list.tcc: + +DoxygenTranslator/src/DoxygenEntity.h: + +DoxygenTranslator/src/TokenList.h: + +DoxygenTranslator/src/Token.h: + +DoxygenTranslator/src/JavaDocConverter.h: diff --git a/Source/DoxygenTranslator/src/.deps/DoxygenTranslator.Po b/Source/DoxygenTranslator/src/.deps/DoxygenTranslator.Po new file mode 100644 index 000000000..d71e23830 --- /dev/null +++ b/Source/DoxygenTranslator/src/.deps/DoxygenTranslator.Po @@ -0,0 +1,401 @@ +DoxygenTranslator/src/DoxygenTranslator.o \ + DoxygenTranslator/src/DoxygenTranslator.o: \ + DoxygenTranslator/src/DoxygenTranslator.cpp \ + DoxygenTranslator/src/DoxygenParser.h /usr/include/c++/4.2/cstdlib \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.2/cstddef \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/xlocale.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/alloca.h /usr/include/c++/4.2/iostream \ + /usr/include/c++/4.2/ostream /usr/include/c++/4.2/ios \ + /usr/include/c++/4.2/iosfwd \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.2/cstring /usr/include/string.h \ + /usr/include/c++/4.2/cstdio /usr/include/stdio.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/c++/4.2/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/langinfo.h \ + /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \ + /usr/include/c++/4.2/cstdarg \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \ + /usr/include/signal.h /usr/include/bits/setjmp.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/c++/4.2/cctype /usr/include/ctype.h \ + /usr/include/c++/4.2/bits/stringfwd.h \ + /usr/include/c++/4.2/bits/postypes.h /usr/include/c++/4.2/cwchar \ + /usr/include/c++/4.2/ctime /usr/include/bits/wchar.h \ + /usr/include/stdint.h /usr/include/c++/4.2/bits/functexcept.h \ + /usr/include/c++/4.2/exception_defines.h /usr/include/c++/4.2/exception \ + /usr/include/c++/4.2/bits/char_traits.h \ + /usr/include/c++/4.2/bits/stl_algobase.h /usr/include/c++/4.2/climits \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/c++/4.2/bits/stl_pair.h \ + /usr/include/c++/4.2/bits/cpp_type_traits.h \ + /usr/include/c++/4.2/ext/type_traits.h /usr/include/c++/4.2/utility \ + /usr/include/c++/4.2/bits/stl_relops.h \ + /usr/include/c++/4.2/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.2/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.2/bits/concept_check.h \ + /usr/include/c++/4.2/bits/stl_iterator.h \ + /usr/include/c++/4.2/debug/debug.h \ + /usr/include/c++/4.2/bits/localefwd.h \ + /usr/include/c++/4.2/bits/ios_base.h \ + /usr/include/c++/4.2/ext/atomicity.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.2/bits/locale_classes.h /usr/include/c++/4.2/string \ + /usr/include/c++/4.2/memory /usr/include/c++/4.2/bits/allocator.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.2/ext/new_allocator.h /usr/include/c++/4.2/new \ + /usr/include/c++/4.2/bits/stl_construct.h \ + /usr/include/c++/4.2/bits/stl_uninitialized.h \ + /usr/include/c++/4.2/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.2/limits /usr/include/c++/4.2/bits/ostream_insert.h \ + /usr/include/c++/4.2/bits/stl_function.h \ + /usr/include/c++/4.2/bits/basic_string.h /usr/include/c++/4.2/algorithm \ + /usr/include/c++/4.2/bits/stl_algo.h \ + /usr/include/c++/4.2/bits/stl_heap.h \ + /usr/include/c++/4.2/bits/stl_tempbuf.h \ + /usr/include/c++/4.2/bits/basic_string.tcc \ + /usr/include/c++/4.2/streambuf /usr/include/c++/4.2/bits/streambuf.tcc \ + /usr/include/c++/4.2/bits/basic_ios.h \ + /usr/include/c++/4.2/bits/streambuf_iterator.h \ + /usr/include/c++/4.2/bits/locale_facets.h /usr/include/c++/4.2/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.2/bits/codecvt.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/messages_members.h \ + /usr/include/c++/4.2/bits/basic_ios.tcc \ + /usr/include/c++/4.2/bits/ostream.tcc /usr/include/c++/4.2/locale \ + /usr/include/c++/4.2/bits/locale_facets.tcc \ + /usr/include/c++/4.2/typeinfo /usr/include/c++/4.2/istream \ + /usr/include/c++/4.2/bits/istream.tcc /usr/include/c++/4.2/fstream \ + /usr/include/c++/4.2/i486-linux-gnu/bits/basic_file.h \ + /usr/include/c++/4.2/bits/fstream.tcc /usr/include/c++/4.2/list \ + /usr/include/c++/4.2/bits/stl_list.h /usr/include/c++/4.2/bits/list.tcc \ + DoxygenTranslator/src/DoxygenEntity.h DoxygenTranslator/src/TokenList.h \ + DoxygenTranslator/src/Token.h DoxygenTranslator/src/JavaDocConverter.h \ + DoxygenTranslator/src/DoxygenTranslator.h + +DoxygenTranslator/src/DoxygenParser.h: + +/usr/include/c++/4.2/cstdlib: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.2/cstddef: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/xlocale.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/c++/4.2/iostream: + +/usr/include/c++/4.2/ostream: + +/usr/include/c++/4.2/ios: + +/usr/include/c++/4.2/iosfwd: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.2/cstring: + +/usr/include/string.h: + +/usr/include/c++/4.2/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/c++/4.2/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/include/c++/4.2/cstdarg: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/bits/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/c++/4.2/cctype: + +/usr/include/ctype.h: + +/usr/include/c++/4.2/bits/stringfwd.h: + +/usr/include/c++/4.2/bits/postypes.h: + +/usr/include/c++/4.2/cwchar: + +/usr/include/c++/4.2/ctime: + +/usr/include/bits/wchar.h: + +/usr/include/stdint.h: + +/usr/include/c++/4.2/bits/functexcept.h: + +/usr/include/c++/4.2/exception_defines.h: + +/usr/include/c++/4.2/exception: + +/usr/include/c++/4.2/bits/char_traits.h: + +/usr/include/c++/4.2/bits/stl_algobase.h: + +/usr/include/c++/4.2/climits: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/c++/4.2/bits/stl_pair.h: + +/usr/include/c++/4.2/bits/cpp_type_traits.h: + +/usr/include/c++/4.2/ext/type_traits.h: + +/usr/include/c++/4.2/utility: + +/usr/include/c++/4.2/bits/stl_relops.h: + +/usr/include/c++/4.2/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.2/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.2/bits/concept_check.h: + +/usr/include/c++/4.2/bits/stl_iterator.h: + +/usr/include/c++/4.2/debug/debug.h: + +/usr/include/c++/4.2/bits/localefwd.h: + +/usr/include/c++/4.2/bits/ios_base.h: + +/usr/include/c++/4.2/ext/atomicity.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.2/bits/locale_classes.h: + +/usr/include/c++/4.2/string: + +/usr/include/c++/4.2/memory: + +/usr/include/c++/4.2/bits/allocator.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.2/ext/new_allocator.h: + +/usr/include/c++/4.2/new: + +/usr/include/c++/4.2/bits/stl_construct.h: + +/usr/include/c++/4.2/bits/stl_uninitialized.h: + +/usr/include/c++/4.2/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.2/limits: + +/usr/include/c++/4.2/bits/ostream_insert.h: + +/usr/include/c++/4.2/bits/stl_function.h: + +/usr/include/c++/4.2/bits/basic_string.h: + +/usr/include/c++/4.2/algorithm: + +/usr/include/c++/4.2/bits/stl_algo.h: + +/usr/include/c++/4.2/bits/stl_heap.h: + +/usr/include/c++/4.2/bits/stl_tempbuf.h: + +/usr/include/c++/4.2/bits/basic_string.tcc: + +/usr/include/c++/4.2/streambuf: + +/usr/include/c++/4.2/bits/streambuf.tcc: + +/usr/include/c++/4.2/bits/basic_ios.h: + +/usr/include/c++/4.2/bits/streambuf_iterator.h: + +/usr/include/c++/4.2/bits/locale_facets.h: + +/usr/include/c++/4.2/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.2/bits/codecvt.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/time_members.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/messages_members.h: + +/usr/include/c++/4.2/bits/basic_ios.tcc: + +/usr/include/c++/4.2/bits/ostream.tcc: + +/usr/include/c++/4.2/locale: + +/usr/include/c++/4.2/bits/locale_facets.tcc: + +/usr/include/c++/4.2/typeinfo: + +/usr/include/c++/4.2/istream: + +/usr/include/c++/4.2/bits/istream.tcc: + +/usr/include/c++/4.2/fstream: + +/usr/include/c++/4.2/i486-linux-gnu/bits/basic_file.h: + +/usr/include/c++/4.2/bits/fstream.tcc: + +/usr/include/c++/4.2/list: + +/usr/include/c++/4.2/bits/stl_list.h: + +/usr/include/c++/4.2/bits/list.tcc: + +DoxygenTranslator/src/DoxygenEntity.h: + +DoxygenTranslator/src/TokenList.h: + +DoxygenTranslator/src/Token.h: + +DoxygenTranslator/src/JavaDocConverter.h: + +DoxygenTranslator/src/DoxygenTranslator.h: diff --git a/Source/DoxygenTranslator/src/.deps/JavaDocConverter.Po b/Source/DoxygenTranslator/src/.deps/JavaDocConverter.Po new file mode 100644 index 000000000..79a3133a3 --- /dev/null +++ b/Source/DoxygenTranslator/src/.deps/JavaDocConverter.Po @@ -0,0 +1,385 @@ +DoxygenTranslator/src/JavaDocConverter.o \ + DoxygenTranslator/src/JavaDocConverter.o: \ + DoxygenTranslator/src/JavaDocConverter.cpp \ + DoxygenTranslator/src/JavaDocConverter.h /usr/include/c++/4.2/list \ + /usr/include/c++/4.2/bits/functexcept.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.2/exception_defines.h \ + /usr/include/c++/4.2/bits/stl_algobase.h /usr/include/c++/4.2/cstring \ + /usr/include/c++/4.2/cstddef \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/include/c++/4.2/climits \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/stdio_lim.h /usr/include/c++/4.2/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/types.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/c++/4.2/iosfwd \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.2/cstdio /usr/include/stdio.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/sys_errlist.h /usr/include/c++/4.2/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h /usr/include/c++/4.2/cstdarg \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \ + /usr/include/signal.h /usr/include/bits/setjmp.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/c++/4.2/cctype /usr/include/ctype.h \ + /usr/include/c++/4.2/bits/stringfwd.h \ + /usr/include/c++/4.2/bits/postypes.h /usr/include/c++/4.2/cwchar \ + /usr/include/c++/4.2/ctime /usr/include/bits/wchar.h \ + /usr/include/stdint.h /usr/include/c++/4.2/bits/stl_pair.h \ + /usr/include/c++/4.2/bits/cpp_type_traits.h \ + /usr/include/c++/4.2/ext/type_traits.h /usr/include/c++/4.2/utility \ + /usr/include/c++/4.2/bits/stl_relops.h \ + /usr/include/c++/4.2/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.2/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.2/bits/concept_check.h \ + /usr/include/c++/4.2/bits/stl_iterator.h \ + /usr/include/c++/4.2/debug/debug.h \ + /usr/include/c++/4.2/bits/allocator.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.2/ext/new_allocator.h /usr/include/c++/4.2/new \ + /usr/include/c++/4.2/exception \ + /usr/include/c++/4.2/bits/stl_construct.h \ + /usr/include/c++/4.2/bits/stl_uninitialized.h \ + /usr/include/c++/4.2/bits/stl_list.h /usr/include/c++/4.2/bits/list.tcc \ + /usr/include/c++/4.2/string /usr/include/c++/4.2/bits/char_traits.h \ + /usr/include/c++/4.2/memory \ + /usr/include/c++/4.2/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.2/limits /usr/include/c++/4.2/bits/ostream_insert.h \ + /usr/include/c++/4.2/bits/stl_function.h \ + /usr/include/c++/4.2/bits/basic_string.h \ + /usr/include/c++/4.2/ext/atomicity.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.2/algorithm /usr/include/c++/4.2/bits/stl_algo.h \ + /usr/include/c++/4.2/bits/stl_heap.h \ + /usr/include/c++/4.2/bits/stl_tempbuf.h \ + /usr/include/c++/4.2/bits/basic_string.tcc \ + DoxygenTranslator/src/DoxygenEntity.h /usr/include/c++/4.2/iostream \ + /usr/include/c++/4.2/ostream /usr/include/c++/4.2/ios \ + /usr/include/c++/4.2/bits/localefwd.h \ + /usr/include/c++/4.2/bits/ios_base.h \ + /usr/include/c++/4.2/bits/locale_classes.h \ + /usr/include/c++/4.2/streambuf /usr/include/c++/4.2/bits/streambuf.tcc \ + /usr/include/c++/4.2/bits/basic_ios.h \ + /usr/include/c++/4.2/bits/streambuf_iterator.h \ + /usr/include/c++/4.2/bits/locale_facets.h /usr/include/c++/4.2/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.2/bits/codecvt.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/messages_members.h \ + /usr/include/c++/4.2/bits/basic_ios.tcc \ + /usr/include/c++/4.2/bits/ostream.tcc /usr/include/c++/4.2/locale \ + /usr/include/c++/4.2/bits/locale_facets.tcc \ + /usr/include/c++/4.2/typeinfo /usr/include/c++/4.2/istream \ + /usr/include/c++/4.2/bits/istream.tcc + +DoxygenTranslator/src/JavaDocConverter.h: + +/usr/include/c++/4.2/list: + +/usr/include/c++/4.2/bits/functexcept.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.2/exception_defines.h: + +/usr/include/c++/4.2/bits/stl_algobase.h: + +/usr/include/c++/4.2/cstring: + +/usr/include/c++/4.2/cstddef: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/c++/4.2/climits: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/c++/4.2/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/c++/4.2/iosfwd: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.2/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/c++/4.2/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/include/c++/4.2/cstdarg: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/bits/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/c++/4.2/cctype: + +/usr/include/ctype.h: + +/usr/include/c++/4.2/bits/stringfwd.h: + +/usr/include/c++/4.2/bits/postypes.h: + +/usr/include/c++/4.2/cwchar: + +/usr/include/c++/4.2/ctime: + +/usr/include/bits/wchar.h: + +/usr/include/stdint.h: + +/usr/include/c++/4.2/bits/stl_pair.h: + +/usr/include/c++/4.2/bits/cpp_type_traits.h: + +/usr/include/c++/4.2/ext/type_traits.h: + +/usr/include/c++/4.2/utility: + +/usr/include/c++/4.2/bits/stl_relops.h: + +/usr/include/c++/4.2/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.2/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.2/bits/concept_check.h: + +/usr/include/c++/4.2/bits/stl_iterator.h: + +/usr/include/c++/4.2/debug/debug.h: + +/usr/include/c++/4.2/bits/allocator.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.2/ext/new_allocator.h: + +/usr/include/c++/4.2/new: + +/usr/include/c++/4.2/exception: + +/usr/include/c++/4.2/bits/stl_construct.h: + +/usr/include/c++/4.2/bits/stl_uninitialized.h: + +/usr/include/c++/4.2/bits/stl_list.h: + +/usr/include/c++/4.2/bits/list.tcc: + +/usr/include/c++/4.2/string: + +/usr/include/c++/4.2/bits/char_traits.h: + +/usr/include/c++/4.2/memory: + +/usr/include/c++/4.2/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.2/limits: + +/usr/include/c++/4.2/bits/ostream_insert.h: + +/usr/include/c++/4.2/bits/stl_function.h: + +/usr/include/c++/4.2/bits/basic_string.h: + +/usr/include/c++/4.2/ext/atomicity.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.2/algorithm: + +/usr/include/c++/4.2/bits/stl_algo.h: + +/usr/include/c++/4.2/bits/stl_heap.h: + +/usr/include/c++/4.2/bits/stl_tempbuf.h: + +/usr/include/c++/4.2/bits/basic_string.tcc: + +DoxygenTranslator/src/DoxygenEntity.h: + +/usr/include/c++/4.2/iostream: + +/usr/include/c++/4.2/ostream: + +/usr/include/c++/4.2/ios: + +/usr/include/c++/4.2/bits/localefwd.h: + +/usr/include/c++/4.2/bits/ios_base.h: + +/usr/include/c++/4.2/bits/locale_classes.h: + +/usr/include/c++/4.2/streambuf: + +/usr/include/c++/4.2/bits/streambuf.tcc: + +/usr/include/c++/4.2/bits/basic_ios.h: + +/usr/include/c++/4.2/bits/streambuf_iterator.h: + +/usr/include/c++/4.2/bits/locale_facets.h: + +/usr/include/c++/4.2/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.2/bits/codecvt.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/time_members.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/messages_members.h: + +/usr/include/c++/4.2/bits/basic_ios.tcc: + +/usr/include/c++/4.2/bits/ostream.tcc: + +/usr/include/c++/4.2/locale: + +/usr/include/c++/4.2/bits/locale_facets.tcc: + +/usr/include/c++/4.2/typeinfo: + +/usr/include/c++/4.2/istream: + +/usr/include/c++/4.2/bits/istream.tcc: diff --git a/Source/DoxygenTranslator/src/.deps/Token.Po b/Source/DoxygenTranslator/src/.deps/Token.Po new file mode 100644 index 000000000..9a4bb90f5 --- /dev/null +++ b/Source/DoxygenTranslator/src/.deps/Token.Po @@ -0,0 +1,379 @@ +DoxygenTranslator/src/Token.o DoxygenTranslator/src/Token.o: \ + DoxygenTranslator/src/Token.cpp DoxygenTranslator/src/Token.h \ + /usr/include/c++/4.2/string \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.2/bits/stringfwd.h \ + /usr/include/c++/4.2/bits/char_traits.h /usr/include/c++/4.2/cstring \ + /usr/include/c++/4.2/cstddef \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/include/c++/4.2/bits/stl_algobase.h /usr/include/c++/4.2/climits \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/stdio_lim.h /usr/include/c++/4.2/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/types.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/c++/4.2/iosfwd \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.2/cstdio /usr/include/stdio.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/sys_errlist.h /usr/include/c++/4.2/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h /usr/include/c++/4.2/cstdarg \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \ + /usr/include/signal.h /usr/include/bits/setjmp.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/c++/4.2/cctype /usr/include/ctype.h \ + /usr/include/c++/4.2/bits/postypes.h /usr/include/c++/4.2/cwchar \ + /usr/include/c++/4.2/ctime /usr/include/bits/wchar.h \ + /usr/include/stdint.h /usr/include/c++/4.2/bits/functexcept.h \ + /usr/include/c++/4.2/exception_defines.h \ + /usr/include/c++/4.2/bits/stl_pair.h \ + /usr/include/c++/4.2/bits/cpp_type_traits.h \ + /usr/include/c++/4.2/ext/type_traits.h /usr/include/c++/4.2/utility \ + /usr/include/c++/4.2/bits/stl_relops.h \ + /usr/include/c++/4.2/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.2/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.2/bits/concept_check.h \ + /usr/include/c++/4.2/bits/stl_iterator.h \ + /usr/include/c++/4.2/debug/debug.h /usr/include/c++/4.2/memory \ + /usr/include/c++/4.2/bits/allocator.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.2/ext/new_allocator.h /usr/include/c++/4.2/new \ + /usr/include/c++/4.2/exception \ + /usr/include/c++/4.2/bits/stl_construct.h \ + /usr/include/c++/4.2/bits/stl_uninitialized.h \ + /usr/include/c++/4.2/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.2/limits /usr/include/c++/4.2/bits/ostream_insert.h \ + /usr/include/c++/4.2/bits/stl_function.h \ + /usr/include/c++/4.2/bits/basic_string.h \ + /usr/include/c++/4.2/ext/atomicity.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.2/algorithm /usr/include/c++/4.2/bits/stl_algo.h \ + /usr/include/c++/4.2/bits/stl_heap.h \ + /usr/include/c++/4.2/bits/stl_tempbuf.h \ + /usr/include/c++/4.2/bits/basic_string.tcc \ + /usr/include/c++/4.2/iostream /usr/include/c++/4.2/ostream \ + /usr/include/c++/4.2/ios /usr/include/c++/4.2/bits/localefwd.h \ + /usr/include/c++/4.2/bits/ios_base.h \ + /usr/include/c++/4.2/bits/locale_classes.h \ + /usr/include/c++/4.2/streambuf /usr/include/c++/4.2/bits/streambuf.tcc \ + /usr/include/c++/4.2/bits/basic_ios.h \ + /usr/include/c++/4.2/bits/streambuf_iterator.h \ + /usr/include/c++/4.2/bits/locale_facets.h /usr/include/c++/4.2/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.2/bits/codecvt.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/messages_members.h \ + /usr/include/c++/4.2/bits/basic_ios.tcc \ + /usr/include/c++/4.2/bits/ostream.tcc /usr/include/c++/4.2/locale \ + /usr/include/c++/4.2/bits/locale_facets.tcc \ + /usr/include/c++/4.2/typeinfo /usr/include/c++/4.2/istream \ + /usr/include/c++/4.2/bits/istream.tcc /usr/include/c++/4.2/list \ + /usr/include/c++/4.2/bits/stl_list.h /usr/include/c++/4.2/bits/list.tcc + +DoxygenTranslator/src/Token.h: + +/usr/include/c++/4.2/string: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.2/bits/stringfwd.h: + +/usr/include/c++/4.2/bits/char_traits.h: + +/usr/include/c++/4.2/cstring: + +/usr/include/c++/4.2/cstddef: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/c++/4.2/bits/stl_algobase.h: + +/usr/include/c++/4.2/climits: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/c++/4.2/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/c++/4.2/iosfwd: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.2/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/c++/4.2/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/include/c++/4.2/cstdarg: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/bits/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/c++/4.2/cctype: + +/usr/include/ctype.h: + +/usr/include/c++/4.2/bits/postypes.h: + +/usr/include/c++/4.2/cwchar: + +/usr/include/c++/4.2/ctime: + +/usr/include/bits/wchar.h: + +/usr/include/stdint.h: + +/usr/include/c++/4.2/bits/functexcept.h: + +/usr/include/c++/4.2/exception_defines.h: + +/usr/include/c++/4.2/bits/stl_pair.h: + +/usr/include/c++/4.2/bits/cpp_type_traits.h: + +/usr/include/c++/4.2/ext/type_traits.h: + +/usr/include/c++/4.2/utility: + +/usr/include/c++/4.2/bits/stl_relops.h: + +/usr/include/c++/4.2/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.2/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.2/bits/concept_check.h: + +/usr/include/c++/4.2/bits/stl_iterator.h: + +/usr/include/c++/4.2/debug/debug.h: + +/usr/include/c++/4.2/memory: + +/usr/include/c++/4.2/bits/allocator.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.2/ext/new_allocator.h: + +/usr/include/c++/4.2/new: + +/usr/include/c++/4.2/exception: + +/usr/include/c++/4.2/bits/stl_construct.h: + +/usr/include/c++/4.2/bits/stl_uninitialized.h: + +/usr/include/c++/4.2/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.2/limits: + +/usr/include/c++/4.2/bits/ostream_insert.h: + +/usr/include/c++/4.2/bits/stl_function.h: + +/usr/include/c++/4.2/bits/basic_string.h: + +/usr/include/c++/4.2/ext/atomicity.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.2/algorithm: + +/usr/include/c++/4.2/bits/stl_algo.h: + +/usr/include/c++/4.2/bits/stl_heap.h: + +/usr/include/c++/4.2/bits/stl_tempbuf.h: + +/usr/include/c++/4.2/bits/basic_string.tcc: + +/usr/include/c++/4.2/iostream: + +/usr/include/c++/4.2/ostream: + +/usr/include/c++/4.2/ios: + +/usr/include/c++/4.2/bits/localefwd.h: + +/usr/include/c++/4.2/bits/ios_base.h: + +/usr/include/c++/4.2/bits/locale_classes.h: + +/usr/include/c++/4.2/streambuf: + +/usr/include/c++/4.2/bits/streambuf.tcc: + +/usr/include/c++/4.2/bits/basic_ios.h: + +/usr/include/c++/4.2/bits/streambuf_iterator.h: + +/usr/include/c++/4.2/bits/locale_facets.h: + +/usr/include/c++/4.2/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.2/bits/codecvt.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/time_members.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/messages_members.h: + +/usr/include/c++/4.2/bits/basic_ios.tcc: + +/usr/include/c++/4.2/bits/ostream.tcc: + +/usr/include/c++/4.2/locale: + +/usr/include/c++/4.2/bits/locale_facets.tcc: + +/usr/include/c++/4.2/typeinfo: + +/usr/include/c++/4.2/istream: + +/usr/include/c++/4.2/bits/istream.tcc: + +/usr/include/c++/4.2/list: + +/usr/include/c++/4.2/bits/stl_list.h: + +/usr/include/c++/4.2/bits/list.tcc: diff --git a/Source/DoxygenTranslator/src/.deps/TokenList.Po b/Source/DoxygenTranslator/src/.deps/TokenList.Po new file mode 100644 index 000000000..74d0e1c79 --- /dev/null +++ b/Source/DoxygenTranslator/src/.deps/TokenList.Po @@ -0,0 +1,382 @@ +DoxygenTranslator/src/TokenList.o DoxygenTranslator/src/TokenList.o: \ + DoxygenTranslator/src/TokenList.cpp DoxygenTranslator/src/TokenList.h \ + /usr/include/c++/4.2/cstdlib \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.2/cstddef \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/xlocale.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/alloca.h /usr/include/c++/4.2/iostream \ + /usr/include/c++/4.2/ostream /usr/include/c++/4.2/ios \ + /usr/include/c++/4.2/iosfwd \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.2/cstring /usr/include/string.h \ + /usr/include/c++/4.2/cstdio /usr/include/stdio.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/c++/4.2/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/langinfo.h \ + /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \ + /usr/include/c++/4.2/cstdarg \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \ + /usr/include/signal.h /usr/include/bits/setjmp.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/c++/4.2/cctype /usr/include/ctype.h \ + /usr/include/c++/4.2/bits/stringfwd.h \ + /usr/include/c++/4.2/bits/postypes.h /usr/include/c++/4.2/cwchar \ + /usr/include/c++/4.2/ctime /usr/include/bits/wchar.h \ + /usr/include/stdint.h /usr/include/c++/4.2/bits/functexcept.h \ + /usr/include/c++/4.2/exception_defines.h /usr/include/c++/4.2/exception \ + /usr/include/c++/4.2/bits/char_traits.h \ + /usr/include/c++/4.2/bits/stl_algobase.h /usr/include/c++/4.2/climits \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/c++/4.2/bits/stl_pair.h \ + /usr/include/c++/4.2/bits/cpp_type_traits.h \ + /usr/include/c++/4.2/ext/type_traits.h /usr/include/c++/4.2/utility \ + /usr/include/c++/4.2/bits/stl_relops.h \ + /usr/include/c++/4.2/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.2/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.2/bits/concept_check.h \ + /usr/include/c++/4.2/bits/stl_iterator.h \ + /usr/include/c++/4.2/debug/debug.h \ + /usr/include/c++/4.2/bits/localefwd.h \ + /usr/include/c++/4.2/bits/ios_base.h \ + /usr/include/c++/4.2/ext/atomicity.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.2/bits/locale_classes.h /usr/include/c++/4.2/string \ + /usr/include/c++/4.2/memory /usr/include/c++/4.2/bits/allocator.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.2/ext/new_allocator.h /usr/include/c++/4.2/new \ + /usr/include/c++/4.2/bits/stl_construct.h \ + /usr/include/c++/4.2/bits/stl_uninitialized.h \ + /usr/include/c++/4.2/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.2/limits /usr/include/c++/4.2/bits/ostream_insert.h \ + /usr/include/c++/4.2/bits/stl_function.h \ + /usr/include/c++/4.2/bits/basic_string.h /usr/include/c++/4.2/algorithm \ + /usr/include/c++/4.2/bits/stl_algo.h \ + /usr/include/c++/4.2/bits/stl_heap.h \ + /usr/include/c++/4.2/bits/stl_tempbuf.h \ + /usr/include/c++/4.2/bits/basic_string.tcc \ + /usr/include/c++/4.2/streambuf /usr/include/c++/4.2/bits/streambuf.tcc \ + /usr/include/c++/4.2/bits/basic_ios.h \ + /usr/include/c++/4.2/bits/streambuf_iterator.h \ + /usr/include/c++/4.2/bits/locale_facets.h /usr/include/c++/4.2/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.2/bits/codecvt.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.2/i486-linux-gnu/bits/messages_members.h \ + /usr/include/c++/4.2/bits/basic_ios.tcc \ + /usr/include/c++/4.2/bits/ostream.tcc /usr/include/c++/4.2/locale \ + /usr/include/c++/4.2/bits/locale_facets.tcc \ + /usr/include/c++/4.2/typeinfo /usr/include/c++/4.2/istream \ + /usr/include/c++/4.2/bits/istream.tcc /usr/include/c++/4.2/list \ + /usr/include/c++/4.2/bits/stl_list.h /usr/include/c++/4.2/bits/list.tcc \ + DoxygenTranslator/src/Token.h + +DoxygenTranslator/src/TokenList.h: + +/usr/include/c++/4.2/cstdlib: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.2/cstddef: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/xlocale.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/c++/4.2/iostream: + +/usr/include/c++/4.2/ostream: + +/usr/include/c++/4.2/ios: + +/usr/include/c++/4.2/iosfwd: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.2/cstring: + +/usr/include/string.h: + +/usr/include/c++/4.2/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/c++/4.2/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/include/c++/4.2/cstdarg: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/bits/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/c++/4.2/cctype: + +/usr/include/ctype.h: + +/usr/include/c++/4.2/bits/stringfwd.h: + +/usr/include/c++/4.2/bits/postypes.h: + +/usr/include/c++/4.2/cwchar: + +/usr/include/c++/4.2/ctime: + +/usr/include/bits/wchar.h: + +/usr/include/stdint.h: + +/usr/include/c++/4.2/bits/functexcept.h: + +/usr/include/c++/4.2/exception_defines.h: + +/usr/include/c++/4.2/exception: + +/usr/include/c++/4.2/bits/char_traits.h: + +/usr/include/c++/4.2/bits/stl_algobase.h: + +/usr/include/c++/4.2/climits: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/c++/4.2/bits/stl_pair.h: + +/usr/include/c++/4.2/bits/cpp_type_traits.h: + +/usr/include/c++/4.2/ext/type_traits.h: + +/usr/include/c++/4.2/utility: + +/usr/include/c++/4.2/bits/stl_relops.h: + +/usr/include/c++/4.2/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.2/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.2/bits/concept_check.h: + +/usr/include/c++/4.2/bits/stl_iterator.h: + +/usr/include/c++/4.2/debug/debug.h: + +/usr/include/c++/4.2/bits/localefwd.h: + +/usr/include/c++/4.2/bits/ios_base.h: + +/usr/include/c++/4.2/ext/atomicity.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.2/bits/locale_classes.h: + +/usr/include/c++/4.2/string: + +/usr/include/c++/4.2/memory: + +/usr/include/c++/4.2/bits/allocator.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.2/ext/new_allocator.h: + +/usr/include/c++/4.2/new: + +/usr/include/c++/4.2/bits/stl_construct.h: + +/usr/include/c++/4.2/bits/stl_uninitialized.h: + +/usr/include/c++/4.2/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.2/limits: + +/usr/include/c++/4.2/bits/ostream_insert.h: + +/usr/include/c++/4.2/bits/stl_function.h: + +/usr/include/c++/4.2/bits/basic_string.h: + +/usr/include/c++/4.2/algorithm: + +/usr/include/c++/4.2/bits/stl_algo.h: + +/usr/include/c++/4.2/bits/stl_heap.h: + +/usr/include/c++/4.2/bits/stl_tempbuf.h: + +/usr/include/c++/4.2/bits/basic_string.tcc: + +/usr/include/c++/4.2/streambuf: + +/usr/include/c++/4.2/bits/streambuf.tcc: + +/usr/include/c++/4.2/bits/basic_ios.h: + +/usr/include/c++/4.2/bits/streambuf_iterator.h: + +/usr/include/c++/4.2/bits/locale_facets.h: + +/usr/include/c++/4.2/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.2/bits/codecvt.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/time_members.h: + +/usr/include/c++/4.2/i486-linux-gnu/bits/messages_members.h: + +/usr/include/c++/4.2/bits/basic_ios.tcc: + +/usr/include/c++/4.2/bits/ostream.tcc: + +/usr/include/c++/4.2/locale: + +/usr/include/c++/4.2/bits/locale_facets.tcc: + +/usr/include/c++/4.2/typeinfo: + +/usr/include/c++/4.2/istream: + +/usr/include/c++/4.2/bits/istream.tcc: + +/usr/include/c++/4.2/list: + +/usr/include/c++/4.2/bits/stl_list.h: + +/usr/include/c++/4.2/bits/list.tcc: + +DoxygenTranslator/src/Token.h: diff --git a/Source/DoxygenTranslator/src/.dirstamp b/Source/DoxygenTranslator/src/.dirstamp new file mode 100644 index 000000000..e69de29bb diff --git a/Source/DoxygenTranslator/src/DoxygenEntity.cpp b/Source/DoxygenTranslator/src/DoxygenEntity.cpp new file mode 100644 index 000000000..6b8755592 --- /dev/null +++ b/Source/DoxygenTranslator/src/DoxygenEntity.cpp @@ -0,0 +1,89 @@ +#include "DoxygenEntity.h" +#include + +/* Little data class for Doxygen Commands */ + + +/* Basic node for commands that have + * nothing after them + * example: \n + */ +string commandArray2[] = {"a", "addindex", "addtogroup", "anchor", "arg", "attention", + "author", "b", "brief", "bug", "c", "callgraph", "callergraph", "category", + "class", "code", "cond", "copybrief", "copydetails", "copydoc", "date", "def", + "defgroup", "deprecated", "details", "dir", "dontinclude", "dot", "dotfile", "e", + "else", "elseif", "em", "endcode", "endcond", "enddot", "endhtmlonly", "endif", + "endlatexonly", "endlink", "endmanonly", "endmsc", "endverbatim", "endxmlonly", + "enum", "example", "exception", "f$", "f[", "f]", "f{", "f}", "file", "fn", "headerfile", + "hideinitializer", "htmlinclude", "htmlonly", "if", "ifnot", "image", "include", + "includelineno", "ingroup", "internal", "invariant", "interface", "latexonly", "li", + "line", "link", "mainpage", "manonly", "msc", "n", "name", "namespace", "nosubgrouping", + "note", "overload", "p", "package", "page", "par", "paragraph", "param", "post", "pre", + "private", "privatesection", "property", "protected", "protectedsection", "protocol", + "public", "publicsection", "ref", "relates", "relatesalso", "remarks", "return", "retval", + "sa", "section", "see", "showinitializer", "since", "skip", "skipline", "struct", "subpage", + "subsection", "subsubsection", "test", "throw", "todo", "tparam", "typedef", "union", "until", + "var", "verbatim", "verbinclude", "version", "warning", "weakgroup", "xmlonly", "xrefitem", + "$", "@", string(1, 92), "&", "~", "<", ">", "#", "%"}; + +string findCommand(int commandNum){ + + int arraySize = sizeof(commandArray2)/sizeof(*commandArray2); + if (commandNum - 101 >= 0 && commandNum - 101 < arraySize){ + return commandArray2[commandNum - 101]; + } + + return "" ; +} + +DoxygenEntity::DoxygenEntity(string typeEnt){ + typeOfEntity = typeEnt; + data = ""; + isLeaf = 1; +} + +/* Basic node for commands that have + * only 1 thing after them + * example: \b word + * OR holding a string + */ +DoxygenEntity::DoxygenEntity(string typeEnt, string param1){ + typeOfEntity = typeEnt; + data = param1; + isLeaf = 1; +} + +/* Nonterminal node + * contains + */ +DoxygenEntity::DoxygenEntity(string typeEnt, list &entList ){ + typeOfEntity = typeEnt; + data = ""; + isLeaf = 0; + entityList = entList; +} + + +void DoxygenEntity::printEntity(int level){ + int thisLevel = level; + if (isLeaf) { + for (int i = 0; i < thisLevel; i++) {cout << "\t";} + cout << "Node Command: " << typeOfEntity << " "; + if (data.compare("") != 0) cout << "Node Data: " << data; + cout << endl; + } + else{ + for (int i = 0; i < thisLevel; i++) {cout << "\t";} + cout << "Node Command : " << typeOfEntity << endl; + list::iterator p = entityList.begin(); + thisLevel++; + while (p != entityList.end()){ + (*p).printEntity(thisLevel); + p++; + } + } +} + +DoxygenEntity::~DoxygenEntity() +{ +} diff --git a/Source/DoxygenTranslator/src/DoxygenEntity.h b/Source/DoxygenTranslator/src/DoxygenEntity.h new file mode 100644 index 000000000..0605b1cc9 --- /dev/null +++ b/Source/DoxygenTranslator/src/DoxygenEntity.h @@ -0,0 +1,26 @@ +#ifndef DOXYGENENTITY_H_ +#define DOXYGENENTITY_H_ + +#include +#include +#include +#include + +using namespace std; + +class DoxygenEntity{ + +public: + DoxygenEntity(string typeEnt); + DoxygenEntity(string typeEnt, string param1); + DoxygenEntity(string typeEnt, list &entList ); + ~DoxygenEntity(); + void printEntity(int level); + string typeOfEntity; + list entityList; + string data; + int isLeaf; +}; + + +#endif /*TOKENLIST_H_*/ diff --git a/Source/DoxygenTranslator/src/DoxygenParser.cpp b/Source/DoxygenTranslator/src/DoxygenParser.cpp new file mode 100644 index 000000000..226c60720 --- /dev/null +++ b/Source/DoxygenTranslator/src/DoxygenParser.cpp @@ -0,0 +1,797 @@ +#include "DoxygenParser.h" + +#include +#include +#include +#include +#include +#include "DoxygenEntity.h" +#include "TokenList.h" +#include "JavaDocConverter.h" +#define SIMPLECOMMAND 1 +#define IGNOREDSIMPLECOMMAND 2 +#define COMMANDWORD 3 +#define IGNOREDCOMMANDWORD 4 +#define COMMANDLINE 5 +#define IGNOREDCOMMANDLINE 6 +#define COMMANDPARAGRAPH 7 +#define IGNORECOMMANDPARAGRAPH 8 +#define COMMANDENDCOMMAND 9 +#define COMMANDWORDPARAGRAPH 10 +#define COMMANDWORDLINE 11 +#define COMMANDWORDOWORDWORD 12 +#define COMMANDOWORD 13 +#define COMMANDERRORTHROW 14 +#define COMMANDUNIQUE 15 +#define END_LINE 101 +#define PARAGRAPH_END 102 +#define PLAINSTRING 103 +#define COMMAND 104 +using namespace std; + +////////////////////////////////////////// +/*Set these to pick what internal functions +to test. */ + +//int testCommandParsingFunctions = 1;// not implemented + + +DoxygenParser::DoxygenParser() +{ +} + +DoxygenParser::~DoxygenParser() +{ +} + +int noisy = 0; // set this to 1 for extra chatter from the parsing stage. +int addCommand(string currCommand, TokenList &tokList, list &aNewList); +list parse(list::iterator endParsingIndex, TokenList &tokList); + +////////////////////////////////////////// + + +string commandArray[] = {"a", "addindex", "addtogroup", "anchor", "arg", "attention", + "author", "b", "brief", "bug", "c", "callgraph", "callergraph", "category", + "class", "code", "cond", "copybrief", "copydetails", "copydoc", "date", "def", + "defgroup", "deprecated", "details", "dir", "dontinclude", "dot", "dotfile", "e", + "else", "elseif", "em", "endcode", "endcond", "enddot", "endhtmlonly", "endif", + "endlatexonly", "endlink", "endmanonly", "endmsc", "endverbatim", "endxmlonly", + "enum", "example", "exception", "f$", "f[", "f]", "f{", "f}", "file", "fn", "headerfile", + "hideinitializer", "htmlinclude", "htmlonly", "if", "ifnot", "image", "include", + "includelineno", "ingroup", "internal", "invariant", "interface", "latexonly", "li", + "line", "link", "mainpage", "manonly", "msc", "n", "name", "namespace", "nosubgrouping", + "note", "overload", "p", "package", "page", "par", "paragraph", "param", "post", "pre", + "private", "privatesection", "property", "protected", "protectedsection", "protocol", + "public", "publicsection", "ref", "relates", "relatesalso", "remarks", "return", "retval", + "sa", "section", "see", "showinitializer", "since", "skip", "skipline", "struct", "subpage", + "subsection", "subsubsection", "test", "throw", "todo", "tparam", "typedef", "union", "until", + "var", "verbatim", "verbinclude", "version", "warning", "weakgroup", "xmlonly", "xrefitem", + "$", "@", "\\","&", "~", "<", ">", "#", "%"}; + + +string sectionIndicators[] = { "attention", "author", "brief", "bug", "cond", "date", "deprecated", "details", + "else", "elseif", "endcond", "endif", "exception", "if", "ifnot", "invariant", "note", "par", "param", + "tparam", "post" , "pre", "remarks", "return", "retval", "sa", "see", "since", "test", "throw", "todo", + "version", "warning", "xrefitem" }; + +/* All of the doxygen commands divided up by how they are parsed */ +string simpleCommands[] = {"n", "$", "@", "\\", "&", "~", "<", ">", "#", "%"}; +string ignoredSimpleCommands[] = {"nothing at the moment"}; +string commandWords[] = {"a", "b", "c", "e", "em", "p", "def", "enum", "example", "package", + "relates", "namespace", "relatesalso","anchor", "dontinclude", "include", "includelineno"}; +string ignoredCommandWords[] = {"copydoc", "copybrief", "copydetails", "verbinclude", "htmlinclude"}; +string commandLines[] = {"addindex", "fn", "name", "line", "var", "skipline", "typedef", "skip", "until", "property"}; +string ignoreCommandLines[] = {"nothing at the moment"}; +string commandParagraph[] = {"return", "remarks", "since", "test", "sa", "see", "pre", "post", "details", "invariant", + "deprecated", "date", "note", "warning", "version", "todo", "bug", "attention", "brief", "author"}; +string ignoreCommandParagraphs[] = {"nothing at the moment"}; +string commandEndCommands[] = {"code", "dot", "msc", "f$", "f[", "f{environment}{", "htmlonly", "latexonly", "manonly", + "verbatim", "xmlonly", "cond", "if", "ifnot", "link"}; +string commandWordParagraphs[] = {"param", "tparam", "throw", "retval", "exception"}; +string commandWordLines[] = {"page", "subsection", "subsubsection", "section", "paragraph", "defgroup"}; +string commandWordOWordOWords [] = {"category", "class", "protocol", "interface", "struct", "union"}; +string commandOWords[] = {"dir", "file", "cond"}; +string commandErrorThrowings[] = {"annotatedclasslist", "classhierarchy", "define", "functionindex", "header", + "headerfilelist", "inherit", "l", "postheader", "private", "privatesection", "protected", + "protectedsection", "public", "publicsection", "endcode", "enddot", "endmsc", "endhtmlonly", + "endlatexonly", "endmanonly", "endlink", "endverbatim", "endxmlonly", "f]", "f}", "endcond", + "endif"}; +string commandUniques[] = {"xrefitem", "arg", "ingroup", "par", "headerfile", "overload", "weakgroup", "ref", + "subpage", "dotfile", "image", "addtogroup", "li"}; + + +/* Changes a string to all lower case*/ +string StringToLower(string stringToConvert) + +{ + + for(unsigned int i=0;i &rootList){ + + list::iterator p = rootList.begin(); + while (p != rootList.end()){ + (*p).printEntity(0); + p++; + } + +} + +/* Determines how a command should be handled (what group it belongs to + * for parsing rules + */ + +int commandBelongs(string theCommand){ + string smallString = StringToLower(theCommand ); + //cout << " Looking for command " << theCommand << endl; + int i = 0; + for ( i = 0; i < sizeof(simpleCommands)/sizeof(*simpleCommands); i++){ + if(smallString.compare(simpleCommands[i]) == 0){return SIMPLECOMMAND ;} + } + for ( i = 0; i < sizeof(ignoredSimpleCommands)/sizeof(*ignoredSimpleCommands); i++){ + if(smallString.compare(ignoredSimpleCommands[i]) == 0){return IGNOREDSIMPLECOMMAND;} + } + for ( i = 0; i < sizeof(commandWords)/sizeof(*commandWords); i++){ + if(smallString.compare( commandWords[i]) == 0){return COMMANDWORD;} + } + for ( i = 0; i < sizeof(ignoredCommandWords)/sizeof(*ignoredCommandWords); i++){ + if(smallString.compare( ignoredCommandWords[i]) == 0){return IGNOREDCOMMANDWORD;} + } + for ( i = 0; i < sizeof(commandLines)/sizeof(*commandLines); i++){ + if(smallString.compare( commandLines[i]) == 0){return COMMANDLINE;} + } + for ( i = 0; i < sizeof(ignoreCommandLines)/sizeof(*ignoreCommandLines); i++){ + if(smallString.compare( ignoreCommandLines[i]) == 0){return IGNOREDCOMMANDLINE;} + } + for ( i = 0; i < sizeof(commandParagraph)/sizeof(*commandParagraph); i++){ + if(smallString.compare( commandParagraph[i]) == 0){return COMMANDPARAGRAPH;} + } + /* IgnoreCommandParagraph */ + for ( i = 0; i < sizeof(ignoreCommandParagraphs)/sizeof(*ignoreCommandParagraphs); i++){ + if(smallString.compare( ignoreCommandParagraphs[i]) == 0){return IGNORECOMMANDPARAGRAPH;} + } + for ( i = 0; i < sizeof(commandEndCommands)/sizeof(*commandEndCommands); i++){ + if(smallString.compare( commandEndCommands[i]) == 0){return COMMANDENDCOMMAND ;} + } + for ( i = 0; i < sizeof(commandWordParagraphs)/sizeof(*commandWordParagraphs); i++){ + if(smallString.compare( commandWordParagraphs[i]) == 0){return COMMANDWORDPARAGRAPH;} + } + for ( i = 0; i < sizeof(commandWordLines)/sizeof(*commandWordLines); i++){ + if(smallString.compare( commandWordLines[i]) == 0){return COMMANDWORDLINE ;} + } + for ( i = 0; i < sizeof(commandWordOWordOWords)/sizeof(*commandWordOWordOWords); i++){ + if(smallString.compare( commandWordOWordOWords[i]) == 0){return COMMANDWORDOWORDWORD;} + } + for ( i = 0; i < sizeof(commandOWords)/sizeof(*commandOWords); i++){ + if(smallString.compare( commandOWords[i]) == 0){return COMMANDOWORD;} + } + for ( i = 0; i < sizeof(commandErrorThrowings)/sizeof(*commandErrorThrowings); i++){ + if(smallString.compare( commandErrorThrowings[i]) == 0){return COMMANDERRORTHROW;} + } + for ( i = 0; i < sizeof(commandUniques)/sizeof(*commandUniques); i++){ + if(smallString.compare( commandUniques[i]) == 0){return COMMANDUNIQUE;} + } + + return 0; + +} +/* Returns the next word ON THE CURRENT LINE ONLY + * if a new line is encountered, returns a blank string. + * Updates the index it is given if success. + */ + +string getNextWord(TokenList &tokList){ + Token nextToken = tokList.peek(); + if (nextToken.tokenType == PLAINSTRING ){ + nextToken = tokList.next(); + return nextToken.tokenString; + } + return ""; +} + +/* Returns the location of the end of the line as + * an iterator. + */ +list::iterator getOneLine(TokenList &tokList){ + list::iterator endOfParagraph = tokList.iteratorCopy(); + while(endOfParagraph != tokList.end()){ + if ((* endOfParagraph).tokenType == END_LINE){ + return endOfParagraph; + } + endOfParagraph++; + } + return tokList.end(); +} + + + +/* Returns a properly formatted string +* up til ANY command or end of paragraph is encountered. +*/ +string getStringTilCommand(TokenList &tokList){ + string description; + if (tokList.peek().tokenType == 0) return ""; + while(tokList.peek().tokenType == PLAINSTRING || tokList.peek().tokenType == END_LINE ){ + Token currentToken = tokList.next(); + if(currentToken.tokenType == PLAINSTRING) { + description = description + currentToken.tokenString + " "; + } + else if (tokList.peek().tokenType == END_LINE) break; + } + + return description; +} + +/* Returns a properly formatted string +* up til the command specified is encountered +*/ +//TODO check that this behaves properly for formulas + +string getStringTilEndCommand(string theCommand, TokenList &tokList){ + string description; + if (tokList.peek().tokenType == 0) return ""; + while(tokList.peek().tokenString.compare(theCommand) != 0 ){ + Token currentToken = tokList.next(); + description = description + currentToken.tokenString + " "; + + } + + return description; +} + +/* Returns the end of a Paragraph as an iterator- +* Paragraph is defined in Doxygen to be a paragraph of text +* seperate by either a structural command or a blank line +*/ + +list::iterator getEndOfParagraph(TokenList &tokList){ + list::iterator endOfParagraph = tokList.iteratorCopy(); + while(endOfParagraph != tokList.end()){ + if ((* endOfParagraph).tokenType == COMMAND){ + if(isSectionIndicator((* endOfParagraph).tokenString)) return endOfParagraph; + else endOfParagraph++; + } + else if((* endOfParagraph).tokenType == PLAINSTRING) { + endOfParagraph++; + } + else if ((* endOfParagraph).tokenType == END_LINE){ + endOfParagraph++; + if ((* endOfParagraph).tokenType == END_LINE){ + endOfParagraph++; + return endOfParagraph; + } + } + + } + + return tokList.end(); + +} + +/* Returns the end of a section, defined as the first blank line OR first encounter of the same +* command. Example of this behaviour is \arg +*/ + +list::iterator getEndOfSection(string theCommand, TokenList &tokList){ + list::iterator endOfParagraph = tokList.iteratorCopy(); + while(endOfParagraph != tokList.end()){ + if ((* endOfParagraph).tokenType == COMMAND){ + if(theCommand.compare((*endOfParagraph).tokenString) == 0) return endOfParagraph; + else endOfParagraph++; + } + else if((* endOfParagraph).tokenType == PLAINSTRING) { + endOfParagraph++; + } + else if ((* endOfParagraph).tokenType == END_LINE){ + endOfParagraph++; + if ((* endOfParagraph).tokenType == END_LINE){ + endOfParagraph++; + return endOfParagraph; + } + } + + } +} +/* This method is for returning the end of a specific form of doxygen command + * that begins with a \command and ends in \endcommand + * such as \code and \endcode. The proper usage is + * progressTilEndCommand("endcode", tokenList); + */ +list::iterator getEndCommand(string theCommand, TokenList &tokList){ + list::iterator endOfCommand = tokList.iteratorCopy(); + while (endOfCommand!= tokList.end()){ + if ((*endOfCommand).tokenType == COMMAND){ + if (theCommand.compare((* endOfCommand).tokenString) == 0){ + return endOfCommand; + } + endOfCommand++; + } + } + //End command not found + return tokList.end(); +} + +/* A specialty method for commands such as \arg that end at the end of a paragraph OR when another \arg is encountered + */ + +list::iterator getTilAnyCommand(string theCommand, TokenList &tokList){ + list::iterator anIterator; + return anIterator; +} + + + + +/* Method for Adding a Simple Command + * Format: @command + * Plain commands, such as newline etc, they contain no other data + * \n \\ \@ \& \$ \# \< \> \% + */ + int addSimpleCommand(string theCommand, list &doxyList){ + + if (noisy) cout << "Parsing " << theCommand << endl; + doxyList.push_back(DoxygenEntity(theCommand)); + return 1; +} + + /* NOT INCLUDED Simple Commands + * Format: @command + * Plain commands, such as newline etc, they contain no other data + */ + int ignoreSimpleCommand(string theCommand, list &doxyList){ + + if (noisy) cout << "Not Adding " << theCommand << endl; + return 1; +} + + /* CommandWord + * Format: @command + * Commands with a single WORD after then such as @b + * "a", "b", "c", "e", "em", "p", "def", "enum", "example", "package", + * "relates", "namespace", "relatesalso","anchor", "dontinclude", "include", "includelineno" + */ + int addCommandWord(string theCommand, TokenList &tokList, list &doxyList){ + if (noisy) cout << "Parsing " << theCommand << endl; + string name = getNextWord(tokList); + if (!name.empty()){ + doxyList.push_back(DoxygenEntity(theCommand, name)); + return 1; + } + else cout << "No word followed " << theCommand << " command. Not added" << endl; + return 0; +} + /* NOT INCLUDED CommandWord + * Format: @command + * Commands with a single WORD after then such as @b + * "copydoc", "copybrief", "copydetails", "verbinclude", "htmlinclude" + */ + int ignoreCommandWord(string theCommand, TokenList &tokList, list &doxyList){ + if (noisy) cout << "Not Adding " << theCommand << endl; + string name = getNextWord(tokList); + if (!name.empty()){ + return 1; + } + else cout << "WARNING: No word followed " << theCommand << " command." << endl; + return 0; +} + + /* CommandLine + * Format: @command (line) + * Commands with a single LINE after then such as @var + * "addindex", "fn", "name", "line", "var", "skipline", "typedef", "skip", "until", "property" + */ + int addCommandLine(string theCommand, TokenList &tokList, list &doxyList){ + if (noisy) cout << "Parsing " << theCommand << endl; + list::iterator endOfLine = getOneLine(tokList); + list aNewList; + aNewList = parse(endOfLine, tokList); + doxyList.push_back( DoxygenEntity(theCommand, aNewList)); + return 1; + +} + + /* NOT INCLUDED CommandLine + * Format: @command (line) + * Commands with a single LINE after then such as @var + * + */ + int ignoreCommandLine(string theCommand, TokenList &tokList, list &doxyList){ + if (noisy) cout << "Not Adding " << theCommand << endl; + list::iterator endOfLine = getOneLine(tokList); + tokList.setIterator(endOfLine); + return 1; +} + + /* CommandParagraph + * Format: @command {paragraph} + * Commands with a single paragraph after then such as @return + * "return", "remarks", "since", "test", "sa", "see", "pre", "post", "details", "invariant", + * "deprecated", "date", "note", "warning", "version", "todo", "bug", "attention", "brief", "arg", "author" + */ + int addCommandParagraph(string theCommand, TokenList &tokList, list &doxyList){ + if (noisy) cout << "Parsing " << theCommand << endl; + list::iterator endOfParagraph = getEndOfParagraph(tokList); + //if(!restOfParagraph.empty()){ + list aNewList; + aNewList = parse(endOfParagraph, tokList); + doxyList.push_back( DoxygenEntity(theCommand, aNewList)); + return 1; + // } + //else cout << "No line followed " << theCommand << " command. Not added" << endl; +} + /* CommandParagraph + * Format: @command {paragraph} + * Commands with a single LINE after then such as @var + * + */ + int ignoreCommandParagraph(string theCommand, TokenList &tokList, list &doxyList){ + if (noisy) cout << "Not Adding " << theCommand << endl; + list::iterator endOfParagraph = getEndOfParagraph(tokList); + tokList.setIterator(endOfParagraph); + //else cout << "WARNING: No line followed " << theCommand << " command." << endl; + return 1; +} + /* Command EndCommand + * Format: @command and ends at @endcommand + * Commands that take in a block of text such as @code + * "code", "dot", "msc", "f$", "f[", "f{environment}{", "htmlonly", "latexonly", "manonly", + * "verbatim", "xmlonly", "cond", "if", "ifnot", "link" + * Returns 1 if success, 0 if the endcommand is never encountered. + */ + + int addCommandEndCommand(string theCommand, TokenList &tokList, list &doxyList){ + if (noisy) cout << "Not Adding " << theCommand << endl; + string description = getStringTilEndCommand( "end" + theCommand, tokList); + doxyList.push_back(DoxygenEntity(theCommand, description)); + return 1; + } + + /* CommandWordParagraph + * Format: @command {paragraph} + * Commands such as param + * "param", "tparam", "throw", "retval", "exception" + */ + int addCommandWordParagraph(string theCommand, TokenList &tokList, list &doxyList){ + if (noisy) cout << "Parsing " << theCommand << endl; + string name = getNextWord(tokList); + if (name.empty()){ + cout << "No word followed " << theCommand << " command. Not added" << endl; + return 0; + } + list::iterator endOfParagraph = getEndOfParagraph(tokList); + //if(!restOfParagraph.empty()){ + list aNewList; + aNewList = parse(endOfParagraph, tokList); + aNewList.push_front(DoxygenEntity("plainstring", name)); + doxyList.push_back(DoxygenEntity(theCommand, aNewList)); + return 0; + } + /* CommandWordLine + * Format: @command (line) + * Commands such as param + * "page", "subsection", "subsubsection", "section", "paragraph", "defgroup" + */ + int addCommandWordLine(string theCommand, TokenList &tokList, list &doxyList){ + if (noisy) cout << "Parsing " << theCommand << endl; + string name = getNextWord(tokList); + if (name.empty()){ + cout << "No word followed " << theCommand << " command. Not added" << endl; + return 0; + } + list::iterator endOfLine = getOneLine(tokList); + list aNewList; + aNewList = parse(endOfLine, tokList); + aNewList.push_front(DoxygenEntity("plainstring", name)); + doxyList.push_back(DoxygenEntity(theCommand, aNewList)); + return 1; + + //else cout << "No line followed " << theCommand << " command. Not added" << endl; + } + + /* Command Word Optional Word Optional Word + * Format: @command [] [] + * Commands such as class + * "category", "class", "protocol", "interface", "struct", "union" + */ + int addCommandWordOWordOWord(string theCommand, TokenList &tokList, list &doxyList){ + if (noisy) cout << "Parsing " << theCommand << endl; + string name = getNextWord(tokList); + if (name.empty()){ + cout << "No word followed " << theCommand << " command. Not added" << endl; + return 0; + } + string headerfile = getNextWord(tokList); + string headername = getNextWord(tokList); + list aNewList; + aNewList.push_back(DoxygenEntity("plainstring", name)); + if (!headerfile.empty()) aNewList.push_back(DoxygenEntity("plainstring", headerfile)); + if (!headername.empty()) aNewList.push_back(DoxygenEntity("plainstring", headername)); + doxyList.push_back(DoxygenEntity(theCommand, aNewList)); + return 1; + } + + /* Command Optional Word + * Format: @command [] + * Commands such as dir + * "dir", "file", "cond" + */ + int addCommandOWord(string theCommand, TokenList &tokList, list &doxyList){ + if (noisy) cout << "Parsing " << theCommand << endl; + string name = getNextWord(tokList); + doxyList.push_back(DoxygenEntity(theCommand, name)); + return 1; + } + + /* Commands that should not be encountered (such as PHP only) + */ + int addCommandErrorThrow(string theCommand, TokenList &tokList, list &doxyList){ + cout << "Encountered :" << theCommand << endl; + cout << "This command should not have been encountered. Behaviour past this may be unpredictable " << endl; + } + + + int addCommandUnique(string theCommand, TokenList &tokList, list &doxyList){ + list aNewList; + if (theCommand.compare("arg") == 0 || theCommand.compare("li") == 0){ + list::iterator endOfSection = getEndOfSection(theCommand, tokList); + list aNewList; + aNewList = parse(endOfSection, tokList); + doxyList.push_back( DoxygenEntity(theCommand, aNewList)); + } + + // \xrefitem "(heading)" "(list title)" {text} + else if (theCommand.compare("xrefitem") == 0){ + //TODO Implement xrefitem + if (noisy) cout << "Not Adding " << theCommand << endl; + list::iterator endOfParagraph = getEndOfParagraph(tokList); + tokList.setIterator(endOfParagraph); + return 1; + } + // \ingroup ( [ ]) + else if (theCommand.compare("ingroup") == 0){ + string name = getNextWord(tokList); + aNewList.push_back(DoxygenEntity("plainstring", name)); + name = getNextWord(tokList); + if(!name.empty()) aNewList.push_back(DoxygenEntity("plainstring", name)); + name = getNextWord(tokList); + if(!name.empty()) aNewList.push_back(DoxygenEntity("plainstring", name)); + doxyList.push_back(DoxygenEntity(theCommand, aNewList)); + return 1; + } + // \par [(paragraph title)] { paragraph } + else if (theCommand.compare("par") == 0){ + list::iterator endOfLine = getOneLine(tokList); + aNewList = parse(endOfLine, tokList); + list aNewList2; + aNewList2 = parse(endOfLine, tokList); + aNewList.splice(aNewList.end(), aNewList2); + doxyList.push_back(DoxygenEntity(theCommand, aNewList)); + return 1; + } + // \headerfile [] + else if (theCommand.compare("headerfile") == 0){ + list aNewList; + string name = getNextWord(tokList); + aNewList.push_back(DoxygenEntity("plainstring", name)); + name = getNextWord(tokList); + if(!name.empty()) aNewList.push_back(DoxygenEntity("plainstring", name)); + doxyList.push_back(DoxygenEntity(theCommand, aNewList)); + return 1; + } + // \overload [(function declaration)] + else if (theCommand.compare("overload") == 0){ + list::iterator endOfLine = getOneLine(tokList); + if (endOfLine != tokList.current()){ + list aNewList; + aNewList = parse(endOfLine, tokList); + doxyList.push_back(DoxygenEntity(theCommand, aNewList)); + } + else doxyList.push_back(DoxygenEntity(theCommand)); + } + // \weakgroup [(title)] + else if (theCommand.compare("weakgroup") == 0){ + if (noisy) cout << "Parsing " << theCommand << endl; + string name = getNextWord(tokList); + if (name.empty()){ + cout << "No word followed " << theCommand << " command. Not added" << endl; + return 0; + } + list aNewList; + list::iterator endOfLine = getOneLine(tokList); + if (endOfLine != tokList.current()) { + aNewList = parse(endOfLine, tokList); + } + aNewList.push_front(DoxygenEntity("plainstring", name)); + doxyList.push_back(DoxygenEntity(theCommand, aNewList)); + } + // \ref ["(text)"] + else if (theCommand.compare("ref") == 0){ + //TODO Implement ref + if (noisy) cout << "Not Adding " << theCommand << endl; + list::iterator endOfParagraph = getEndOfParagraph(tokList); + tokList.setIterator(endOfParagraph); + } + // \subpage ["(text)"] + else if (theCommand.compare("subpage") == 0){ + //TODO implement subpage + if (noisy) cout << "Not Adding " << theCommand << endl; + list::iterator endOfParagraph = getEndOfParagraph(tokList); + tokList.setIterator(endOfParagraph); + } + // \dotfile ["caption"] + else if (theCommand.compare("dotfile") == 0){ + //TODO implement dotfile + if (noisy) cout << "Not Adding " << theCommand << endl; + list::iterator endOfParagraph = getEndOfParagraph(tokList); + tokList.setIterator(endOfParagraph); + } + // \image ["caption"] [=] + else if (theCommand.compare("image") == 0){ + //todo implement image + } + // \addtogroup [(title)] + else if (theCommand.compare("addtogroup") == 0){ + if (noisy) cout << "Parsing " << theCommand << endl; + string name = getNextWord(tokList); + if (name.empty()){ + cout << "No word followed " << theCommand << " command. Not added" << endl; + return 0; + } + list aNewList; + list::iterator endOfLine = getOneLine(tokList); + if (endOfLine != tokList.current()) { + aNewList = parse(endOfLine, tokList); + } + aNewList.push_front(DoxygenEntity("plainstring", name)); + doxyList.push_back(DoxygenEntity(theCommand, aNewList)); + } + + } + +/* The actual "meat" of the doxygen parser. This is not yet fully implemented + * with my current design- however the skeletal outline is contained in + * the file Skeleton + */ + + +int addCommand(string commandString, TokenList &tokList,list &doxyList){ + string theCommand = StringToLower(commandString); + + if (theCommand.compare("plainstring") == 0){ + string nextPhrase = getStringTilCommand( tokList); + if (noisy) cout << "Parsing plain string :" << nextPhrase << endl; + doxyList.push_back(DoxygenEntity("plainstring", nextPhrase )); + return 1; + } + int commandNumber = commandBelongs(theCommand); + if (commandNumber == SIMPLECOMMAND){ + return addSimpleCommand(theCommand, doxyList); + } + if (commandNumber == IGNOREDSIMPLECOMMAND){ + return ignoreSimpleCommand(theCommand, doxyList); + } + if (commandNumber == COMMANDWORD){ + return addCommandWord(theCommand, tokList, doxyList); + } + if (commandNumber == IGNOREDCOMMANDWORD){ + return ignoreCommandWord(theCommand, tokList, doxyList); + } + if (commandNumber == COMMANDLINE ){ + return addCommandLine(theCommand, tokList, doxyList); + } + if (commandNumber == IGNOREDCOMMANDLINE ){ + return ignoreCommandLine(theCommand, tokList, doxyList); + } + if (commandNumber == COMMANDPARAGRAPH){ + return addCommandParagraph(theCommand, tokList, doxyList); + } + if (commandNumber == IGNORECOMMANDPARAGRAPH){ + return ignoreCommandParagraph(theCommand, tokList, doxyList); + } + if (commandNumber == COMMANDENDCOMMAND){ + return addCommandEndCommand(theCommand, tokList, doxyList); + } + if (commandNumber == COMMANDWORDPARAGRAPH){ + return addCommandWordParagraph(theCommand, tokList, doxyList); + } + if (commandNumber == COMMANDWORDLINE){ + return addCommandWordLine(theCommand, tokList, doxyList); + } + if (commandNumber == COMMANDWORDOWORDWORD){ + return addCommandWordOWordOWord(theCommand, tokList, doxyList); + } + if (commandNumber == COMMANDOWORD){ + return addCommandOWord(theCommand, tokList, doxyList); + } + if (commandNumber == COMMANDERRORTHROW){ + return addCommandErrorThrow(theCommand, tokList, doxyList); + } + if (commandNumber == COMMANDUNIQUE){ + return addCommandUnique(theCommand, tokList, doxyList); + } + + return 0; +} + +list parse(list::iterator endParsingIndex, TokenList &tokList){ + list aNewList; + int currCommand; + while (tokList.current() != endParsingIndex){ + Token currToken = tokList.peek(); + if(noisy) cout << "Parsing for phrase starting in:" << currToken.toString() << endl; + if(currToken.tokenType == END_LINE ){ + tokList.next(); + } + else if(currToken.tokenType == COMMAND){ + currCommand = findCommand(currToken.tokenString); + tokList.next(); + if (currCommand < 0 ){ if(noisy) cout << "BAD COMMAND: " << currToken.tokenString << endl;} + //cout << "Command: " << currWord << " " << currCommand << endl; + + else addCommand(currToken.tokenString, tokList, aNewList); + } + else if (currToken.tokenType == PLAINSTRING){ + addCommand(string("plainstring"), tokList, aNewList); + } + + + } + + return aNewList; +} + +list DoxygenParser::createTree(string doxygenBlob){ + TokenList tokList = TokenList(doxygenBlob); + if(noisy) { + cout << "---TOKEN LIST---" << endl; + tokList.printList(); + } + list rootList; + rootList = parse( tokList.end(), tokList); + if(noisy) { + cout << "PARSED LIST" << endl; + printTree(rootList); + } + return rootList; +} diff --git a/Source/DoxygenTranslator/src/DoxygenParser.h b/Source/DoxygenTranslator/src/DoxygenParser.h new file mode 100644 index 000000000..776fcf123 --- /dev/null +++ b/Source/DoxygenTranslator/src/DoxygenParser.h @@ -0,0 +1,19 @@ +#ifndef DOXYGENPARSER_H_ +#define DOXYGENPARSER_H_ +#include +#include +#include +#include +#include +#include "DoxygenEntity.h" +#include "TokenList.h" +#include "JavaDocConverter.h" +class DoxygenParser +{ +public: + DoxygenParser(); + virtual ~DoxygenParser(); + list createTree(string doxygen); +}; + +#endif /*DOXYGENPARSER_H_*/ diff --git a/Source/DoxygenTranslator/src/DoxygenTranslator.cpp b/Source/DoxygenTranslator/src/DoxygenTranslator.cpp new file mode 100644 index 000000000..191057ae7 --- /dev/null +++ b/Source/DoxygenTranslator/src/DoxygenTranslator.cpp @@ -0,0 +1,41 @@ + + +#include "DoxygenParser.h" +#include "DoxygenTranslator.h" +#include +#include +#include +#include +#include +#include "DoxygenEntity.h" +#include "TokenList.h" +#include "JavaDocConverter.h" + +DoxygenParser doxyParse; +JavaDocConverter jDC; + +DoxygenTranslator::DoxygenTranslator(){ + doxyParse = DoxygenParser(); + JavaDocConverter jDC = JavaDocConverter(); +} + +DoxygenTranslator::~DoxygenTranslator(){ + +} + + +char *DoxygenTranslator::convert(char* doxygenBlob, char* option){ + + list rootList = doxyParse.createTree(string(doxygenBlob)); + rootList = doxyParse.createTree(string(doxygenBlob)); + string returnedString; + if(strcmp(option, "JAVADOC") == 0){ + returnedString = jDC.convertToJavaDoc(rootList); + } + else cout << "Option not current supported.\n"; + char *nonConstString; + nonConstString = (char *)malloc(returnedString.length() + 1); + strcpy(nonConstString, returnedString.c_str()); + return nonConstString; +} + diff --git a/Source/DoxygenTranslator/src/DoxygenTranslator.h b/Source/DoxygenTranslator/src/DoxygenTranslator.h new file mode 100644 index 000000000..e5fe7bcbb --- /dev/null +++ b/Source/DoxygenTranslator/src/DoxygenTranslator.h @@ -0,0 +1,10 @@ +#ifndef DOXYGENTRANSLATOR_H_ +#define DOXYGENTRANSLATOR_H_ +class DoxygenTranslator +{ +public: + DoxygenTranslator(); + virtual ~DoxygenTranslator(); + char* convert(char* doxygenBlob, char* option); +}; +#endif /*DOXYGENTRANSLATOR_H_*/ diff --git a/Source/DoxygenTranslator/src/Examples/DoxygenTransWTokenizer.cpp b/Source/DoxygenTranslator/src/Examples/DoxygenTransWTokenizer.cpp new file mode 100644 index 000000000..299f59216 --- /dev/null +++ b/Source/DoxygenTranslator/src/Examples/DoxygenTransWTokenizer.cpp @@ -0,0 +1,924 @@ +/* The main class for translating blobs of Doxygen for SWIG + * by Cheryl Foil, mentor Olly Betts, for Google's Summer of Code Program + * Currently the spacing/format on this is a bit goofy in places, due to shuffling code + * between 2 editors! Apologies for anyone combing through it :) + */ +//TODO DOH instead of STL? +//TODO Most commands are not fully implemented + +#include +#include +#include +#include +#include +#include "DoxygenEntity.h" +#include "TokenList.h" +#define SIMPLECOMMAND 1 +#define IGNOREDSIMPLECOMMAND 2 +#define COMMANDWORD 3 +#define IGNOREDCOMMANDWORD 4 +#define COMMANDLINE 5 +#define IGNOREDCOMMANDLINE 6 +#define COMMANDPARAGRAPH 7 +#define IGNORECOMMANDPARAGRAPH 8 +#define COMMANDENDCOMMAND 9 +#define COMMANDWORDPARAGRAPH 10 +#define COMMANDWORDLINE 11 +#define COMMANDWORDOWORDWORD 12 +#define COMMANDOWORD 13 +#define COMMANDERRORTHROW 14 +#define COMMANDUNIQUE 15 +using namespace std; + + +////////////////////////////////////////// +/*Set these to pick what internal functions +to test. */ + +//int testCommandParsingFunctions = 1;// not implemented + +int testCodeCrawlingFunctions = 0; +int demonstrateParsing = 0; +int runExamples = 0; +int noisy = 0; // set this to 1 for extra chatter from the parsing stage. +int addCommand(string commandName, int &startInd, list &doxyList, string doxygenString); +////////////////////////////////////////// + + + +/* Globals*/ + + +// An array of all the commands and my generic description tag, plaindescription + +string commandArray[] = {"a", "addindex", "addtogroup", "anchor", "arg", "attention", + "author", "b", "brief", "bug", "c", "callgraph", "callergraph", "category", + "class", "code", "cond", "copybrief", "copydetails", "copydoc", "date", "def", + "defgroup", "deprecated", "details", "dir", "dontinclude", "dot", "dotfile", "e", + "else", "elseif", "em", "endcode", "endcond", "enddot", "endhtmlonly", "endif", + "endlatexonly", "endlink", "endmanonly", "endmsc", "endverbatim", "endxmlonly", + "enum", "example", "exception", "f$", "f[", "f]", "f{", "f}", "file", "fn", "headerfile", + "hideinitializer", "htmlinclude", "htmlonly", "if", "ifnot", "image", "include", + "includelineno", "ingroup", "internal", "invariant", "interface", "latexonly", "li", + "line", "link", "mainpage", "manonly", "msc", "n", "name", "namespace", "nosubgrouping", + "note", "overload", "p", "package", "page", "par", "paragraph", "param", "post", "pre", + "private", "privatesection", "property", "protected", "protectedsection", "protocol", + "public", "publicsection", "ref", "relates", "relatesalso", "remarks", "return", "retval", + "sa", "section", "see", "showinitializer", "since", "skip", "skipline", "struct", "subpage", + "subsection", "subsubsection", "test", "throw", "todo", "tparam", "typedef", "union", "until", + "var", "verbatim", "verbinclude", "version", "warning", "weakgroup", "xmlonly", "xrefitem", + "$", "@", "//","&", "~", "<", ">", "#", "%"}; + + +string sectionIndicators[] = { "attention", "author", "brief", "bug", "cond", "date", "deprecated", "details", + "else", "elseif", "endcond", "endif", "exception", "if", "ifnot", "invariant", "note", "par", "param", + "tparam", "post" , "pre", "remarks", "return", "retval", "sa", "see", "since", "test", "throw", "todo", + "version", "warning", "xrefitem" }; + +/* All of the doxygen commands divided up by how they are parsed */ +string simpleCommands[] = {"n", "$", "@", "//", "&", "~", "<", ">", "#", "%"}; +string ignoredSimpleCommands[] = {"nothing at the moment"}; +string commandWords[] = {"a", "b", "c", "e", "em", "p", "def", "enum", "example", "package", + "relates", "namespace", "relatesalso","anchor", "dontinclude", "include", "includelineno"}; +string ignoredCommandWords[] = {"copydoc", "copybrief", "copydetails", "verbinclude", "htmlinclude"}; +string commandLines[] = {"addindex", "fn", "name", "line", "var", "skipline", "typedef", "skip", "until", "property"}; +string ignoreCommandLines[] = {"nothing at the moment"}; +string commandParagraph[] = {"return", "remarks", "since", "test", "sa", "see", "pre", "post", "details", "invariant", + "deprecated", "date", "note", "warning", "version", "todo", "bug", "attention", "brief", "arg", "author"}; +string ignoreCommandParagraphs[] = {"nothing at the moment"}; +string commandEndCommands[] = {"code", "dot", "msc", "f$", "f[", "f{environment}{", "htmlonly", "latexonly", "manonly", + "verbatim", "xmlonly", "cond", "if", "ifnot", "link"}; +string commandWordParagraphs[] = {"param", "tparam", "throw", "retval", "exception"}; +string commandWordLines[] = {"page", "subsection", "subsubsection", "section", "paragraph", "defgroup"}; +string commandWordOWordOWords [] = {"category", "class", "protocol", "interface", "struct", "union"}; +string commandOWords[] = {"dir", "file", "cond"}; +string commandErrorThrowings[] = {"annotatedclasslist", "classhierarchy", "define", "functionindex", "header", + "headerfilelist", "inherit", "l", "postheader", "private", "privatesection", "protected", + "protectedsection", "public", "publicsection", "endcode", "enddot", "endmsc", "endhtmlonly", + "endlatexonly", "endmanonly", "endlink", "endverbatim", "endxmlonly", "f]", "f}", "endcond", + "endif"}; +string commandUniques[] = {"xrefitem", "ingroup", "par", "headerfile", "overload", "weakgroup", "ref", + "subpage", "dotfile", "image", "addtogroup", "li"}; + + //int startIndex = 0; + int isNewLine = 0; + int briefDescExists = 0; + + /* Entity list is the root list. + * it is arranged this way to help documentation modules, + * such as the javaDoc one, "sort" entities where they need to. + */ + + list rootList; + +/* General (untested) assist methods */ + + string StringToLower(string stringToConvert) + + {//change each element of the string to lower case + + for(unsigned int i=0;i= doxygenString.length()) return ""; + int startIndex = startInd; + int endIndex = startInd; + string description; + /* Find the End of the description */ + int keepLooping = 1; + int spareIndex = 0; + int counter; + int finalIndex; + while(keepLooping){ + if(endIndex >= doxygenString.length()){ + finalIndex = endIndex; + keepLooping = 0; + } + else if (doxygenString[endIndex] == '\n'){ + //cout << "1 "; + counter = endIndex; + if ( keepLooping && endIndex < doxygenString.length()-1) { + counter++; + //cout << "Counter :" << counter << endl; + while(keepLooping && endIndex < doxygenString.length() && (doxygenString[counter] == ' ' || + doxygenString[counter] == '*'|| doxygenString[counter] == '\n'|| doxygenString[counter] == '/' + || doxygenString[counter] == '!' || doxygenString[startIndex] == '\t') ){ + if(doxygenString[counter] == '\n') { + //cout << "Blank line found" << endl; + keepLooping = 0; + finalIndex = counter;} + else{ counter++;} + } + + } + //endIndex = counter; + } + else if (doxygenString[endIndex] == '\\' || doxygenString[endIndex] == '@'){ + finalIndex = endIndex; + keepLooping = 0; + } + else if(endIndex < doxygenString.length() -2 + && string("**/").compare(doxygenString.substr(endIndex , endIndex + 2)) == 0){ + finalIndex = endIndex; + //cout << "3 "; + keepLooping = 0; + } + if(keepLooping){ + //cout << "4 "; + endIndex++; + } + } + //cout << "Done with EndIndex" << endl; + while(doxygenString[startIndex] == '!' || doxygenString[startIndex] == ' ' + || doxygenString[startIndex] == '/' || doxygenString[startIndex] == '*' || doxygenString[startIndex] == '\t') startIndex++; + + for (int i = startIndex; i < endIndex; i++){ + + if (doxygenString[i] == '\n') { + + while ((doxygenString[i] == '\n' || doxygenString[startIndex] == '\t'|| doxygenString[i] == ' ' + || doxygenString[i] == '*' || doxygenString[i] == '/')&& endIndex < doxygenString.length() - 1){ + i++; + } + description.append(" "); + } + description.push_back(doxygenString[i]); + //cout << doxygenString[i]; + } + //if(noisy) cout << "Final Index is: " << finalIndex << endl; + startInd = finalIndex; + return description; + } + + +/* Returns a Paragraph- defined in Doxygen to be a paragraph of text + * seperate by either a structural command or a blank line + * This method is VERY messy currently + */ + //TODO fix getStringTilEndOfParagraph to be more forgiving, work on ' ' characters + string getStringTilEndOfParagraph(int &startInd, string doxygenString){ + if (startInd >= doxygenString.length()) return ""; + int startIndex = startInd; + int endIndex = startInd; + string description; + /* Find the End of the description */ + int keepLooping = 1; + int spareIndex = 0; + int counter; + int finalIndex; + while(keepLooping){ + if(endIndex >= doxygenString.length()){ + finalIndex = endIndex; + keepLooping = 0; + } + else if (doxygenString[endIndex] == '\n'){ + //cout << "1 "; + counter = endIndex; + if ( keepLooping && endIndex < doxygenString.length()-1) { + counter++; + //cout << "Counter :" << counter << endl; + while(keepLooping && endIndex < doxygenString.length() && (doxygenString[counter] == ' ' || + doxygenString[counter] == '*'|| doxygenString[startIndex] == '\t' || doxygenString[counter] == '\n'|| doxygenString[counter] == '/' + || doxygenString[counter] == '!') ){ + if(doxygenString[counter] == '\n') { + //cout << "Blank line found" << endl; + keepLooping = 0; + finalIndex = counter;} + else{ counter++;} + } + + } + //endIndex = counter; + } + //todo this fix for not immediately exciting while parsing a paragraph seems somewhat cheap + else if (endIndex != startInd && doxygenString[endIndex] == '\\' || doxygenString[endIndex] == '@'){ + spareIndex = endIndex +1; + + if (isSectionIndicator(getNextWord(spareIndex, doxygenString))) { + keepLooping = 0; + finalIndex = endIndex;} + } + else if(endIndex < doxygenString.length() - 1 + && string("*/").compare(doxygenString.substr(endIndex , endIndex + 1)) == 0){ + keepLooping = 0; + finalIndex = endIndex; + } + if(keepLooping){ + endIndex++; + } + } + //cout << "Done with EndIndex" << endl; + while(doxygenString[startIndex] == '!' || doxygenString[startIndex] == ' ' || doxygenString[startIndex] == '\t' + || doxygenString[startIndex] == '/' || doxygenString[startIndex] == '*') startIndex++; + + for (int i = startIndex; i < endIndex; i++){ + + if (doxygenString[i] == '\n') { + + while ((doxygenString[i] == '\n' || doxygenString[startIndex] == '\t' || doxygenString[i] == ' ' ||doxygenString[startIndex] == '!' + || doxygenString[i] == '*' || doxygenString[i] == '/')&& endIndex < doxygenString.length() - 1){ + i++; + } + description.append(" "); + } + description.push_back(doxygenString[i]); + //cout << doxygenString[i]; + } + startInd = finalIndex; + return description; + } + + /* This method is for a specific form of doxygen command + * that begins with a \command and ends in \endcommand + * such as \code and \endcode. The proper usage is + * progressTilEndCommand("endcode", index) + * currently this method does NOT process what is in between the two commands + */ + //TODO Make progressTilCommand return a formatted string + int progressTilEndCommand(string theCommand, int &startInd, string doxygenString){ + int endIndex = startInd; + while (endIndex < doxygenString.length()){ + if (doxygenString[endIndex] == '\\' || doxygenString[endIndex] == '@'){ + //cout << doxygenString.substr(endIndex + 1 , theCommand.length())<< endl; + if (theCommand.compare(doxygenString.substr(endIndex + 1 , theCommand.length())) == 0){ + startInd = endIndex + theCommand.length() + 1; + return 1; + } + } + endIndex++; + } + //End command not found + return 0; + } + + /* A specialty method for commands such as \arg that end at the end of a paragraph OR when another \arg is encountered + */ + + string getStringTilAnyCommand(string theCommand, int &startInd, string doxygenString){ + if (startInd >= doxygenString.length()) return ""; + int startIndex = startInd; + int endIndex = startInd; + string description; + /* Find the End of the description */ + int keepLooping = 1; + int spareIndex = 0; + int counter; + int finalIndex; + while(keepLooping){ + if(endIndex >= theCommand.length()){ + finalIndex = endIndex; + keepLooping = 0; + } + else if (doxygenString[endIndex] == '\n'){ + //cout << "1 "; + counter = endIndex; + if ( keepLooping && endIndex < doxygenString.length()-1) { + counter++; + //cout << "Counter :" << counter << endl; + while(keepLooping && endIndex < doxygenString.length() && (doxygenString[counter] == ' ' || + doxygenString[counter] == '*'|| doxygenString[counter] == '\n'|| doxygenString[counter] == '/' + || doxygenString[counter] == '!' || doxygenString[startIndex] == '\t') ){ + if(doxygenString[counter] == '\n') { + //cout << "Blank line found" << endl; + keepLooping = 0; + finalIndex = counter;} + else{ counter++;} + } + + } + //endIndex = counter; + } + else if (doxygenString[endIndex] == '\\' || doxygenString[endIndex] == '@'){ + //cout << "2 "; + spareIndex = endIndex; + if (endIndex + theCommand.length() < theCommand.length() + && theCommand.compare(doxygenString.substr(endIndex, theCommand.length())) == 0) keepLooping = 0; + } + else if(endIndex < doxygenString.length() - 1 + && string("*/").compare(doxygenString.substr(endIndex , endIndex + 1)) == 0){ + //cout << "3 "; + keepLooping = 0; + } + if(keepLooping){ + //cout << "4 "; + endIndex++; + } + } + //cout << "Done with EndIndex" << endl; + while(doxygenString[startIndex] == '!' || doxygenString[startIndex] == ' ' + || doxygenString[startIndex] == '/' || doxygenString[startIndex] == '*' || doxygenString[startIndex] == '\t') startIndex++; + + for (int i = startIndex; i < endIndex; i++){ + + if (doxygenString[i] == '\n') { + + while ((doxygenString[i] == '\n' || doxygenString[i] == ' ' || doxygenString[startIndex] == '\t' + || doxygenString[i] == '*' || doxygenString[i] == '/')&& endIndex < doxygenString.length() - 1){ + i++; + } + description.append(" "); + } + description.push_back(doxygenString[i]); + //cout << doxygenString[i]; + } + startInd = finalIndex; + return description; + } + + + /* prints the parse tree + * + */ + void printTree(){ + + list::iterator p = rootList.begin(); + while (p != rootList.end()){ + (*p).printEntity(0); + p++; + } + + } + + + + list parse(int startInd, string doxygenString){ + string currWord; + int startIndex = startInd; + int savedIndex; + list aNewList; + int endIndex = doxygenString.length(); + int currCommand; + while (startIndex < endIndex){ + savedIndex = startIndex; + currWord = getNextWord(startIndex, doxygenString); + if(noisy) cout << "Parsing for phrase starting in:" << currWord << endl; + if(currWord == ""){ + if (startIndex < endIndex) startIndex++; + } + else if(currWord[0] == '\\' || currWord[0] == '@'){ + currWord = currWord.substr(1, currWord.length() - 1); + currCommand = findCommand(currWord); + if (currCommand < 0 ){ if(noisy) cout << "BAD COMMAND: " << currWord << endl;} + //cout << "Command: " << currWord << " " << currCommand << endl; + else addCommand(currWord, startIndex, aNewList, doxygenString); + } + else{ + startIndex = savedIndex; + addCommand(string("plainstring"), startIndex, aNewList, doxygenString); + + } + } + + return aNewList; + } + + /* Method for Adding a Simple Command + * Format: @command + * Plain commands, such as newline etc, they contain no other data + * \n \\ \@ \& \$ \# \< \> \% + */ + int addSimpleCommand(string theCommand, int &startInd, list &doxyList, string doxygenString){ + + if (noisy) cout << "Parsing " << theCommand << endl; + doxyList.push_back(DoxygenEntity(theCommand)); + return 1; + } + + /* NOT INCLUDED Simple Commands + * Format: @command + * Plain commands, such as newline etc, they contain no other data + */ + int ignoreSimpleCommand(string theCommand, int &startInd, list &doxyList, string doxygenString){ + + if (noisy) cout << "Not Adding " << theCommand << endl; + return 1; + } + + /* CommandWord + * Format: @command + * Commands with a single WORD after then such as @b + * "a", "b", "c", "e", "em", "p", "def", "enum", "example", "package", + * "relates", "namespace", "relatesalso","anchor", "dontinclude", "include", "includelineno" + */ + int addCommandWord(string theCommand, int &startInd, list &doxyList, string doxygenString){ + if (noisy) cout << "Parsing " << theCommand << endl; + string name = getNextWord(startInd, doxygenString); + if (!name.empty()){ + doxyList.push_back(DoxygenEntity(theCommand, name)); + return 1; + } + else cout << "No word followed " << theCommand << " command. Not added" << endl; + return 0; + } + /* NOT INCLUDED CommandWord + * Format: @command + * Commands with a single WORD after then such as @b + * "copydoc", "copybrief", "copydetails", "verbinclude", "htmlinclude" + */ + int ignoreCommandWord(string theCommand, int &startInd, list &doxyList, string doxygenString){ + if (noisy) cout << "Not Adding " << theCommand << endl; + string name = getNextWord(startInd, doxygenString); + if (!name.empty()){ + return 1; + } + else cout << "WARNING: No word followed " << theCommand << " command." << endl; + return 0; + } + + /* CommandLine + * Format: @command (line) + * Commands with a single LINE after then such as @var + * "addindex", "fn", "name", "line", "var", "skipline", "typedef", "skip", "until", "property" + */ + int addCommandLine(string theCommand, int &startInd, list &doxyList, string doxygenString){ + if (noisy) cout << "Parsing " << theCommand << endl; + string line = getOneLine(startInd, doxygenString); + if(!line.empty()){ + int placement = 0; + list aNewList; + aNewList = parse(placement, line); + doxyList.push_back( DoxygenEntity(theCommand, aNewList)); + return 1; + } + else cout << "No line followed " << theCommand << " command. Not added" << endl; + return 0; + } + + /* NOT INCLUDED CommandLine + * Format: @command (line) + * Commands with a single LINE after then such as @var + * + */ + int ignoreCommandLine(string theCommand, int &startInd, list &doxyList, string doxygenString){ + if (noisy) cout << "Not Adding " << theCommand << endl; + string line = getOneLine(startInd, doxygenString); + if(!line.empty()){ + return 1; + } + else cout << "WARNING: No line followed " << theCommand << " command." << endl; + return 0; + } + + /* CommandParagraph + * Format: @command {paragraph} + * Commands with a single paragraph after then such as @return + * "return", "remarks", "since", "test", "sa", "see", "pre", "post", "details", "invariant", + * "deprecated", "date", "note", "warning", "version", "todo", "bug", "attention", "brief", "arg", "author" + */ + int addCommandParagraph(string theCommand, int &startInd, list &doxyList, string doxygenString){ + if (noisy) cout << "Parsing " << theCommand << endl; + string restOfParagraph = getStringTilEndOfParagraph(startInd, doxygenString); + if(!restOfParagraph.empty()){ + int placement = 0; + list aNewList; + aNewList = parse(placement, restOfParagraph); + doxyList.push_back( DoxygenEntity(theCommand, aNewList)); + return 1; + } + else cout << "No line followed " << theCommand << " command. Not added" << endl; + return 0; + } + /* CommandParagraph + * Format: @command {paragraph} + * Commands with a single LINE after then such as @var + * + */ + int ignoreCommandParagraph(string theCommand, int &startInd, list &doxyList, string doxygenString){ + if (noisy) cout << "Not Adding " << theCommand << endl; + string restOfParagraph = getStringTilEndOfParagraph(startInd, doxygenString); + if(!restOfParagraph.empty()){ + return 1; + } + else cout << "WARNING: No line followed " << theCommand << " command." << endl; + return 0; + } + /* Command EndCommand + * Format: @command and ends at @endcommand + * Commands that take in a block of text such as @code + * "code", "dot", "msc", "f$", "f[", "f{environment}{", "htmlonly", "latexonly", "manonly", + * "verbatim", "xmlonly", "cond", "if", "ifnot", "link" + * Returns 1 if success, 0 if the endcommand is never encountered. + */ + + int ignoreCommandEndCommand(string theCommand, int &startInd, list &doxyList, string doxygenString){ + if (noisy) cout << "Not Adding " << theCommand << endl; + return progressTilEndCommand( "end" + theCommand, startInd, doxygenString); + + } + + /* CommandWordParagraph + * Format: @command {paragraph} + * Commands such as param + * "param", "tparam", "throw", "retval", "exception" + */ + int addCommandWordParagraph(string theCommand, int &startInd, list &doxyList, string doxygenString){ + if (noisy) cout << "Parsing " << theCommand << endl; + string name = getNextWord(startInd, doxygenString); + if (name.empty()){ + cout << "No word followed " << theCommand << " command. Not added" << endl; + return 0; + } + string restOfParagraph = getStringTilEndOfParagraph(startInd, doxygenString); + int placement = 0; + if(!restOfParagraph.empty()){ + list aNewList; + aNewList = parse(placement, restOfParagraph); + aNewList.push_front(DoxygenEntity("plainstring", name)); + doxyList.push_back(DoxygenEntity(theCommand, aNewList)); + return 1; + } + else cout << "No paragraph followed " << theCommand << " command. Not added" << endl; + return 0; + } + /* CommandWordLine + * Format: @command (line) + * Commands such as param + * "page", "subsection", "subsubsection", "section", "paragraph", "defgroup" + */ + int addCommandWordLine(string theCommand, int &startInd, list &doxyList, string doxygenString){ + if (noisy) cout << "Parsing " << theCommand << endl; + string name = getNextWord(startInd, doxygenString); + if (name.empty()){ + cout << "No word followed " << theCommand << " command. Not added" << endl; + return 0; + } + string restOfLine = getStringTilEndOfParagraph(startInd, doxygenString); + int placement = 0; + if(!restOfLine.empty()){ + list aNewList; + aNewList = parse(placement, restOfLine); + aNewList.push_front(DoxygenEntity("plainstring", name)); + doxyList.push_back(DoxygenEntity(theCommand, aNewList)); + return 1; + } + else cout << "No line followed " << theCommand << " command. Not added" << endl; + return 0; + } + + /* Command Word Optional Word Optional Word + * Format: @command [] [] + * Commands such as class + * "category", "class", "protocol", "interface", "struct", "union" + */ + int addCommandWordOWordOWord(string theCommand, int &startInd, list &doxyList, string doxygenString){ + if (noisy) cout << "Parsing " << theCommand << endl; + string name = getNextWord(startInd, doxygenString); + if (name.empty()){ + cout << "No word followed " << theCommand << " command. Not added" << endl; + return 0; + } + string headerfile = getNextWord(startInd, doxygenString); + string headername = getNextWord(startInd, doxygenString); + list aNewList; + aNewList.push_back(DoxygenEntity("plainstring", name)); + if (!headerfile.empty()) aNewList.push_back(DoxygenEntity("plainstring", headerfile)); + if (!headername.empty()) aNewList.push_back(DoxygenEntity("plainstring", headername)); + doxyList.push_back(DoxygenEntity(theCommand, aNewList)); + return 1; + } + + /* Command Optional Word + * Format: @command [] + * Commands such as dir + * "dir", "file", "cond" + */ + int addCommandOWord(string theCommand, int &startInd, list &doxyList, string doxygenString){ + if (noisy) cout << "Parsing " << theCommand << endl; + string name = getNextWord(startInd, doxygenString); + doxyList.push_back(DoxygenEntity(theCommand, name)); + return 1; + } + + /* The actual "meat" of the doxygen parser. This is not yet fully implemented + * with my current design- however the skeletal outline is contained in + * the file Skeleton + */ + + + int addCommand(string commandString, int &startInd, list &doxyList, string doxygenString){ + string theCommand = StringToLower(commandString); + string voidArray[] = {""}; + /* @command */ + + + if (theCommand.compare("plainstring") == 0){ + string nextPhrase = getStringTilCommand(startInd, doxygenString); + if (noisy) cout << "Parsing plain string :" << nextPhrase << endl; + doxyList.push_back(DoxygenEntity("plainstring", nextPhrase )); + return 1; + } + int commandNumber = commandBelongs(theCommand); + if (commandNumber == SIMPLECOMMAND){ + return addSimpleCommand(theCommand, startInd,doxyList, doxygenString); + } + if (commandNumber == IGNOREDSIMPLECOMMAND){ + return ignoreSimpleCommand(theCommand, startInd,doxyList, doxygenString); + } + if (commandNumber == COMMANDWORD){ + return addCommandWord(theCommand, startInd,doxyList, doxygenString); + } + if (commandNumber == IGNOREDCOMMANDWORD){ + return ignoreCommandWord(theCommand, startInd,doxyList, doxygenString); + } + if (commandNumber == COMMANDLINE ){ + return addCommandLine(theCommand, startInd,doxyList, doxygenString); + } + if (commandNumber == IGNOREDCOMMANDLINE ){ + return ignoreCommandLine(theCommand, startInd,doxyList, doxygenString); + } + if (commandNumber == COMMANDPARAGRAPH){ + return addCommandParagraph(theCommand, startInd,doxyList, doxygenString); + } + if (commandNumber == IGNORECOMMANDPARAGRAPH){ + return ignoreCommandParagraph(theCommand, startInd,doxyList, doxygenString); + } + if (commandNumber == COMMANDENDCOMMAND){ + return ignoreCommandEndCommand(theCommand, startInd,doxyList, doxygenString); + } + if (commandNumber == COMMANDWORDPARAGRAPH){ + return addCommandWordParagraph(theCommand, startInd,doxyList, doxygenString); + } + if (commandNumber == COMMANDWORDLINE){ + return addCommandWordLine(theCommand, startInd,doxyList, doxygenString); + } + if (commandNumber == COMMANDWORDOWORDWORD){ + return addCommandWordOWordOWord(theCommand, startInd,doxyList, doxygenString); + } + if (commandNumber == COMMANDOWORD){ + return addCommandOWord(theCommand, startInd,doxyList, doxygenString); + } + if (commandNumber == COMMANDERRORTHROW){ + return 0; + } + if (commandNumber == COMMANDUNIQUE){ + return 0; + } + + return 0; + } + + int weirdTest(){ + string doxygenString = "this is a test."; + string restOfParagraph; + int startIndex = 0; + restOfParagraph = getStringTilEndOfParagraph(startIndex , doxygenString); + cout << restOfParagraph<< " " << startIndex << endl; + + startIndex = 0; + restOfParagraph = getStringTilCommand(startIndex, doxygenString); + cout << restOfParagraph<< " " << startIndex << endl; + } + + + + int doRunExamples(){ + string line; + string filename; + string exampleNames[] = {"Examples/Example1","Examples/Example2", "Examples/Example3", "Examples/Example4", "Examples/Example5"}; + int placement; + string doxygenString; + ifstream doxCommentFile; + for (int i = 0; i < 5; i++){ + doxCommentFile.open(exampleNames[i].c_str()); + doxCommentFile >> doxygenString; + while(getline(doxCommentFile, line)){ + doxygenString += line + "\n";} + doxCommentFile.close(); + placement = 0; + cout << "---RAW CODE---" << endl << doxygenString << endl< */ +#define POUND_COMMAND 236 /* \# */ +#define PERCENT_COMMAND 237 /* \% */ + +#endif /*TRANSLATOR_H_*/ diff --git a/Source/DoxygenTranslator/src/JavaDocConverter.cpp b/Source/DoxygenTranslator/src/JavaDocConverter.cpp new file mode 100644 index 000000000..91f52662f --- /dev/null +++ b/Source/DoxygenTranslator/src/JavaDocConverter.cpp @@ -0,0 +1,210 @@ +#include "JavaDocConverter.h" +#include +#include +#include +#include +#define APPROX_LINE_LENGTH 64//characters per line allowed +#define TAB_SIZE 8//characters per line allowed +int printSortedTree2 = 0; +//TODO {@link} {@linkplain} {@docRoot}, and other useful doxy commands that are not a javadoc tag +JavaDocConverter::JavaDocConverter() +{ +} + +JavaDocConverter::~JavaDocConverter() +{ +} + +/* Sorts entities by javaDoc standard order for commands + * NOTE: will not behave entirely properly until "First level" comments + * such as brief descriptions are TAGGED as such + */ +bool compare_DoxygenEntities(DoxygenEntity first, DoxygenEntity second){ + if(first.typeOfEntity.compare("plainstring") == 0) return true; + if(second.typeOfEntity.compare("plainstring") == 0) return false; + if(first.typeOfEntity.compare("param") == 0){ + if(second.typeOfEntity.compare("param")== 0) return true; + if(second.typeOfEntity.compare("return")== 0) return true; + if(second.typeOfEntity.compare("exception")== 0) return true; + if(second.typeOfEntity.compare("author")== 0) return true; + if(second.typeOfEntity.compare("version")== 0)return true; + if(second.typeOfEntity.compare("see")== 0)return true; + if(second.typeOfEntity.compare("since")== 0)return true; + if(second.typeOfEntity.compare("deprecated")== 0)return true; + return false; + } + if(first.typeOfEntity.compare("return")== 0){ + if(second.typeOfEntity.compare("return")== 0) return true; + if(second.typeOfEntity.compare("exception")== 0) return true; + if(second.typeOfEntity.compare("author")== 0) return true; + if(second.typeOfEntity.compare("version")== 0)return true; + if(second.typeOfEntity.compare("see")== 0)return true; + if(second.typeOfEntity.compare("since")== 0)return true; + if(second.typeOfEntity.compare("deprecated")== 0)return true; + return false; + + } + if(first.typeOfEntity.compare("exception")== 0){ + if(second.typeOfEntity.compare("exception")== 0) return true; + if(second.typeOfEntity.compare("author")== 0) return true; + if(second.typeOfEntity.compare("version")== 0)return true; + if(second.typeOfEntity.compare("see")== 0)return true; + if(second.typeOfEntity.compare("since")== 0)return true; + if(second.typeOfEntity.compare("deprecated")== 0)return true; + return false; + } + if(first.typeOfEntity.compare("author")== 0){ + if(first.typeOfEntity.compare("author")== 0) return true; + if(first.typeOfEntity.compare("version")== 0)return true; + if(first.typeOfEntity.compare("see")== 0)return true; + if(first.typeOfEntity.compare("since")== 0)return true; + if(first.typeOfEntity.compare("deprecated")== 0)return true; + return false; + } + if(first.typeOfEntity.compare("version")== 0){ + if(second.typeOfEntity.compare("version")== 0)return true; + if(second.typeOfEntity.compare("see")== 0)return true; + if(second.typeOfEntity.compare("since")== 0)return true; + if(second.typeOfEntity.compare("deprecated")== 0)return true; + return false; + } + if(first.typeOfEntity.compare("see")== 0 || first.typeOfEntity.compare("sa")== 0){ + if(second.typeOfEntity.compare("see")== 0)return true; + if(second.typeOfEntity.compare("sa")== 0)return true; + if(second.typeOfEntity.compare("since")== 0)return true; + if(second.typeOfEntity.compare("deprecated")== 0)return true; + return false; + } + if(first.typeOfEntity.compare("since")== 0){ + if(second.typeOfEntity.compare("since")== 0) return true; + if(second.typeOfEntity.compare("deprecated")== 0)return true; + return false; + } + if(first.typeOfEntity.compare("deprecated")== 0){ + if(second.typeOfEntity.compare("deprecated")== 0)return true; + return false; + } + return true; +} + +void JavaDocConverter::printSortedTree(list &entityList){ + list::iterator p = entityList.begin(); + while (p != entityList.end()){ + (*p).printEntity(0); + p++; + } +} +string formatCommand(string unformattedLine, int indent){ + string formattedLines = "\n * "; + int lastPosition = 0; + int i = 0; + int isFirstLine = 1; + while (i != -1 && i < unformattedLine.length()){ + lastPosition = i; + if (isFirstLine){ + i+=APPROX_LINE_LENGTH; + } + else i+=APPROX_LINE_LENGTH - indent*TAB_SIZE; + i = unformattedLine.find(" ", i); + + if (i > 0 && i + 1 < unformattedLine.length()){ + if (!isFirstLine) for (int j = 0; j < indent; j++) { + formattedLines.append("\t"); + } + else { + isFirstLine = 0; + } + formattedLines.append(unformattedLine.substr(lastPosition, i - lastPosition + 1)); + formattedLines.append("\n *"); + + } + } + if (lastPosition < unformattedLine.length()){ + if (!isFirstLine) {for (int j = 0; j < indent; j++) {formattedLines.append("\t");}} + formattedLines.append(unformattedLine.substr(lastPosition, unformattedLine.length() - lastPosition)); + } + + return formattedLines; +} + +/* Contains the conversions for tags + * could probably be much more efficient... + */ +string javaDocFormat(DoxygenEntity &doxygenEntity){ + if (doxygenEntity.typeOfEntity.compare("plainstring") == 0){ + return doxygenEntity.data; + } + else if (doxygenEntity.typeOfEntity.compare("brief") == 0){ + return doxygenEntity.data; + } + if (doxygenEntity.typeOfEntity.compare("detailed") == 0){ + return doxygenEntity.data; + } + else if (doxygenEntity.typeOfEntity.compare("b") == 0){ + return "" + doxygenEntity.data + ""; + } + else if (doxygenEntity.typeOfEntity.compare("c") == 0){ + return "" + doxygenEntity.data + ""; + } + return ""; +} + + +string translateSubtree( DoxygenEntity &doxygenEntity){ + string returnedString; + if (doxygenEntity.isLeaf){ return javaDocFormat(doxygenEntity) + " ";} + else { + returnedString += javaDocFormat(doxygenEntity); + list::iterator p = doxygenEntity.entityList.begin(); + while (p != doxygenEntity.entityList.end()){ + returnedString+= translateSubtree(*p); + p++; + } + } + return returnedString; +} + +string translateEntity(DoxygenEntity &doxyEntity){ + if(doxyEntity.typeOfEntity.compare("plainstring")== 0 || doxyEntity.typeOfEntity.compare("deprecated")== 0 || doxyEntity.typeOfEntity.compare("brief")== 0) + return formatCommand(doxyEntity.data, 0) + "\n * "; + else if(doxyEntity.typeOfEntity.compare("see") == 0){ + return formatCommand(string("@" + doxyEntity.typeOfEntity + "\t\t" + translateSubtree(doxyEntity)), 2); + } + else if(doxyEntity.typeOfEntity.compare("return")== 0 + || doxyEntity.typeOfEntity.compare("author")== 0 + || doxyEntity.typeOfEntity.compare("param")== 0 + || doxyEntity.typeOfEntity.compare("since")== 0 + || doxyEntity.typeOfEntity.compare("version")== 0 + || doxyEntity.typeOfEntity.compare("exception") == 0 + || doxyEntity.typeOfEntity.compare("deprecated") == 0){ + return formatCommand(string("@" + doxyEntity.typeOfEntity + "\t" + translateSubtree(doxyEntity)), 2); + } + else if(doxyEntity.typeOfEntity.compare("sa")== 0){ + return formatCommand(string("@see\t\t" + translateSubtree(doxyEntity)), 2); + } + + return ""; +} + +string JavaDocConverter:: convertToJavaDoc(list entityList){ + + + entityList.sort(compare_DoxygenEntities); + if(printSortedTree2){ + cout << "---RESORTED LIST---" << endl; + printSortedTree(entityList); + } + + string javaDocString = "/**"; + + list::iterator entityIterator = entityList.begin(); + while (entityIterator != entityList.end()){ + javaDocString += translateEntity(*entityIterator); + entityIterator++; + } + + javaDocString += "\n */\n"; + cout << "\n---RESULT IN JAVADOC---" << endl; + cout << javaDocString; + return javaDocString; +} \ No newline at end of file diff --git a/Source/DoxygenTranslator/src/JavaDocConverter.h b/Source/DoxygenTranslator/src/JavaDocConverter.h new file mode 100644 index 000000000..81122bc5f --- /dev/null +++ b/Source/DoxygenTranslator/src/JavaDocConverter.h @@ -0,0 +1,18 @@ + #include + #include + #include "DoxygenEntity.h" + +#ifndef JAVADOCCONVERTER_H_ +#define JAVADOCCONVERTER_H_ + +class JavaDocConverter +{ +public: + + JavaDocConverter(); + string convertToJavaDoc(list entityList); + ~JavaDocConverter(); + void printSortedTree(list &entityList); +}; + +#endif /*JAVADOCCONVERTER_H_*/ diff --git a/Source/DoxygenTranslator/src/Token.cpp b/Source/DoxygenTranslator/src/Token.cpp new file mode 100644 index 000000000..e85799546 --- /dev/null +++ b/Source/DoxygenTranslator/src/Token.cpp @@ -0,0 +1,32 @@ +#include "Token.h" +#include +#include +#include +#include +using namespace std; + + +Token::Token(int tType, string tString) +{ + tokenType = tType; + tokenString = tString; +} + +string Token::toString() +{ + if (tokenType == END_LINE){ + return "{END OF LINE}"; + } + if (tokenType == PARAGRAPH_END){ + return "{END OF PARAGRAPH}"; + } + if (tokenType == PLAINSTRING){ + return tokenString; + } + if (tokenType == COMMAND){ + return "{COMMAND : " + tokenString+ "}"; + } + return ""; +} + +Token:: ~Token(){} diff --git a/Source/DoxygenTranslator/src/Token.h b/Source/DoxygenTranslator/src/Token.h new file mode 100644 index 000000000..e98686c14 --- /dev/null +++ b/Source/DoxygenTranslator/src/Token.h @@ -0,0 +1,21 @@ +#ifndef TOKEN_H_ +#define TOKEN_H_ +#include + +#define END_LINE 101 +#define PARAGRAPH_END 102 +#define PLAINSTRING 103 +#define COMMAND 104 +using namespace std; + +class Token +{ +public: + Token(int tType, string tString); + ~Token(); + int tokenType; /* currently can be END_LINE, PLAINSTRING, or COMMAND */ + string tokenString; /* the data , such as param for @param*/ + string toString(); +}; + +#endif /*TOKEN_H_*/ diff --git a/Source/DoxygenTranslator/src/TokenList.cpp b/Source/DoxygenTranslator/src/TokenList.cpp new file mode 100644 index 000000000..eeec6da46 --- /dev/null +++ b/Source/DoxygenTranslator/src/TokenList.cpp @@ -0,0 +1,116 @@ +#include "TokenList.h" +#include +#include +#include +#include +#include "Token.h" +#define TOKENSPERLINE 8; //change this to change the printing behaviour of the token list +#define END_LINE 101 +#define PARAGRAPH_END 102 //not used at the moment +#define PLAINSTRING 103 +#define COMMAND 104 +using namespace std; + + +list tokenList; +list::iterator tokenListIterator; +int noisy2 = 0; +/* The tokenizer*/ + +TokenList::TokenList(string doxygenString){ + int currentIndex = 0; + //Regex whitespace("[ \t]+"); + //Regex newLine("[\n]"); + //Regex command("[@|\\]{1}[^ \t \n]+"); //the cheap solution + //Regex doxygenFluff("[/*!]+"); + int nextIndex = 0; + int isFluff = 0; + string currentWord; + while (currentIndex < doxygenString.length()){ + if(doxygenString[currentIndex] == '\n'){ + tokenList.push_back(Token(END_LINE, currentWord)); + currentIndex++; + } + while(currentIndex < doxygenString.length() && (doxygenString[currentIndex] == ' ' + || doxygenString[currentIndex]== '\t')) currentIndex ++; + if (currentIndex == doxygenString.length()) {} //do nothing since end of string was reached + else {nextIndex = currentIndex; + while (nextIndex < doxygenString.length() && (doxygenString[nextIndex] != ' ' + && doxygenString[nextIndex]!= '\t' && doxygenString[nextIndex]!= '\n')) nextIndex++; + currentWord = doxygenString.substr(currentIndex, nextIndex-currentIndex); + if(noisy2) cout << "Current Word: " << currentWord << endl; + if (currentWord[0] == '@' || currentWord[0] == '\\'){ + currentWord = currentWord.substr(1, currentWord.length()-1); + tokenList.push_back(Token(COMMAND, currentWord)); + } + else if (currentWord[0] == '\n'){ + //if ((tokenList.back()).tokenType == END_LINE){} + tokenList.push_back(Token(END_LINE, currentWord)); + + } + else if (currentWord[0] == '*' || currentWord[0] == '/' ||currentWord[0] == '!'){ + if (currentWord.length() == 1) {isFluff = 1;} + else { isFluff = 1; + for(int i = 1; i < currentWord.length(); i++){ + if (currentWord[0] != '*' && currentWord[0] != '/' && currentWord[0] != '!') isFluff = 0; + } + + } + if(!isFluff) tokenList.push_back(Token(PLAINSTRING, currentWord)); + } + + else tokenList.push_back(Token(PLAINSTRING, currentWord)); + currentIndex = nextIndex; + } + } + tokenListIterator = tokenList.begin(); +} + +Token TokenList::peek(){ + if(tokenListIterator!= tokenList.end()){ + Token returnedToken = (*tokenListIterator); + return returnedToken; + } + else + return Token(0, ""); +} + +Token TokenList::next(){ + if(tokenListIterator != tokenList.end()){ + Token returnedToken = (*tokenListIterator); + tokenListIterator++; + return (returnedToken); + } + else + return Token(0, ""); +} + +list::iterator TokenList::end(){ + return tokenList.end(); +} + +list::iterator TokenList::current(){ + return tokenListIterator; +} +void TokenList::printList(){ + list::iterator p = tokenList.begin(); + int i = 1; + int b = 0; + while (p != tokenList.end()){ + cout << (*p).toString() << " "; + b = i%TOKENSPERLINE; + if (b == 0) cout << endl; + p++; i++; + } +} + +list::iterator TokenList::iteratorCopy(){ + list::iterator p = tokenListIterator; + return p; +} +void TokenList::setIterator(list::iterator newPosition){ + tokenListIterator = newPosition; +} +TokenList:: ~TokenList(){ + tokenList.clear(); +} diff --git a/Source/DoxygenTranslator/src/TokenList.h b/Source/DoxygenTranslator/src/TokenList.h new file mode 100644 index 000000000..cc61f56e4 --- /dev/null +++ b/Source/DoxygenTranslator/src/TokenList.h @@ -0,0 +1,27 @@ +#ifndef TOKENLIST_H_ +#define TOKENLIST_H_ +#include +#include +#include +#include +#include "Token.h" +using namespace std; + +/* a small class used to represent the sequence of tokens + * that can be derived from a formatted doxygen string + */ + +class TokenList{ +public: + TokenList(string doxygenString); /* constructor takes a blob of Doxygen comment */ + ~TokenList(); + Token peek(); /* returns next token without advancing */ + Token next(); /* returns next token and advances */ + list::iterator end(); /* returns an end iterator */ + list::iterator current(); /* returns the current iterator */ + void printList(); /* prints out the sequence of tokens */ + list::iterator iteratorCopy(); /* returns a copy of the current iterator */ + void setIterator(list::iterator newPosition); /*moves up the iterator*/ +}; + +#endif /*TOKENLIST_H_*/ diff --git a/Source/DoxygenTranslator/src/TranslatorTest.cpp b/Source/DoxygenTranslator/src/TranslatorTest.cpp new file mode 100644 index 000000000..f2bb48983 --- /dev/null +++ b/Source/DoxygenTranslator/src/TranslatorTest.cpp @@ -0,0 +1,68 @@ + +#include +#include +#include +#include +#include +using namespace std; + + +/* This classes primary function is to test the basic text processing abilities of + * the Doxygen parsing class + * It is currently a little messy */ + + +int testCommandParsingFunctions = 1; +int testCodeCrawlingFunctions = 1; + + +/* Testing clearFluff(), a method to scan past all excess / * ! from beginning of + * a comment blob. Compartmentalised simply because this is a comment habit that + * differs wildly */ + +int testClearFluff(){ + + string cases[] = {"/** WORD", "/*! WORD", "/******* WORD", "///// WORD", "//! WORD", "//! WORD", "///WORD", + "/**\nWORD", "/**\n*WORD", "/** \n WORD"}; + + return 1; + + }; + +int testCCF(){ + + + + cout << "Testing getNextWord" << endl; + // Case 1: \command + string case1 = "\b word"; + string case2 = "\b word "; + string case3 = "\b word\n"; + string case4 = "\b word \n"; + string case5 = "\b word word"; + //Case 2: \command {paragraph} + + //Case 3: \command (text til end of line) + + + return 1; +} + +int testCPF(){ + // Case 1: \command + string case1 = "\b word"; + //Case 2: \command {paragraph} + + //Case 3: \command (text til end of line) + + return 1; + +} + +int main(int argc, char *argv[]){ + if(testCodeCrawlingFunctions) testCCF(); + if(testCommandParsingFunctions) testCPF(); + + + return 1; +} diff --git a/Source/DoxygenTranslator/src/TranslatorTest.h b/Source/DoxygenTranslator/src/TranslatorTest.h new file mode 100644 index 000000000..0014de718 --- /dev/null +++ b/Source/DoxygenTranslator/src/TranslatorTest.h @@ -0,0 +1,11 @@ +#ifndef TRANSLATORTEST_H_ +#define TRANSLATORTEST_H_ + +class TranslatorTest +{ +public: + TranslatorTest(); + virtual ~TranslatorTest(); +}; + +#endif /*TRANSLATORTEST_H_*/ diff --git a/Source/Makefile.am b/Source/Makefile.am index a72671305..1abe41cbd 100644 --- a/Source/Makefile.am +++ b/Source/Makefile.am @@ -88,7 +88,19 @@ eswig_SOURCES = CParse/cscanner.c \ Swig/typemap.c \ Swig/typesys.c \ Swig/warn.c \ - Swig/wrapfunc.c + Swig/wrapfunc.c \ + DoxygenTranslator/src/DoxygenEntity.h\ + DoxygenTranslator/src/DoxygenEntity.cpp\ + DoxygenTranslator/src/DoxygenParser.h\ + DoxygenTranslator/src/DoxygenParser.cpp\ + DoxygenTranslator/src/DoxygenTranslator.h\ + DoxygenTranslator/src/DoxygenTranslator.cpp\ + DoxygenTranslator/src/JavaDocConverter.h\ + DoxygenTranslator/src/JavaDocConverter.cpp\ + DoxygenTranslator/src/Token.h\ + DoxygenTranslator/src/Token.cpp\ + DoxygenTranslator/src/TokenList.h\ + DoxygenTranslator/src/TokenList.cpp bin_PROGRAMS = eswig eswig_LDADD = @SWIGLIBS@ diff --git a/Source/Modules/java.cxx b/Source/Modules/java.cxx index 5660b4885..23e233071 100644 --- a/Source/Modules/java.cxx +++ b/Source/Modules/java.cxx @@ -13,6 +13,7 @@ char cvsroot_java_cxx[] = "$Id$"; #include // for INT_MAX #include "cparse.h" #include +#include "../DoxygenTranslator/src/DoxygenTranslator.h" /* Hash type used for upcalls from C/C++ */ typedef DOH UpcallData; @@ -43,7 +44,7 @@ class JAVA:public Language { bool global_variable_flag; // Flag for when wrapping a global variable bool old_variable_names; // Flag for old style variable names in the intermediary class bool member_func_flag; // flag set when wrapping a member function - + String *imclass_name; // intermediary class name String *module_class_name; // module class name String *imclass_class_code; // intermediary class code @@ -70,7 +71,8 @@ class JAVA:public Language { String *imclass_cppcasts_code; //C++ casts up inheritance hierarchies intermediary class code String *imclass_directors; // Intermediate class director code String *destructor_call; //C++ destructor call if any - + String *structuralComments; + // Director method stuff: List *dmethods_seq; Hash *dmethods_table; @@ -87,6 +89,11 @@ class JAVA:public Language { Setline(p, Getline(n)); return p; } + /* DOXYGEN TO JAVADOC globals */ + bool doxygen_javadoc_flag; //flag for converting found doxygen to javadoc + //TODO make this bool a command line option + DoxygenTranslator doxyTranslator; + public: @@ -141,6 +148,7 @@ public: imclass_cppcasts_code(NULL), imclass_directors(NULL), destructor_call(NULL), + structuralComments(NULL), dmethods_seq(NULL), dmethods_table(NULL), n_dmethods(0), @@ -149,6 +157,7 @@ public: should be easy to implement though */ director_multiple_inheritance = 0; director_language = 1; + doxyTranslator = DoxygenTranslator(); } /* ----------------------------------------------------------------------------- @@ -202,6 +211,7 @@ public: virtual void main(int argc, char *argv[]) { + doxygen_javadoc_flag = true; SWIG_library_directory("java"); // Look for certain command line options @@ -355,6 +365,7 @@ public: imclass_imports = NewString(""); imclass_cppcasts_code = NewString(""); imclass_directors = NewString(""); + structuralComments = NewString(""); upcasts_code = NewString(""); dmethods_seq = NewList(); dmethods_table = NewHash(); @@ -432,6 +443,8 @@ public: // Start writing out the intermediary class file emitBanner(f_im); + + if (Len(package) > 0) Printf(f_im, "package %s;\n", package); @@ -482,13 +495,22 @@ public: // Start writing out the module class file emitBanner(f_module); - + //Add any structural comments to the top + if(doxygen_javadoc_flag && structuralComments){ + Printf(f_module, "%s", structuralComments); + } if (Len(package) > 0) Printf(f_module, "package %s;\n", package); if (module_imports) Printf(f_module, "%s\n", module_imports); - + + if (doxygen_javadoc_flag){ + if (Getattr(n,"DoxygenComment")){ + Printf(f_module, "/* This was generated from top() */"); + Printf(f_module, doxyTranslator.convert(Char((String *)Getattr(n,"DoxygenComment")),"JAVADOC")); + } + } if (Len(module_class_modifiers) > 0) Printf(f_module, "%s ", module_class_modifiers); Printf(f_module, "%s ", module_class_name); @@ -921,7 +943,7 @@ public: Delete(c_param_type); Delete(arg); } - + Printv(f->code, nondir_args, NIL); Delete(nondir_args); @@ -1135,6 +1157,7 @@ public: return ret; } + /* ---------------------------------------------------------------------- * enumDeclaration() * @@ -1205,7 +1228,15 @@ public: // Add extra indentation Replaceall(enum_code, "\n", "\n "); Replaceall(enum_code, " \n", "\n"); + //translate and write javadoc comment if flagged + if (doxygen_javadoc_flag){ + if (Getattr(n,"DoxygenComment")){ + Printv(proxy_class_constants_code, "/* This was generated from enumvalueDeclaration */", NIL ); + Printv(proxy_class_constants_code, doxyTranslator.convert(Char((const String *)Getattr(n,"DoxygenComment")),"JAVADOC"), NIL); + } + } + Printv(proxy_class_constants_code, " ", enum_code, "\n\n", NIL); } else { // Global enums are defined in their own file @@ -1267,7 +1298,14 @@ public: tmpValue = NewString(name); // Note that this is used in enumValue() amongst other places Setattr(n, "value", tmpValue); - + + //translate and write javadoc comment if flagged + if (doxygen_javadoc_flag){ + if (Getattr(n,"DoxygenComment")){ + Printf(enum_code, "/* This was generated from enumvalueDeclaration() */" ); + Printf(enum_code, doxyTranslator.convert(Char((String *)Getattr(n,"DoxygenComment")),"JAVADOC")); + } + } { EnumFeature enum_feature = decodeEnumFeature(parentNode(n)); @@ -1326,6 +1364,21 @@ public: return SWIG_OK; } + /* ----------------------------------------------------------------------- + * doxygenComment() + * Simply translates the doxygen comment and places it into the appropriate + * file + * ------------------------------------------------------------------------ */ + virtual int doxygenComment(Node *n){ + if (doxygen_javadoc_flag){ + if (Getattr(n,"DoxygenComment")){ + Printv(structuralComments, "/* This was generated from doxygenComment() */\n", NIL); + Printv(structuralComments, doxyTranslator.convert(Char((String *)Getattr(n,"DoxygenComment")),"JAVADOC"), NIL); + } + } + return SWIG_OK; + } + /* ----------------------------------------------------------------------- * constantWrapper() * Used for wrapping constants - #define or %constant. @@ -1344,7 +1397,14 @@ public: String *tm; String *return_type = NewString(""); String *constants_code = NewString(""); - + //translate and write javadoc comment if flagged + if (doxygen_javadoc_flag){ + if (Getattr(n,"DoxygenComment")){ + Printf(constants_code, "/* This was generated from enumvalueDeclaration */\n"); + Printf(constants_code, doxyTranslator.convert(Char((String *)Getattr(n,"DoxygenComment")),"JAVADOC")); + } + } + if (!addSymbol(symname, n)) return SWIG_ERROR; @@ -1605,7 +1665,15 @@ public: // Pure Java interfaces const String *pure_interfaces = typemapLookup("javainterfaces", typemap_lookup_type, WARN_NONE); - + + //translate and write javadoc comment if flagged + if (doxygen_javadoc_flag){ + if (Getattr(n,"DoxygenComment")){ + Printv(proxy_class_def, "/* This was generated from emitProxyClassDefAndCPPCasts() */\n", NIL ); + Printv(proxy_class_def, doxyTranslator.convert(Char((String *)Getattr(n,"DoxygenComment")),"JAVADOC"), NIL); + } + } + // Start writing the proxy class Printv(proxy_class_def, typemapLookup("javaimports", typemap_lookup_type, WARN_NONE), // Import statements "\n", typemapLookup("javaclassmodifiers", typemap_lookup_type, WARN_JAVA_TYPEMAP_CLASSMOD_UNDEF), // Class modifiers @@ -1754,9 +1822,10 @@ public: // Start writing out the proxy class file emitBanner(f_proxy); - if (Len(package) > 0) + if (Len(package) > 0){ + Printf(f_proxy, "LETS TEST THIS NAO THX \n\n\n"); Printf(f_proxy, "package %s;\n", package); - + } Clear(proxy_class_def); Clear(proxy_class_code); @@ -1936,7 +2005,16 @@ public: // For wrapping member variables (Javabean setter) setter_flag = (Cmp(Getattr(n, "sym:name"), Swig_name_set(Swig_name_member(proxy_class_name, variable_name))) == 0); } - + + + //translate and write javadoc comment if flagged + if (doxygen_javadoc_flag){ + if (Getattr(n,"DoxygenComment")){ + Printf(function_code, "/* This was generated from proxyclassfunctionhandler */"); + Printf(function_code, doxyTranslator.convert(Char((String *)Getattr(n,"DoxygenComment")),"JAVADOC")); + } + } + /* Start generating the proxy function */ const String *methodmods = Getattr(n, "feature:java:methodmodifiers"); methodmods = methodmods ? methodmods : (is_public(n) ? public_string : protected_string); @@ -2158,7 +2236,15 @@ public: tm = Getattr(n, "tmap:jtype"); // typemaps were attached earlier to the node Printf(im_return_type, "%s", tm); - + + //translate and write javadoc comment if flagged + if (doxygen_javadoc_flag){ + if (Getattr(n,"DoxygenComment")){ + Printf(function_code, "/* This was generated from constructionhandler */\n" ); + Printf(function_code, doxyTranslator.convert(Char((String *)Getattr(n,"DoxygenComment")),"JAVADOC")); + } + } + Printf(function_code, " %s %s(", methodmods, proxy_class_name); Printf(helper_code, " static private %s SwigConstruct%s(", im_return_type, proxy_class_name); @@ -2419,6 +2505,14 @@ public: bool setter_flag = false; String *pre_code = NewString(""); String *post_code = NewString(""); + + //translate and write javadoc comment if flagged + if (doxygen_javadoc_flag){ + if (Getattr(n,"DoxygenComment")){ + Printf(function_code, "/* This was generated from moduleClassFunctionHandler() */\n" ); + Printf(function_code, doxyTranslator.convert(Char((String *)Getattr(n,"DoxygenComment")),"JAVADOC")); + } + } if (l) { if (SwigType_type(Getattr(l, "type")) == T_VOID) { @@ -2814,6 +2908,7 @@ public: const String *pure_baseclass = typemapLookup("javabase", type, WARN_NONE); const String *pure_interfaces = typemapLookup("javainterfaces", type, WARN_NONE); + // Emit the class Printv(swigtype, typemapLookup("javaimports", type, WARN_NONE), // Import statements "\n", typemapLookup("javaclassmodifiers", type, WARN_JAVA_TYPEMAP_CLASSMOD_UNDEF), // Class modifiers diff --git a/Source/Modules/lang.cxx b/Source/Modules/lang.cxx index 4a7bf8813..368dc2c85 100644 --- a/Source/Modules/lang.cxx +++ b/Source/Modules/lang.cxx @@ -132,6 +132,12 @@ int Dispatcher::emit_one(Node *n) { ret = namespaceDeclaration(n); } else if (strcmp(tag, "template") == 0) { ret = templateDeclaration(n); + } + /* =============================================================== + * Doxygen Comment + * =============================================================== */ + else if (strcmp(tag, "doxycomm") == 0) { + ret = doxygenComment(n); } /* =============================================================== @@ -296,7 +302,9 @@ int Dispatcher::usingDeclaration(Node *n) { int Dispatcher::namespaceDeclaration(Node *n) { return defaultHandler(n); } - +int Dispatcher::doxygenComment(Node *n){ + return defaultHandler(n); +} /* Allocators */ Language::Language(): @@ -2817,6 +2825,17 @@ int Language::usingDeclaration(Node *n) { /* Stubs. Language modules need to implement these */ +/* ---------------------------------------------------------------------- + * Language::doxygenComment() + * ---------------------------------------------------------------------- */ +int Language::doxygenComment(Node *n){ + + String *comment = Getattr(n, "comment"); + + return SWIG_OK; + +} + /* ---------------------------------------------------------------------- * Language::constantWrapper() * ---------------------------------------------------------------------- */ diff --git a/Source/Modules/swigmod.h b/Source/Modules/swigmod.h index 5835c6362..03892e4f6 100644 --- a/Source/Modules/swigmod.h +++ b/Source/Modules/swigmod.h @@ -82,6 +82,9 @@ public: virtual int typemapcopyDirective(Node *n); virtual int typesDirective(Node *n); + /* Doxygen Comment */ + virtual int doxygenComment(Node *n); + /* C/C++ parsing */ virtual int cDeclaration(Node *n); @@ -159,6 +162,9 @@ public: virtual int namespaceDeclaration(Node *n); virtual int usingDeclaration(Node *n); + /* C/C++ parsing */ + virtual int doxygenComment(Node *n); + /* Function handlers */ virtual int functionHandler(Node *n); diff --git a/Tools/config/config.guess b/Tools/config/config.guess index 396482d6c..278f9e9e0 100755 --- a/Tools/config/config.guess +++ b/Tools/config/config.guess @@ -4,7 +4,7 @@ # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. -timestamp='2006-07-02' +timestamp='2007-07-22' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -161,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched @@ -329,7 +330,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; - i86pc:SunOS:5.*:*) + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) @@ -780,7 +781,7 @@ EOF i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; - i*:MINGW*:*) + *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) @@ -790,12 +791,15 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - x86:Interix*:[3456]*) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T:Interix*:[3456]*) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; @@ -950,6 +954,9 @@ EOF x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; + xtensa:Linux:*:*) + echo xtensa-unknown-linux-gnu + exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent @@ -1208,6 +1215,15 @@ EOF SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; diff --git a/Tools/config/config.sub b/Tools/config/config.sub index fab0aa355..1761d8bdf 100755 --- a/Tools/config/config.sub +++ b/Tools/config/config.sub @@ -4,7 +4,7 @@ # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. -timestamp='2006-09-20' +timestamp='2007-06-28' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -245,12 +245,12 @@ case $basic_machine in | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ + | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore \ + | maxq | mb | microblaze | mcore | mep \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -324,7 +324,7 @@ case $basic_machine in | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ @@ -475,8 +475,8 @@ case $basic_machine in basic_machine=craynv-cray os=-unicosmp ;; - cr16c) - basic_machine=cr16c-unknown + cr16) + basic_machine=cr16-unknown os=-elf ;; crds | unos) @@ -683,6 +683,10 @@ case $basic_machine in basic_machine=i386-pc os=-mingw32 ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; miniframe) basic_machine=m68000-convergent ;; @@ -925,6 +929,9 @@ case $basic_machine in basic_machine=sh-hitachi os=-hms ;; + sh5el) + basic_machine=sh5le-unknown + ;; sh64) basic_machine=sh64-unknown ;; @@ -1219,7 +1226,7 @@ case $os in | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1414,6 +1421,9 @@ case $basic_machine in m68*-cisco) os=-aout ;; + mep-*) + os=-elf + ;; mips*-cisco) os=-elf ;;