| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| ReadMe_2012_10_22.txt | 2012-10-24 | 11.0 kB | |
| UserDoku_python_2012_10_22.zip | 2012-10-24 | 562.7 kB | |
| UserDoku_python_2012_10_22.chm | 2012-10-24 | 474.8 kB | |
| UserDoku_ansi_c_2012_10_22.zip | 2012-10-24 | 572.1 kB | |
| UserDoku_ansi_c_2012_10_22.chm | 2012-10-24 | 484.3 kB | |
| DeveloperDoku_2012_10_22.zip | 2012-10-24 | 3.0 MB | |
| DeveloperDoku_2012_10_22.chm | 2012-10-24 | 2.5 MB | |
| Src_xml2abc_2012_10_22.zip | 2012-10-24 | 122.7 kB | |
| Moritz2_Linux_2012_10_22.zip | 2012-10-24 | 2.1 MB | |
| Moritz2_WIN32_2012_10_22.zip | 2012-10-24 | 3.0 MB | |
| Totals: 10 Items | 12.9 MB | 0 | |
Moritz 1.9.06 Distribution
Copyright (C) 2004-2012 by Eckard Klotz.
Permission to use, copy, modify, and distribute this software and its
documentation under the terms of the GNU General Public License is hereby
granted. No representations are made about the suitability of this software for
any purpose. It is provided "as is" without express or implied warranty.
See the GNU General Public License for more details.
Documents produced by Moritz are derivative works derived from the input used in
their production; they are not affected by this license.
As help-tool for Doxygen (www.Doxygen.org) Moritz was original designed as a
source-code analysing program that generates nassi-shneiderman diagrams of the
functions and methods. But this version may also be used to analyse other
xml-content to generate data-tables or other files.
Nativly this diagrams are stored as html-files. Moritz may be also used to
gnerate dot-scripts. Thus it is possible to genarate real graphics by using dot
from the graphviz-toolkit (www.graphviz.org). The output of Moritz may be
included in a documentation generated by Doxygen via commands like htmlinclude
or dotfile.
The old Moritz has no own source parser and uses the xml-output of an other parser-
program as base-information. But this new designed version of Moritz comes along
with on own parser-tool named abc2xml formaly known as MuLanPa
(www.sourceforge.net/projects/mulanpa/) that analyses the source-code to generate
xml-files wich represent the algorithm and data-structure of the source.
abc2xml will be configured by external grammar-description. Thus it may be may be
used for several programming-languages. the binary of Moritz itself has also a new
name xml2abc to make clearer what it does
abc2xml and xml2abc are console- or terminal-application which have to be started
via command-line. Both programs are controled by an external configuration-
files like a grammar-specification that describes the programming-language, a
snipet-specification that describes the diagram-scripts and xml-defined
configurations of the behaviour-details.
You can find more information under "www.sourceforge.net/projects/moritz/"
use the forum.
This Distribution contains 4 sub-directories:
src : example sources
xml : input-files for xml2abc
nsd : html diagram-output of xml2abc
des : additional html diagram-output of xml2abc
First Steps
1. Start the bat/sh-file named MxMrtz. It should a start demo-run of abc2xml and
xml2abc. If this process ends successfully you can find an xml-output of
abc2xml in the folder xm and the html-output of Moritz in the folder nsd.
3. Copy your own sources in to the folder src and delete the original example-
sources or rename their file-attachments. Look in to the folder nsd to watch
the results.
Command-Line Arguments
Command-Line arguments are used to give Moritz some base-informations about the
directories and file which should be used .
The following arguments has to been used without an own configuration-file:
DP[destination-path] destination-path of the created diagrams
The following argument tells the both binaries to use another configuration-file:
CF[configuration-file] file with detail-configurations default are abc2xml_cfg.xml
and xml2abc_cfg.xml
The following arguments may be used to override the equal information in the
used configuration-file:
DP[destination-path] destination-path of the created diagrams
Here are some examples:
abc2xml DP.\xml\ CFabc2xml_cfg.xml > abc2xml.txt
xml2abc DP.\nsd\ CFxml2abc_cfg.xm > xml2abc.txt
This win32-example starts abc2xml to create xml-files at "ROOT\xml" and
xml2abc to create nassi-sheiderman-files at "ROOT\nsd". The
resource-path is the home-directory of Moritz.
abc2xml CFhome:/project/config/abc2xml_cfg.xml
xml2abc CFhome:/project/config/xml2abc_cfg.xml
This linux-example starts abc2xml and xml2abc with the own configuration-files
in the directory "home:/project/config". All other informations are placed in
this configuration file.
If you have an other operation-sytem you have to download the source-files and
compile them on your system you have change the bat-file into a shell-script of
your system also.
Using the help argument of xml2abc
Moritz offers a help-argument to provide online information
xml2abc -> general program-information
xml2abc help -> shows this text
xml2abc help All -> shows all help-information (rerout it into a file!)
xml2abc help Resources -> general overview about the neded resource-files
xml2abc help Arguments -> general overview about the comand-line arguments
xml2abc help DP -> describes the destination-path argument
xml2abc help CF -> describes the configuration-file argument
xml2abc help SF -> describes the source-file argument
xml2abc help CP -> describes the additional configuration-path argument
To build xml2abc 1.9.y the following files has to be used:
src\
diverse\
cpp\
app_tool.cpp
String_imp.cpp
h\
app_tool.h
String_imp.h
Moritz2\
cpp\
cmnd_dict_xml.cpp
cmnd_srcdata.cpp
cmnd_stack_strg.cpp
command.cpp
main.cpp
gen_nsd.cpp
snippet.cpp
h\
cmnd_dict_xml.h
cmnd_srcdata.h
cmnd_stack_strg.h
command.h
moritz2.h
gen_nsd.h
snippet.h
MuLanPa\
cpp\
action.cpp
h\
action.h
prs_tpdef.h
process\
cpp\
notation.cpp
ntn_spirit.cpp
process.cpp
transform.cpp
h\
notation.h
ntn_spirit.h
process.h
transform.h
tool_xml\
TiXmlNode_ao.cpp
TiXmlNode_ao.h
TiXml_ao.cpp
TiXml_ao.h
xml2abc 1.9.y is a common console-application but 2 special libraries are
necessary.
1.TinyXml:http://sourceforge.net/projects/tinyxml/(currently used Version: 2.6.2)
TinyXml supports all xml-operations done by xml2abc. It comes along as a couple
of source- and header-files. I don't use them in a precompiled version, thus all
nearly all c-files of TinyXml are part of the normal compilation of xml2abc and
the search-path to the location of its headers has to be set. But don't try to
compile the source-file named "xmltest.cpp", because this contains an own main-
function but no library-content. For the compiler the define "TIXML_USE_STL" has
to be set, since this is the special mode of the library used for xml2abc.
2.Spirit: http://sourceforge.net/projects/spirit/ (currently used Version: 1.8.5)
Spirit is the real parser used by xml2abc. Spirit is part of the huge boost-
library. But the older version 1.8.5 used here is also available as stand-alone
version. The current version of Spirit is 2.1.x. But it seams only available as
small part of the gigantic boost-package. Since I had to learn that some users
don't feal comfortable to download such a amount of data (over 60Mb as zip-file)
only for using a small peace of it, I started with the older standalone-version.
It was a hard work to learn how to deal with it, but it works now and I ask my
self if it will be really necessary to switch to the newer version. How ever to
use the spirit-library, it is only necessary to set the search-path to the root-
directory "spirit-1.8.5-miniboost" where the folder called "boost" is located.
I'm not very familiar with make-files and use an ide (DevC++, Code-Blocks,
MinGW Developer-Studio, ...) to manage the project and the compile-process.
For me the steps to build is to:
add the sources into the ide-project,
add the h-paths as search-pathes
define 2 over-all preprocessor-constants (wihout-values):
TIXML_USE_STL
either NO_SYSTEM_FOR_FOLDERCREATE or SYSTEM_FOR_FOLDERCREATE
and start the build-process
the use of optimation-options can be reduce the size and/or speed it up
(The definition of "NO_SYSTEM_FOR_FOLDERCREATE" has to be used if the compiler supports the c-command "mkdir(c_string)". if not use "SYSTEM_FOR_FOLDERCREATE")
Change-Log
Version 1.9.01
Alpha-release of Moritz2
Version 1.9.02
Debuging: Under linux pseudo-pathes "." and ".." produces pseudo-output by using tag "FolderName" -> check of file-attactment changed
Refactoring: Renaming of the binary from Moritz in xml2abc. The new name stands for the conversion of a text written in xml into (2) a defined language (abc).
New feature: The reimplementation of special commands to control the shape of the diagrams has stated
Version 1.9.03
New feature: Grammar and snipets for c and c++. note compilerswitches are not supported yet
Version 1.9.04
Refactoring: The code of the formaly generator class ("Generator_Nsd") is now relocated into new tool-classes("SnippetExecution" and "Cmnd_XYZ") to make the code better understandable
Refactoring: The evaluation of the snipet-content will now bedone befor the diagram-generation to make the generation-process it self faster.
New feature: It is now possible to split the xml-configuration in separat files. Thus it is possible have a project-depending user-part and a more tool-depending background-part.
New feature: The binary abc2xml is now able to check the change-time of source and destination-files to avoid an unnecessary analiysis if the source has not changed. Thus a analysis of a folder-content is faster if only some files have changed.
New feature: The binary abc2xml tries to create directories for content to save in files if a simple save is not possible for example isince the destination folder does not exist.
Version 1.9.05
Refactoring: moved some methodes and attributes from between classes to eliminate include-cycles
Refactoring intoduced namespaces in sources
Version 1.9.06
New feature: new snipet-commands make it possible to construct temporary independent xml-trees which contain copies or cut-outs of the xml-trees to analyse or trees defineded by other snipets. This new xml-trees can be used to create diagram-parts like part-trees of the xml-trees to analyse. in the example distribution this will be used to insert links into the diagrams which refer to the documentation created by doxygen.
Refactoring: help-output in the console-window is reduced now since the amount of program-arguments is reduced.