commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r7444 - in gnuradio/branches/developers/eb/firas-docs/


From: eb
Subject: [Commit-gnuradio] r7444 - in gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc: . other
Date: Tue, 15 Jan 2008 20:04:10 -0700 (MST)

Author: eb
Date: 2008-01-15 20:04:10 -0700 (Tue, 15 Jan 2008)
New Revision: 7444

Added:
   gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/other/doxypy.py
Modified:
   gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/Doxyfile.in
   
gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/other/Makefile.am
   
gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/other/group_defs.dox
Log:
Applied minor variant on Firas's doc patches.  Enabled parsing of *.py file by 
doxygen\!

Modified: 
gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/Doxyfile.in
===================================================================
--- gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/Doxyfile.in    
2008-01-15 22:05:46 UTC (rev 7443)
+++ gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/Doxyfile.in    
2008-01-16 03:04:10 UTC (rev 7444)
@@ -1,4 +1,4 @@
-# Doxyfile 1.4.1
+# Doxyfile 1.5.3
 
 # This file describes the settings to be used by the documentation system
 # doxygen (www.doxygen.org) for a project
@@ -14,6 +14,14 @@
 # Project related configuration options
 #---------------------------------------------------------------------------
 
+# This tag specifies the encoding used for all characters in the config file 
that 
+# follow. The default is UTF-8 which is also the encoding used for all text 
before 
+# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built 
into 
+# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the 
list of 
+# possible encodings.
+
+DOXYFILE_ENCODING      = UTF-8
+
 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
 # by quotes) that should identify the project.
 
@@ -45,24 +53,14 @@
 # documentation generated by doxygen is written. Doxygen will use this 
 # information to generate all constant output in the proper language. 
 # The default language is English, other supported languages are: 
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, 
-# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, 
-# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, 
-# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, 
-# Swedish, and Ukrainian.
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
+# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, 
+# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, 
+# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, 
+# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
 
 OUTPUT_LANGUAGE        = English
 
-# This tag can be used to specify the encoding used in the generated output. 
-# The encoding is not always determined by the language that is chosen, 
-# but also whether or not the output is meant for Windows or non-Windows 
users. 
-# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES 
-# forces the Windows encoding (this is the default for the Windows binary), 
-# whereas setting the tag to NO uses a Unix-style encoding (the default for 
-# all platforms other than Windows).
-
-USE_WINDOWS_ENCODING   = NO
-
 # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
 # include brief member descriptions after the members that are listed in 
 # the file and class documentation (similar to JavaDoc). 
@@ -135,11 +133,19 @@
 # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
 # will interpret the first line (until the first dot) of a JavaDoc-style 
 # comment as the brief description. If set to NO, the JavaDoc 
-# comments will behave just like the Qt-style comments (thus requiring an 
-# explicit @brief command for a brief description.
+# comments will behave just like regular Qt-style comments 
+# (thus requiring an explicit @brief command for a brief description.)
 
 JAVADOC_AUTOBRIEF      = NO
 
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
+# interpret the first line (until the first dot) of a Qt-style 
+# comment as the brief description. If set to NO, the comments 
+# will behave just like regular Qt-style comments (thus requiring 
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF           = NO
+
 # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
 # treat a multi-line C++ special comment block (i.e. a block of //! or /// 
 # comments) as a brief description. This used to be the default behaviour. 
@@ -161,12 +167,11 @@
 
 INHERIT_DOCS           = YES
 
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# tag is set to YES, then doxygen will reuse the documentation of the first 
-# member in the group (if any) for the other members of the group. By default 
-# all members of a group must be documented explicitly.
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
+# a new page for each member. If set to NO, the documentation of a member will 
+# be part of the file/class/namespace that contains it.
 
-DISTRIBUTE_GROUP_DOC   = NO
+SEPARATE_MEMBER_PAGES  = NO
 
 # The TAB_SIZE tag can be used to set the number of spaces in a tab. 
 # Doxygen uses this value to replace tabs by spaces in code fragments.
@@ -189,13 +194,34 @@
 
 OPTIMIZE_OUTPUT_FOR_C  = NO
 
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
sources 
-# only. Doxygen will then generate output that is more tailored for Java. 
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
+# sources only. Doxygen will then generate output that is more tailored for 
Java. 
 # For instance, namespaces will be presented as packages, qualified scopes 
 # will look different, etc.
 
 OPTIMIZE_OUTPUT_JAVA   = NO
 
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
to 
+# include (a tag file for) the STL sources as input, then you should 
+# set this tag to YES in order to let doxygen match functions declarations and 
+# definitions whose arguments contain STL classes (e.g. func(std::string); 
v.s. 
+# func(std::string) {}). This also make the inheritance and collaboration 
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT    = YES
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT        = NO
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
 # Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
 # the same type (for instance a group of public functions) to be put as a 
 # subgroup of that type (e.g. under the Public Functions section). Set it to 
@@ -238,6 +264,13 @@
 
 EXTRACT_LOCAL_METHODS  = NO
 
+# If this flag is set to YES, the members of anonymous namespaces will be 
extracted 
+# and appear in the documentation as a namespace called 
'anonymous_namespace{file}', 
+# where file will be replaced with the base name of the file that contains the 
anonymous 
+# namespace. By default anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES   = NO
+
 # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
 # undocumented members of documented classes, files or namespaces. 
 # If set to NO (the default) these members will be included in the 
@@ -370,17 +403,16 @@
 
 # If the sources in your project are distributed over multiple directories 
 # then setting the SHOW_DIRECTORIES tag to YES will show the directory 
hierarchy 
-# in the documentation.
+# in the documentation. The default is NO.
 
-# -eb
-SHOW_DIRECTORIES       = NO
+SHOW_DIRECTORIES       = YES
 
 # The FILE_VERSION_FILTER tag can be used to specify a program or script that 
 # doxygen should invoke to get the current version for each file (typically 
from the 
 # version control system). Doxygen will invoke the program by executing (via 
 # popen()) the command <command> <input-file>, where <command> is the value of 
 # the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
-# provided by doxygen. Whatever the progam writes to standard output 
+# provided by doxygen. Whatever the program writes to standard output 
 # is used as the file version. See the manual for examples.
 
 FILE_VERSION_FILTER    = 
@@ -428,7 +460,7 @@
 # $version, which will be replaced by the version of the file (if it could 
 # be obtained via FILE_VERSION_FILTER)
 
-WARN_FORMAT            = "$file:$line: $text"
+WARN_FORMAT            = "$file:$line: $text  "
 
 # The WARN_LOGFILE tag can be used to specify a file to which warning 
 # and error messages should be written. If left blank the output is written 
@@ -447,16 +479,23 @@
 
 INPUT                  = @top_srcdir@
 
+# This tag can be used to specify the character encoding of the source files 
that 
+# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also 
the default 
+# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the 
transcoding. 
+# See http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+INPUT_ENCODING         = UTF-8
+
 # If the value of the INPUT tag contains directories, you can use the 
 # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
 # and *.h) to filter out the source-files in the directories. If left 
 # blank the following patterns are tested: 
 # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh 
*.hxx 
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
 
 FILE_PATTERNS          = *.h \
-                         *.cc \
-                         *.dox
+                         *.dox \
+                         *.py
 
 # The RECURSIVE tag can be used to turn specify whether or not subdirectories 
 # should be searched for input files as well. Possible values are YES and NO. 
@@ -468,29 +507,89 @@
 # excluded from the INPUT source files. This way you can easily exclude a 
 # subdirectory from a directory tree whose root is specified with the INPUT 
tag.
 
-EXCLUDE                = CVS .svn .libs .deps \
-                        
@top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_filter.cc \
-                        
@top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_general.cc \
-                        
@top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_gengen.cc \
-                        
@top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_io.cc \
-                        
@top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_runtime.cc \
-                        @top_builddir@/gr-atsc/src/lib/atsc.cc \
-                        @top_builddir@/gr-audio-alsa/src/audio_alsa.cc \
-                        @top_builddir@/gr-audio-jack/src/audio_jack.cc \
-                        @top_builddir@/gr-audio-oss/src/audio_oss.cc \
-                        @top_builddir@/gr-audio-osx/src/audio_osx.cc \
-                        
@top_builddir@/gr-audio-portaudio/src/audio_portaudio.cc \
-                        @top_builddir@/gr-audio-windows/src/audio_windows.cc \
-                        @top_builddir@/gr-comedi/src/comedi.cc \
-                        
@top_builddir@/gr-gsm-fr-vocoder/src/lib/gsm_full_rate.cc \
-                        @top_builddir@/gr-howto-write-a-block/src/lib/howto.cc 
\
-                        @top_builddir@/gr-pager/src/pager_swig.cc \
-                        @top_builddir@/gr-radio-astronomy/src/lib/ra.cc \
-                        @top_builddir@/gr-trellis/src/lib/trellis.cc \
-                        @top_builddir@/gr-usrp/src/usrp1.cc \
-                        @top_builddir@/gr-video-sdl/src/video_sdl.cc
-                        @top_srcdir@/usrp
+# We split these by top_srcdir and top_builddir (this matters in a VPATH build)
 
+EXCLUDE  = \
+       
@abs_top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_filter.cc \
+       
@abs_top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_filter.py \
+       
@abs_top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_general.cc \
+       
@abs_top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_general.py \
+       
@abs_top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_gengen.cc \
+       
@abs_top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_gengen.py \
+       @abs_top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_io.cc \
+       @abs_top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_io.py \
+       
@abs_top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_runtime.cc \
+       
@abs_top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_py_runtime.py \
+       @abs_top_builddir@/gnuradio-core/src/lib/swig/gnuradio_swig_python.py \
+       @abs_top_builddir@/gr-atsc/src/lib/atsc.cc \
+       @abs_top_builddir@/gr-atsc/src/lib/atsc.py \
+       @abs_top_builddir@/gr-audio-oss/src/audio_oss.py \
+       @abs_top_builddir@/gr-audio-osx/src/test_audio_loop.py \
+       @abs_top_builddir@/gr-cvsd-vocoder/src/lib/cvsd_vocoder.py \    
+       @abs_top_builddir@/gr-cvsd-vocoder/src/python/encdec.py \       
+       @abs_top_builddir@/gr-gsm-fr-vocoder/src/lib/gsm \
+       @abs_top_builddir@/gr-gsm-fr-vocoder/src/lib/gsm_full_rate.py \ 
+       @abs_top_builddir@/gr-gsm-fr-vocoder/src/python/encdec.py \     
+       @abs_top_builddir@/gr-pager/src/pager_swig.py \
+       @abs_top_builddir@/gr-radar-mono/src/python/usrp_radar_mono.py \
+       @abs_top_builddir@/gr-trellis/src/lib/trellis.py \
+       @abs_top_builddir@/gr-usrp/src/usrp1.py \
+       @abs_top_builddir@/gr-video-sdl/src/video_sdl.py \
+       @abs_top_builddir@/usrp/host/swig \
+       @abs_top_srcdir@/docs \
+       @abs_top_srcdir@/dtools \
+       @abs_top_srcdir@/gnuradio-core/doc/doxypy/doxypy.py \
+       @abs_top_srcdir@/gnuradio-core/doc/xml \
+       @abs_top_srcdir@/gnuradio-core/src/lib/bug_work_around_6.cc \
+       @abs_top_srcdir@/gnuradio-core/src/lib/filter/assembly.h \
+       @abs_top_srcdir@/gnuradio-core/src/lib/filter/generate_all.py \
+       @abs_top_srcdir@/gnuradio-core/src/lib/filter/generate_gr_fir_XXX.py \
+       
@abs_top_srcdir@/gnuradio-core/src/lib/filter/generate_gr_fir_filter_XXX.py \
+       
@abs_top_srcdir@/gnuradio-core/src/lib/filter/generate_gr_fir_sysconfig.py \
+       
@abs_top_srcdir@/gnuradio-core/src/lib/filter/generate_gr_fir_sysconfig_generic.py
 \
+       @abs_top_srcdir@/gnuradio-core/src/lib/filter/generate_gr_fir_util.py \
+       
@abs_top_srcdir@/gnuradio-core/src/lib/filter/generate_gr_freq_xlating_fir_filter_XXX.py
 \
+       
@abs_top_srcdir@/gnuradio-core/src/lib/filter/generate_gr_interp_fir_filter_XXX.py
 \
+       
@abs_top_srcdir@/gnuradio-core/src/lib/filter/generate_gr_rational_resampler_base_XXX.py
 \
+       @abs_top_srcdir@/gnuradio-core/src/lib/filter/generate_utils.py \
+       @abs_top_srcdir@/gnuradio-core/src/lib/filter/sse_debug.h \
+       @abs_top_srcdir@/gnuradio-core/src/lib/gengen/generate_all.py \
+       @abs_top_srcdir@/gnuradio-core/src/lib/gengen/generate_common.py \
+       @abs_top_srcdir@/gnuradio-core/src/lib/missing/bug_work_around_8.cc \
+       @abs_top_srcdir@/gnuradio-core/src/lib/runtime/gr_error_handler.cc \
+       @abs_top_srcdir@/gnuradio-core/src/python/bin \
+       @abs_top_srcdir@/gnuradio-core/src/python/build_utils.py \
+       @abs_top_srcdir@/gnuradio-core/src/python/build_utils_codes.py \
+       @abs_top_srcdir@/gnuradio-core/src/python/gnuradio/gr/gr_threading.py \
+       
@abs_top_srcdir@/gnuradio-core/src/python/gnuradio/gr/gr_threading_23.py \
+       
@abs_top_srcdir@/gnuradio-core/src/python/gnuradio/gr/gr_threading_24.py \
+       @abs_top_srcdir@/gnuradio-core/src/tests \
+       @abs_top_srcdir@/gnuradio-core/src/utils \
+       @abs_top_srcdir@/gr-atsc/src/lib/gen_encoder.py \
+       @abs_top_srcdir@/gr-atsc/src/python \
+       @abs_top_srcdir@/gr-howto-write-a-block \
+       @abs_top_srcdir@/gr-qtgui \
+       @abs_top_srcdir@/gr-sounder/src/python/usrp_sounder.py \
+       @abs_top_srcdir@/gr-trellis/doc \
+       @abs_top_srcdir@/gr-trellis/src/lib/generate_all.py \
+       @abs_top_srcdir@/gr-trellis/src/lib/generate_trellis.py \
+       @abs_top_srcdir@/usrp/doc \
+       @abs_top_srcdir@/usrp/firmware \
+       @abs_top_srcdir@/usrp/fpga \
+       @abs_top_srcdir@/usrp/host/apps \
+       @abs_top_srcdir@/usrp/host/apps-inband \
+       @abs_top_srcdir@/usrp/host/lib/inband \
+       @abs_top_srcdir@/usrp/host/lib/legacy/ad9862.h \
+       @abs_top_srcdir@/usrp/host/lib/legacy/check_data.py \
+       @abs_top_srcdir@/usrp/host/lib/legacy/circular_buffer.h \
+       @abs_top_srcdir@/usrp/host/lib/legacy/circular_linked_list.h \
+       @abs_top_srcdir@/usrp/host/lib/legacy/dump_data.py \
+       @abs_top_srcdir@/usrp/host/lib/legacy/gen_usrp_dbid.py \
+       @abs_top_srcdir@/usrp/host/lib/legacy/usrp_dbid.py \
+       @abs_top_srcdir@/usrp/host/misc \
+       @abs_top_srcdir@/usrp/host/swig
+
+
 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
 # directories that are symbolic links (a Unix filesystem feature) are excluded 
 # from the input.
@@ -499,10 +598,34 @@
 
 # If the value of the INPUT tag contains directories, you can use the 
 # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
-# certain files from those directories.
+# certain files from those directories. Note that the wildcards are matched 
+# against the file with absolute path, so to exclude all test directories 
+# for example use the pattern */test/*
 
-EXCLUDE_PATTERNS       = moc_*.cc
+EXCLUDE_PATTERNS       = \
+       */.deps/* \
+       */.libs/* \
+       */.svn/* \
+       */CVS/* \
+       */__init__.py \
+       */gr-atsc/src/lib/Gr* \
+       */moc_*.cc \
+       */omnithread/ot_* \
+       */qa_*.cc \
+       */qa_*.h \
+       */qa_*.py
 
+
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
+# (namespaces, classes, functions, etc.) that should be excluded from the 
output. 
+# The symbol name can be a fully qualified name, a word, or if the wildcard * 
is used, 
+# a substring. Examples: ANamespace, AClass, AClass::ANamespace, 
ANamespace::*Test
+
+EXCLUDE_SYMBOLS        = ad9862 \
+                       numpy \
+                       usrpm
+
 # The EXAMPLE_PATH tag can be used to specify one or more files or 
 # directories that contain example code fragments that are included (see 
 # the \include command).
@@ -546,13 +669,14 @@
 # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
 # is applied to all files.
 
-FILTER_PATTERNS        = 
+FILTER_PATTERNS        = address@hidden@/gnuradio-core/doc/other/doxypy.py
+               
 
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
 # INPUT_FILTER) will be used to filter the input files when producing source 
 # files to browse (i.e. when SOURCE_BROWSER is set to YES).
 
-FILTER_SOURCE_FILES    = NO
+FILTER_SOURCE_FILES    = YES
 
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
@@ -561,7 +685,9 @@
 # If the SOURCE_BROWSER tag is set to YES then a list of source files will 
 # be generated. Documented entities will be cross-referenced with these 
sources. 
 # Note: To get rid of all source code in the generated output, make sure also 
-# VERBATIM_HEADERS is set to NO.
+# VERBATIM_HEADERS is set to NO. If you have enabled CALL_GRAPH or 
CALLER_GRAPH 
+# then you must also enable this option. If you don't then doxygen will 
produce 
+# a warning and turn it on anyway
 
 SOURCE_BROWSER         = NO
 
@@ -588,6 +714,21 @@
 
 REFERENCES_RELATION    = YES
 
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.  Otherwise they will link to the documentstion.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code 
+# will point to the HTML generated by the htags(1) tool instead of doxygen 
+# built-in source browser. The htags tool is part of GNU's global source 
+# tagging system (see http://www.gnu.org/software/global/global.html). You 
+# will need version 4.8.6 or higher.
+
+USE_HTAGS              = NO
+
 # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
 # will generate a verbatim copy of the header file for each class for 
 # which an include is specified. Set to NO to disable this.
@@ -672,6 +813,14 @@
 
 GENERATE_HTMLHELP      = NO
 
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 
+# documentation will contain sections that can be hidden and shown after the 
+# page has loaded. For this to work a browser that supports 
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS  = NO
+
 # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
 # be used to specify the file name of the resulting .chm file. You 
 # can add a path in front of the file if the result should not be 
@@ -736,7 +885,6 @@
 # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
 # generate Latex output.
 
-# -eb
 GENERATE_LATEX         = NO
 
 # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
@@ -884,7 +1032,7 @@
 # generate an XML file that captures the structure of 
 # the code including all documentation.
 
-GENERATE_XML           = YES
+GENERATE_XML           = NO
 
 # The XML_OUTPUT tag is used to specify where the XML pages will be put. 
 # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
@@ -909,7 +1057,6 @@
 # and cross-referencing information) to the XML output. Note that 
 # enabling this will significantly increase the size of the XML output.
 
-# -eb
 XML_PROGRAMLISTING     = NO
 
 #---------------------------------------------------------------------------
@@ -976,7 +1123,7 @@
 
 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
 # then the macro expansion is limited to the macros specified with the 
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+# PREDEFINED and EXPAND_AS_DEFINED tags.
 
 EXPAND_ONLY_PREDEF     = NO
 
@@ -1079,6 +1226,14 @@
 
 CLASS_DIAGRAMS         = YES
 
+# You can define message sequence charts within doxygen comments using the 
\msc 
+# command. Doxygen will then run the mscgen tool (see 
http://www.mcternan.me.uk/mscgen/) to 
+# produce the chart and insert it in the documentation. The MSCGEN_PATH tag 
allows you to 
+# specify the directory where the mscgen tool resides. If left empty the tool 
is assumed to 
+# be found in the default search path.
+
+MSCGEN_PATH            = 
+
 # If set to YES, the inheritance and collaboration graphs will hide 
 # inheritance and usage relations if the target is undocumented 
 # or is not a class.
@@ -1136,7 +1291,7 @@
 
 INCLUDED_BY_GRAPH      = YES
 
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
+# If the CALL_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then 
doxygen will 
 # generate a call dependency graph for every global function or class method. 
 # Note that enabling this option will significantly increase the time of a 
run. 
 # So in most cases it will be better to enable call graphs for selected 
@@ -1144,6 +1299,14 @@
 
 CALL_GRAPH             = NO
 
+# If the CALLER_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then 
doxygen will 
+# generate a caller dependency graph for every global function or class 
method. 
+# Note that enabling this option will significantly increase the time of a 
run. 
+# So in most cases it will be better to enable caller graphs for selected 
+# functions only using the \callergraph command.
+
+CALLER_GRAPH           = NO
+
 # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
 # will graphical hierarchy of all classes instead of a textual one.
 
@@ -1173,31 +1336,23 @@
 
 DOTFILE_DIRS           = 
 
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
-# this value, doxygen will try to truncate the graph, so that it fits within 
-# the specified constraint. Beware that most browsers cannot cope with very 
-# large images.
+# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
+# nodes that will be shown in the graph. If the number of nodes in a graph 
+# becomes larger than this value, doxygen will truncate the graph, which is 
+# visualized by representing a node as a red box. Note that doxygen if the 
number 
+# of direct children of the root node in a graph is already larger than 
+# MAX_DOT_GRAPH_NOTES then the graph will not be shown at all. Also note 
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
 
-MAX_DOT_GRAPH_WIDTH    = 1024
+DOT_GRAPH_MAX_NODES    = 50
 
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
-# this value, doxygen will try to truncate the graph, so that it fits within 
-# the specified constraint. Beware that most browsers cannot cope with very 
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT   = 1024
-
 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
 # graphs generated by dot. A depth value of 3 means that only nodes reachable 
 # from the root by following a path via at most 3 edges will be shown. Nodes 
 # that lay further from the root node will be omitted. Note that setting this 
 # option to 1 or 2 may greatly reduce the computation time needed for large 
-# code bases. Also note that a graph may be further truncated if the graph's 
-# image dimensions are not sufficient to fit the graph (see 
MAX_DOT_GRAPH_WIDTH 
-# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), 
-# the graph is not depth-constrained.
+# code bases. Also note that the size of a graph can be further restricted by 
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
 
 MAX_DOT_GRAPH_DEPTH    = 0
 
@@ -1214,7 +1369,6 @@
 # makes dot run faster, but since only newer versions of dot (>1.8.10) 
 # support this, this feature is disabled by default.
 
-# -eb
 DOT_MULTI_TARGETS      = YES
 
 # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 

Modified: 
gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/other/Makefile.am
===================================================================
--- 
gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/other/Makefile.am  
    2008-01-15 22:05:46 UTC (rev 7443)
+++ 
gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/other/Makefile.am  
    2008-01-16 03:04:10 UTC (rev 7444)
@@ -22,10 +22,11 @@
 include $(top_srcdir)/Makefile.common
 
 EXTRA_DIST = \
-       tv-channel-frequencies          \
-       vector_docstub.h                \
-       shared_ptr_docstub.h            \
-       omnithread.html                 \
-       omnithread.pdf                  \
-       omnithread.ps                   \
-       group_defs.dox                  
+       doxypy.py \
+       group_defs.dox \
+       omnithread.html \
+       omnithread.pdf \
+       omnithread.ps \
+       shared_ptr_docstub.h \
+       tv-channel-frequencies \
+       vector_docstub.h

Added: 
gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/other/doxypy.py
===================================================================
--- 
gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/other/doxypy.py    
                            (rev 0)
+++ 
gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/other/doxypy.py    
    2008-01-16 03:04:10 UTC (rev 7444)
@@ -0,0 +1,356 @@
+#!/usr/bin/env python
+
+__applicationName__ = "doxypy"
+__blurb__ = """
+doxypy is an input filter for Doxygen. It preprocesses python
+files so that docstrings of classes and functions are reformatted
+into Doxygen-conform documentation blocks.
+"""
+
+__doc__ = __blurb__ + \
+"""
+In order to make Doxygen preprocess files through doxypy, simply
+add the following lines to your Doxyfile:
+       FILTER_SOURCE_FILES = YES
+       INPUT_FILTER = "python /path/to/doxypy.py"
+"""
+
+__version__ = "0.3rc2"
+__date__ = "18th December 2007"
+__website__ = "http://code.foosel.org/doxypy";
+
+__author__ = (
+       "Philippe 'demod' Neumann (doxypy at demod dot org)",
+       "Gina 'foosel' Haeussge (gina at foosel dot net)" 
+)
+
+__licenseName__ = "GPL v2"
+__license__ = """This program is free software: you can redistribute it and/or 
modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+"""
+
+import sys
+import re
+
+from optparse import OptionParser, OptionGroup
+
+class FSM(object):
+       """     FSM implements a finite state machine. Transitions are given as
+               4-tuples, consisting of an origin state, a target state, a 
condition
+               for the transition (given as a reference to a function which 
gets called
+               with a given piece of input) and a pointer to a function to be 
called
+               upon the execution of the given transition. 
+       """
+       
+       def __init__(self, start_state=None, transitions=[]):
+               self.transitions = transitions
+               self.current_state = start_state
+               self.current_input = None
+               self.current_transition = None
+               
+       def setStartState(self, state):
+               self.current_state = state
+
+       def addTransition(self, from_state, to_state, condition, callback):
+               self.transitions.append([from_state, to_state, condition, 
callback])
+               
+       def makeTransition(self, input):
+               """ Makes a transition based on the given input.
+                       @param  input   input to parse by the FSM
+               """
+               for transition in self.transitions:
+                       [from_state, to_state, condition, callback] = transition
+                       if from_state == self.current_state:
+                               match = condition(input)
+                               if match:
+                                       self.current_state = to_state
+                                       self.current_input = input
+                                       self.current_transition = transition
+                                       callback(match)
+                                       return
+
+
+class Doxypy(object):
+       def __init__(self):
+               self.start_single_comment_re = re.compile("^\s*(''')")
+               self.end_single_comment_re = re.compile("(''')\s*$")
+               
+               self.start_double_comment_re = re.compile("^\s*(\"\"\")")
+               self.end_double_comment_re = re.compile("(\"\"\")\s*$")
+               
+               self.single_comment_re = re.compile("^\s*(''').*(''')\s*$")
+               self.double_comment_re = 
re.compile("^\s*(\"\"\").*(\"\"\")\s*$")
+               
+               self.defclass_re = re.compile("^(\s*)(def .+:|class .+:)")
+               self.empty_re = re.compile("^\s*$")
+               self.hashline_re = re.compile("^\s*#.*$")
+               self.importline_re = re.compile("^\s*(import |from .+ import)")
+
+               self.multiline_defclass_start_re = 
re.compile("^(\s*)(def|class)(\s.*)?$")
+               self.multiline_defclass_end_re = re.compile(":\s*$")
+               
+               ## Transition list format
+               #  ["FROM", "TO", condition, action]
+               transitions = [
+                       ### FILEHEAD
+                       
+                       # single line comments
+                       ["FILEHEAD", "FILEHEAD", self.single_comment_re.search, 
self.appendCommentLine],
+                       ["FILEHEAD", "FILEHEAD", self.double_comment_re.search, 
self.appendCommentLine],
+                       
+                       # multiline comments
+                       ["FILEHEAD", "FILEHEAD_COMMENT_SINGLE", 
self.start_single_comment_re.search, self.appendCommentLine],
+                       ["FILEHEAD_COMMENT_SINGLE", "FILEHEAD", 
self.end_single_comment_re.search, self.appendCommentLine],
+                       ["FILEHEAD_COMMENT_SINGLE", "FILEHEAD_COMMENT_SINGLE", 
self.catchall, self.appendCommentLine],
+                       ["FILEHEAD", "FILEHEAD_COMMENT_DOUBLE", 
self.start_double_comment_re.search, self.appendCommentLine],
+                       ["FILEHEAD_COMMENT_DOUBLE", "FILEHEAD", 
self.end_double_comment_re.search, self.appendCommentLine],
+                       ["FILEHEAD_COMMENT_DOUBLE", "FILEHEAD_COMMENT_DOUBLE", 
self.catchall, self.appendCommentLine],
+                       
+                       # other lines
+                       ["FILEHEAD", "FILEHEAD", self.empty_re.search, 
self.appendFileheadLine],
+                       ["FILEHEAD", "FILEHEAD", self.hashline_re.search, 
self.appendFileheadLine],
+                       ["FILEHEAD", "FILEHEAD", self.importline_re.search, 
self.appendFileheadLine],
+                       ["FILEHEAD", "DEFCLASS", self.defclass_re.search, 
self.resetCommentSearch],
+                       ["FILEHEAD", "DEFCLASS_MULTI", 
self.multiline_defclass_start_re.search, self.resetCommentSearch],              
         
+                       ["FILEHEAD", "DEFCLASS_BODY", self.catchall, 
self.appendFileheadLine],
+
+                       ### DEFCLASS
+                       
+                       # single line comments
+                       ["DEFCLASS", "DEFCLASS_BODY", 
self.single_comment_re.search, self.appendCommentLine],
+                       ["DEFCLASS", "DEFCLASS_BODY", 
self.double_comment_re.search, self.appendCommentLine],
+                       
+                       # multiline comments
+                       ["DEFCLASS", "COMMENT_SINGLE", 
self.start_single_comment_re.search, self.appendCommentLine],
+                       ["COMMENT_SINGLE", "DEFCLASS_BODY", 
self.end_single_comment_re.search, self.appendCommentLine],
+                       ["COMMENT_SINGLE", "COMMENT_SINGLE", self.catchall, 
self.appendCommentLine],
+                       ["DEFCLASS", "COMMENT_DOUBLE", 
self.start_double_comment_re.search, self.appendCommentLine],
+                       ["COMMENT_DOUBLE", "DEFCLASS_BODY", 
self.end_double_comment_re.search, self.appendCommentLine],
+                       ["COMMENT_DOUBLE", "COMMENT_DOUBLE", self.catchall, 
self.appendCommentLine],
+
+                       # other lines
+                       ["DEFCLASS", "DEFCLASS", self.empty_re.search, 
self.appendDefclassLine],
+                       ["DEFCLASS", "DEFCLASS", self.defclass_re.search, 
self.resetCommentSearch],
+                       ["DEFCLASS", "DEFCLASS_BODY", self.catchall, 
self.stopCommentSearch],
+                       
+                       ### DEFCLASS_BODY
+                       
+                       ["DEFCLASS_BODY", "DEFCLASS", self.defclass_re.search, 
self.startCommentSearch],
+                       ["DEFCLASS_BODY", "DEFCLASS_MULTI", 
self.multiline_defclass_start_re.search, self.startCommentSearch],
+                       ["DEFCLASS_BODY", "DEFCLASS_BODY", self.catchall, 
self.appendNormalLine],
+
+                       ### DEFCLASS_MULTI
+                       ["DEFCLASS_MULTI", "DEFCLASS", 
self.multiline_defclass_end_re.search, self.appendDefclassLine],
+                       ["DEFCLASS_MULTI", "DEFCLASS_MULTI", self.catchall, 
self.appendDefclassLine],
+               ]
+               
+               self.fsm = FSM("FILEHEAD", transitions)
+               
+               self.output = []
+               
+               self.comment = []
+               self.filehead = []
+               self.defclass = []
+               self.indent = ""
+
+       def __closeComment(self):
+               """ Appends any open comment block and triggering block to the 
output. """
+               
+               if options.autobrief:
+                       if len(self.comment) == 1 \
+                       or (len(self.comment) > 2 and self.comment[1].strip() 
== ''):
+                               self.comment[0] = 
self.__docstringSummaryToBrief(self.comment[0])
+                       
+               if self.comment:
+                       block = self.makeCommentBlock()
+                       self.output.extend(block)
+                       
+               if self.defclass:
+                       self.output.extend(self.defclass)
+
+       def __docstringSummaryToBrief(self, line):
+               """     Adds \\brief to the docstrings summary line.
+               
+                       A \\brief is prepended, provided no other doxygen 
command is at the start of the line.
+               """
+               stripped = line.strip()
+               if stripped and not stripped[0] in ('@', '\\'):
+                       return "\\brief " + line
+               else:
+                       return line
+
+       def catchall(self, input):
+               """     The catchall-condition, always returns true. """
+               return True
+       
+       def resetCommentSearch(self, match):
+               """ Restarts a new comment search for a different triggering 
line.
+                       Closes the current commentblock and starts a new 
comment search.
+               """
+               self.__closeComment()
+               self.startCommentSearch(match)
+       
+       def startCommentSearch(self, match):
+               """ Starts a new comment search.
+                       Saves the triggering line, resets the current comment 
and saves
+                       the current indentation.
+               """
+               self.defclass = [self.fsm.current_input]
+               self.comment = []
+               self.indent = match.group(1)
+       
+       def stopCommentSearch(self, match):
+               """ Stops a comment search.
+                       Closes the current commentblock, resets the triggering 
line and
+                       appends the current line to the output.
+               """
+               self.__closeComment()
+               
+               self.defclass = []
+               self.output.append(self.fsm.current_input)
+       
+       def appendFileheadLine(self, match):
+               """     Appends a line in the FILEHEAD state.
+                       Closes the open comment block, resets it and appends 
the current line.
+               """ 
+               self.__closeComment()
+               self.comment = []
+               self.output.append(self.fsm.current_input)
+
+       def appendCommentLine(self, match):
+               """     Appends a comment line.
+                       The comment delimiter is removed from multiline start 
and ends as
+                       well as singleline comments.
+               """
+               (from_state, to_state, condition, callback) = 
self.fsm.current_transition
+               
+               # single line comment
+               if (from_state == "DEFCLASS" and to_state == "DEFCLASS_BODY") \
+               or (from_state == "FILEHEAD" and to_state == "FILEHEAD"):
+                       # remove comment delimiter from begin and end of the 
line
+                       activeCommentDelim = match.group(1)
+                       line = self.fsm.current_input
+                       
self.comment.append(line[line.find(activeCommentDelim)+len(activeCommentDelim):line.rfind(activeCommentDelim)])
+
+                       if (to_state == "DEFCLASS_BODY"):
+                               self.__closeComment()
+                               self.defclass = []
+               # multiline start
+               elif from_state == "DEFCLASS" or from_state == "FILEHEAD":
+                       # remove comment delimiter from begin of the line
+                       activeCommentDelim = match.group(1)
+                       line = self.fsm.current_input
+                       
self.comment.append(line[line.find(activeCommentDelim)+len(activeCommentDelim):])
+               # multiline end
+               elif to_state == "DEFCLASS_BODY" or to_state == "FILEHEAD":
+                       # remove comment delimiter from end of the line
+                       activeCommentDelim = match.group(1)
+                       line = self.fsm.current_input
+                       
self.comment.append(line[0:line.rfind(activeCommentDelim)])
+                       if (to_state == "DEFCLASS_BODY"):
+                               self.__closeComment()
+                               self.defclass = []
+               # in multiline comment
+               else:
+                       # just append the comment line
+                       self.comment.append(self.fsm.current_input)
+       
+       def appendNormalLine(self, match):
+               """ Appends a line to the output. """
+               self.output.append(self.fsm.current_input)
+               
+       def appendDefclassLine(self, match):
+               """ Appends a line to the triggering block. """
+               self.defclass.append(self.fsm.current_input)
+       
+       def makeCommentBlock(self):
+               """ Indents the current comment block with respect to the 
current
+                       indentation level.
+                       @returns a list of indented comment lines
+               """
+               doxyStart = "##"
+               commentLines = self.comment
+               
+               commentLines = map(lambda x: "%s# %s" % (self.indent, x), 
commentLines)
+               l = [self.indent + doxyStart]
+               l.extend(commentLines)
+                        
+               return l
+       
+       def parse(self, input):
+               """ Parses a python file given as input string and returns the 
doxygen-
+                       compatible representation.
+                       @param  input   the python code to parse
+                       @returns the modified python code
+               """ 
+               lines = input.split("\n")
+               
+               for line in lines:
+                       self.fsm.makeTransition(line)
+               
+               if self.fsm.current_state == "DEFCLASS":
+                       self.__closeComment()
+               
+               return "\n".join(self.output)
+       
+def loadFile(filename):
+       """ Loads file "filename" and returns the content.
+               @param   filename       The name of the file to load
+               @returns the content of the file.
+       """
+       f = open(filename, 'r')
+       
+       try:
+               content = f.read()
+               return content
+       finally:
+               f.close()
+
+def optParse():
+       """ Parses commandline options. """
+       parser = OptionParser(prog=__applicationName__, version="%prog " + 
__version__)
+       
+       parser.set_usage("%prog [options] filename")
+       parser.add_option("--autobrief",
+               action="store_true", dest="autobrief",
+               help="Use the docstring summary line as \\brief description"
+       )
+       
+       ## parse options
+       global options
+       (options, filename) = parser.parse_args()
+       
+       if not filename:
+               print >>sys.stderr, "No filename given."
+               sys.exit(-1)
+       
+       return filename[0]
+
+def main():
+       """ Opens the file given as first commandline argument and processes it,
+               then prints out the processed file.
+       """
+       filename = optParse()
+       
+       try:
+               input = loadFile(filename)
+       except IOError, (errno, msg):
+               print >>sys.stderr, msg
+               sys.exit(-1)
+       
+       fsm = Doxypy()
+       output = fsm.parse(input)
+       print output
+
+if __name__ == "__main__":
+       main()
\ No newline at end of file


Property changes on: 
gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/other/doxypy.py
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Modified: 
gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/other/group_defs.dox
===================================================================
--- 
gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/other/group_defs.dox
   2008-01-15 22:05:46 UTC (rev 7443)
+++ 
gnuradio/branches/developers/eb/firas-docs/gnuradio-core/doc/other/group_defs.dox
   2008-01-16 03:04:10 UTC (rev 7444)
@@ -1,6 +1,6 @@
 /*!
  * \defgroup block Signal Processing Blocks
- * These are the signal processing blocks, blah, blah blah...
+ * These are the signal processing blocks...
  * @{
  */
 
@@ -22,10 +22,53 @@
  * \defgroup converter Type Conversions
  */
 
+/*!
+ * \defgroup level Signal Level Control
+ */
+
+/*!
+ * \defgroup clock Signal Clock Synchronization
+ */
+
 /*! @} */
 
-/*! \defgroup filter_design Filter Design              */
-/*! \defgroup filter_primitive Filter Primitives       */
+/*! \defgroup filter_design Digital Filter Design              */
+/*! \defgroup graphical Graphical Utilities            */
 /*! \defgroup internal Implementation Details          */
-/*! \defgroup qa Quality Assurance                     */
+/*! \defgroup hardware Hardware                                */
+/*! \defgroup encdec Voice Encoders and Decoders       */
+/*! \defgroup coding Information Coding and Decoding                   */
+/*! \defgroup modulation Signal Modulation                     */
+/*! \defgroup demodulation Signal Demodulation                 */
+/*! \defgroup math     Mathmatics                      */
+/*! \defgroup tools Tools                              */
+/*! \defgroup misc Miscellaneous                               */
+/*!
+ * \defgroup applications Applications
+ * These are some applications build using gnuradio...
+ * @{
+ */
 
+/*!
+ * \defgroup radar Radar
+ * Radar Applications...
+ */
+
+/*!
+ * \defgroup atsc ATSC
+ * ATSC Applications...
+ */
+
+/*!
+ * \defgroup pager Pager 
+ * Pager Applications
+ */
+
+/*!
+ * \defgroup sounder   Sounder
+ * Channel Sounder
+ */
+
+/*! @} */
+
+/*! \defgroup usrp USRP        */





reply via email to

[Prev in Thread] Current Thread [Next in Thread]