Home
Name Modified Size InfoDownloads / Week
qoxygen.zip 2010-06-11 460.4 kB
doxygen0-0.1.1.tar.gz 2010-05-15 572.8 kB
doxyf-linux.zip 2010-05-15 292.2 kB
README 2010-05-15 5.3 kB
Totals: 4 Items   1.3 MB 0
	doxyf - Doxygen filters



  Copyright (C) 2008 Walter Eaves

  qtools 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, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

Comments are welcome.

	- Walter Eaves <Walter.Eaves@bigfoot.com>

There are a number of filters for Doxygen provided here.

qoxygen - was originally developed by Niall Ferguson and was found at
code.kx.com. It provides a filter for the q language for kdb+ system
to interwork with Doxygen.

mtoc - was originally developed by Ian Martins and provides a means of
putting MatLab scripts under Doxygen.

rtoc - is my development of mtoc and puts R scripts under Doxygen.

doxyf - is a script that can be adapted to apply filters.

emacs - Some extensions for q development in XEmacs. I've extended the
kdbp-mode.el and the q-minor-mode.el to provide an interactive
development environment. It is not currently installed by configure.

-- qoxygen.

I've now added a requirement on gnulib-tool. With it, these tools will
build for Cygwin and Solaris.

There is also a facility to build qoxygen for Windows. This uses the

 doxygen0/filters0

sub-directory.  This has a Visual Studio 2005 Solution and projects within
it. These use the output from Flex++.

There is now a dependency on Boost string functions and, because of this,
the Windows version does support the new namespace method of handling
contexts.

-- mtoc

--- From the original notes for mtoc

This is a documentation system based on Doxygen. 

You are assumed to have the following installed:

- doxygen. I use version 1.5.1. On the Mac I installed the dmg image based 
  distribution of Doyxgen and manually linked /usr/local/bin/doxygen to the 
  underlying executable that was installed. This avoids a fink or macports 
  extravaganza.

- a recent TeX installation. teTeX works well for me on Mac OSX and Linux. 
 
- lex. I use flex 2.5.35.

- a c and c++ compiler. gcc and g++ version 3 work fine.

Basics:

1. Type make in this directory. 

2. Install qoxygen to somewhere on your PATH.

3. Change to the simple_example directory and type make. 

4. simple_example/source_reference.pdf and example/source_reference/index.html
   are the pdf and html formatted output from the example.q file. See that
   q file for examples of commenting functions.

5. Same goes for benchmark_example.

6. You can copy the contents of the example directory to create your own
   projects. You should edit your copy of example/Makefile in the new project
   to point TOP_DIR to the directory containing the qoxygen executable and
   style directory. Adjust the path, also, to the included Makefile from the
   style directory. For example:

   TOP_DIR=../../tools/qoxygen
   include ../../tools/qoxygen/style/Makefile

7. "It works for me."

8. Feel free to contribute a nicer html style.

Overview:

flex converts MATLAB files into a format that is enough like C that
Doxygen can create useful documentation from it.  

Doxygen comment blocks in MATLAB begin with a "%%" string. (in c or
java it would be "/**" ).  You must enable javadoc_autobrief in the
Doxygen configuration.

comment blocks that start with "%" will be converted into regular C
block comments that start with "/*".


The Conversion:

%% changed to /**
%  changed to *  if currently in a comment block
%  changed to /* if not currently in a comment block
if a line doesn't start with "%" and its currently in a comment block,
	a "*/" is inserted at the beginning of the line to end the current
	comment block.
if a function doesn't return a value, the return type is set to "void"
if a function returns a value, the return type is set to "ret"
if a function returns multiple values, the return type is set to "rets"
all function parameters are preceded by "type"

An example input file (doxytest.m) and output file (doxytest.c) are
included that show examples of MATLAB code before and after the
translation.

files included:

readme.txt	this file
mtoc.exe	windows executable (needs cygwin)
mtoc		linux executable
lex.yy.c	source generated by flex
mtoc.l		flex script
doxytest.m	input test file
doxytest.c	output test file


To Compile:

1) install flex
2) create source from flex script
   > flex mtoc.l
3) compile
   for windows with cygwin:
       >gcc -o mtoc.exe lex.yy.c -lfl
   for linux:
       >gcc -o mtoc lex.yy.cc -lfl

To Use:

mtoc.exe infile.m outfile.c

where:
 infile.m is the input matlab file
 outfile.c is the file written with the code from the input
	file converted to a c-ish syntax.


Send questions or comments to: Ian Martins (ianxm@jhu.edu)


-- Control

[  Local Variables: ]
[  mode:text ]
[  mode:outline-minor ]
[  mode:auto-fill ]
[  fill-column: 75 ]
[  comment-column:50 ]
[  comment-start: "[  "  ]
[  comment-end:"]" ]
[  End: ]

Source: README, updated 2010-05-15