summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-11-17 01:29:35 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-11-17 01:29:35 +0000
commit411da56d5bebd5923123896770c8dfd176cc5318 (patch)
tree11962ee336a2b68e4b4964bb7d625db3defd0710 /bin
parent245dad5aa8304582d27f5b3dfca3a9886660a09a (diff)
downloadATCD-411da56d5bebd5923123896770c8dfd176cc5318.tar.gz
ChangeLogTag:Thu Nov 16 16:14:03 2000 Carlos O'Ryan <coryan@uci.edu>
Diffstat (limited to 'bin')
-rw-r--r--bin/README.html171
-rwxr-xr-xbin/bootstrap15
-rwxr-xr-xbin/class2hxxcxx80
-rwxr-xr-xbin/class2hxxcxxsingle80
-rwxr-xr-xbin/class2info197
-rw-r--r--bin/class2info.awk1594
-rwxr-xr-xbin/class2man78
-rwxr-xr-xbin/class2mml79
-rwxr-xr-xbin/class2src79
-rwxr-xr-xbin/classinfo.ps868
-rwxr-xr-xbin/generate_doxygen.pl32
-rwxr-xr-xbin/generate_html_windex86
-rwxr-xr-xbin/generate_man_pages41
-rw-r--r--bin/hiding.fmt20
-rwxr-xr-xbin/html-windex44
-rwxr-xr-xbin/info2doc.awk2182
-rw-r--r--bin/info2doc.fmt23
-rwxr-xr-xbin/info2head166
-rw-r--r--bin/info2head.fmt23
-rwxr-xr-xbin/info2headsrc326
-rwxr-xr-xbin/info2man169
-rwxr-xr-xbin/info2mml166
-rwxr-xr-xbin/info2src133
-rwxr-xr-xbin/info2src.awk630
-rwxr-xr-xbin/make_release36
-rwxr-xr-xbin/man2html89
-rw-r--r--bin/man2html1.awk139
-rw-r--r--bin/man2html2.awk18
-rwxr-xr-xbin/vendor.fmt101
29 files changed, 55 insertions, 7610 deletions
diff --git a/bin/README.html b/bin/README.html
deleted file mode 100644
index 8deb59d4462..00000000000
--- a/bin/README.html
+++ /dev/null
@@ -1,171 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-
-<HEAD>
-<TITLE>ACE Documentation Tools</TITLE>
-
-<BODY text = "#000000"
-link="#000fff"
-vlink="#ff0f0f"
-bgcolor="#ffffff">
-
-<HR>
-<H3>ACE Documentation Tools</H3>
-
-This <A HREF="http://www.cs.wustl.edu/~schmidt/ACE-bin/">directory</A>
-contains versions of the freely available <A
-HREF="http://www.dscpl.com.au/">OSE</A> tools used to generate the ACE
-<A
-HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/man/man3/">man</A>
-and <A
-HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/man/acewindex.html">HTML</A>
-documentation. These tools were originally written by <A
-HREF="mailto:grahamd@nms.otc.com.au"> Graham Dumpleton</A> and later
-modified by <A HREF="mailto:kdorn@erlh.siemens.de">Karlheinz Dorn</A>.
-<A HREF="http://www.cs.wustl.edu/~schmidt/ACE-members.html">We</A> are
-very grateful to Graham and Karlheinz for these tools. You can obtain
-the ACE documentation-generation tools in the <A
-HREF="http://www.cs.wustl.edu/~schmidt/ACE-obtain.html">ACE</A>
-release. <P>
-
-<H3>Modified Version of the OSE Documentation Tools</H3>
-
-The primary goal of Karlheinz's modifications was to create a
-<EM>class</EM>.hxx and <EM>class</EM>.cxx file (for each class,
-struct, union included within the original ACE header file) from the
-ACE *.h header files by collecting the comments from that file and
-feeding them into the newly created files, but keeping the ACE *.h
-file untouched. <P>
-
-This helps when making product documentation using commercial
-documentation tools (e.g., <A HREF="http://www.k2.co.uk">George</A>,
-<A
-HREF="http://www.zib.de/Visual/software/doc++/index.html">doc++</a>,
-etc.) by feeding in these newly created files with a customizable
-layout. The modifications are an upgrade to the original OSE-tools,
-but many bug-fixes are also done for the OSE-tool files (some are
-listed below). <P>
-
-Incidentally, the classinfo tools in OSE have evolved independently
-since the copies in ACE were made and they support new features not
-supported in the ACE version of the tools. Certain subtle changes
-were also made in the ACE copies for indicating sections,
-<em>etc.</em>, which makes them different from the OSE documentation.
-For more information please contact <A
-HREF="mailto:grahamd@nms.otc.com.au">Graham Dumpleton</A>, who heads
-the <A HREF="http://www.dscpl.com.au/">OSE</A> project. <P>
-
-Karlheinz's extensions make it easy to include new ACE versions into
-commercial documentations without doing any painful modifications of
-the deltas within a frozen ACE-version or directly within ACE source
-files when a new release arises. <P>
-
-The following changes were made to the original OSE tools:
-
-<UL>
-
-<LI> The vendor headers can be suppressed within the hiding.fmt file,
-so it is possible to generate <EM>class</EM>.cxx and
-<EM>class</EM>.hxx files consisting only of pure class description
-(hxx) and pure prototypes (cxx). Look at the vendor.fmt file and
-change the field <EM>vendor</EM> in replacing it with your company
-identifying line. <P>
-
-<LI> Added a new script class2hxxcxx for making a <EM>class</EM>.hxx file for each
- class, struct, union included in an ACE *.h file as well as a *.cxx
- file that includes the correct prototypes for all classes within that
- *.h file. <P>
-
-<LI> Added new script info2headsrc for creating a <EM>class</EM>.hxx file for each
- class, struct, union included in an ACE *.h file as well as a <EM>class</EM>.cxx
- file that includes the correct prototypes for that class. <P>
-
-<LI> added a new script class2hxxcxxsingle for the feature listed above. <P>
-
-<LI> added a new format file named "hiding.fmt" to control more fine grained output
- of a class in separating/suppressing PUBLIC, PROTECTED, PRIVATE parts of a
- class, struct, union for output explicitly. <P>
-
-<LI> added a new format file named "vendor.fmt" to control vendor specific
- compilation-unit headers as well as class and method headers for the newly
- created <EM>class</EM>.hxx and <EM>class</EM>.cxx files. The information for these headers
- is collected from the headers and comments of the according ACE *.h files. <P>
-
-<LI> changed info2doc and info2src for the features listed above. <P>
-
-<LI> added the ability for handling multiline ENUMs properly (class2info,info2doc). <P>
-
-<LI> added the ability for handling operator functions properly (info2src). <P>
-
-<LI> added the ability for handling template functions properly (info2src). <P>
-
-<LI> added the ability for handling nested classes, structs, unions properly
- by introducing gawk-function recursion within info2doc (class2info,
- info2doc, info2src). <P>
-
-<LI> added the ability for handling default values properly (info2src). <P>
-
-</UL>
-
-<HR><P>
-<H3>Known Bugs</H3>
-
-Some bugs inherited from the original OSE-tools are remaining. So the
-developer of the *.h files should the following keep in mind:
-
-- do not write multiline inheritance! <P>
-
-INCORRECT: <P>
-
-<pre><code>
- class x :
- public y
- {
- }
-</pre></code>
-
-CORRECT: <P>
-
-<pre><code>
- class x : public y
- {
- }
-</pre></code>
-
-- do not write multiline templates!<P>
-
-INCORRECT: <P>
-
-<pre><code>
- template &ltclass t,
- class&gt
- class x
- {
- }
-</pre></code>
-
-CORRECT: <P>
-
-<pre><code>
- template &ltclass t, class u&gt
- class x
- {
- }
-</pre></code>
-
-<P>
-<HR><P>
-
-Other documentation tools are available at the following URLs: <P>
-
-<UL>
-<A HREF="http://www.dscpl.com.au/">OSE documentation tools</A>
-<LI> <A HREF="http://www.zib.de/Vishal/software/doc++/index.html">doc++</a>
-<LI> <A HREF="http://www.k2.co.uk">George</A>
-</UL>
-
-<P><HR><P>
-Back to the <A HREF="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</A> home page.
-
-</BODY>
-</HTML>
diff --git a/bin/bootstrap b/bin/bootstrap
index 96711a4e6bc..dcb770c3507 100755
--- a/bin/bootstrap
+++ b/bin/bootstrap
@@ -147,27 +147,21 @@ if test -d m4; then
else
echo 'Generating the ACE man pages (this may take several minutes)'
- (cd man/man3; \
- ACE_ROOT=../..; \
+ (ACE_ROOT=.; \
export ACE_ROOT; \
- ACE_HEADERS=`find $ACE_ROOT/ace -name CLASSIX -prune -o \
- -name '*.h' ! -name 'config*.h' ! -name \
- 'ws2tcpip.h' -print`; \
- $ACE_ROOT/bin/class2man $ACE_HEADERS > /dev/null)
+ ./bin/generate_doxygen.pl -is_release -exclude_tao > /dev/null)
fi # test -f man/man3/ACE.3
fi # test $bootstrap_release = yes
# Regenerate the man pages lists in the man page Makefiles.
- if test -f man/man3/Makefile.am && test -f man/html/Makefile.am; then
+ if test -f man/man3/Makefile.am; then
# Only insert man page lists if bootstrapping a release.
if test $bootstrap_release = yes; then
echo 'Inserting ACE man page lists into appropriate Makefile.am files.'
ACE_MAN_PAGES=`(cd man/man3 && echo *.3)`
- ACE_HTML_MAN_PAGES=`echo $ACE_MAN_PAGES | sed -e 's/.3 /.html /g' -e 's/.3$/.html/g'`
else
ACE_MAN_PAGES=
- ACE_HTML_MAN_PAGES=
fi
(cd man/man3; \
@@ -180,9 +174,8 @@ if test -d m4; then
mv Makefile.am.new Makefile.am)
else
test -f man/man3/Makefile.am || echo 'man/man3/Makefile.am is missing!'
- test -f man/html/Makefile.am || echo 'man/html/Makefile.am is missing!'
exit 1;
- fi # test -f man/man3/Makefile.am && test -f man/html/Makefile.am
+ fi # test -f man/man3/Makefile.am
# Provide some more "useful" information.
echo Done bootstrapping.
diff --git a/bin/class2hxxcxx b/bin/class2hxxcxx
deleted file mode 100755
index 85d3444c47a..00000000000
--- a/bin/class2hxxcxx
+++ /dev/null
@@ -1,80 +0,0 @@
-#! /bin/sh
-# =============================================================================
-#
-# = DESCRIPTION
-# Script to combine class2info and info2head and info2src.
-#
-# = AUTHOR(S)
-# K. Dorn
-#
-# = COPYRIGHT
-# Copyright 1991 OTC LIMITED
-#
-# =============================================================================
-
-OSE_HOST=
-
-OSE_RELEASE_NAME=
-export OSE_RELEASE_NAME
-
-OSE_ROOT=${OSE_ROOT-$ACE_ROOT}
-export OSE_ROOT
-
-OSE_VERSION_ROOT=$OSE_ROOT/$OSE_RELEASE_NAME
-export OSE_VERSION_ROOT
-
-BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin"
-LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/lib"}
-
-CLASS2INFO="$BINDIR/class2info"
-INFO2HEAD="$BINDIR/info2head"
-INFO2SRC="$BINDIR/info2src"
-
-#
-# Error.
-#
-ERROR()
-{
- echo "`basename $0`: $1" >&2
- shift
- while test $# != "0"
- do
- echo $1 >&2
- shift
- done
- exit 1
-}
-
-#
-# Usage message.
-#
-USAGE()
-{
- ERROR "Usage: `basename $0` files"
-}
-
-#
-# Check usage.
-#
-if test "$#" = "0"
-then
- USAGE
-fi
-
-while test "$#" != "0"
-do
- $CLASS2INFO $1
- if test "$?" != "0"
- then
- exit 1
- fi
- file=`basename $1`
- base="`echo $file | sed -e 's/\..*$//'`"
- if test -f "$base.ci"
- then
- $INFO2SRC $base.ci
- $INFO2HEAD $base.ci
-# rm -f $base.ci
- fi
- shift
-done
diff --git a/bin/class2hxxcxxsingle b/bin/class2hxxcxxsingle
deleted file mode 100755
index 6e049a2ec15..00000000000
--- a/bin/class2hxxcxxsingle
+++ /dev/null
@@ -1,80 +0,0 @@
-#! /bin/sh
-# =============================================================================
-#
-# = DESCRIPTION
-# Script to combine class2info and info2head and info2src.
-#
-# = AUTHOR(S)
-# K. Dorn
-#
-# = COPYRIGHT
-# Copyright 1991 OTC LIMITED
-#
-# =============================================================================
-
-OSE_HOST=
-
-OSE_RELEASE_NAME=
-export OSE_RELEASE_NAME
-
-OSE_ROOT=${OSE_ROOT-$ACE_ROOT}
-export OSE_ROOT
-
-OSE_VERSION_ROOT=$OSE_ROOT/$OSE_RELEASE_NAME
-export OSE_VERSION_ROOT
-
-BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin"
-LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/lib"}
-
-CLASS2INFO="$BINDIR/class2info"
-INFO2HEADSRC="$BINDIR/info2headsrc"
-INFO2SRC="$BINDIR/info2src"
-
-#
-# Error.
-#
-ERROR()
-{
- echo "`basename $0`: $1" >&2
- shift
- while test $# != "0"
- do
- echo $1 >&2
- shift
- done
- exit 1
-}
-
-#
-# Usage message.
-#
-USAGE()
-{
- ERROR "Usage: `basename $0` files"
-}
-
-#
-# Check usage.
-#
-if test "$#" = "0"
-then
- USAGE
-fi
-
-while test "$#" != "0"
-do
- $CLASS2INFO $1
- if test "$?" != "0"
- then
- exit 1
- fi
- file=`basename $1`
- base="`echo $file | sed -e 's/\..*$//'`"
- if test -f "$base.ci"
- then
-# $INFO2SRC $base.ci
- $INFO2HEADSRC $base.ci
-# rm -f $base.ci
- fi
- shift
-done
diff --git a/bin/class2info b/bin/class2info
deleted file mode 100755
index 6a3300fbb7e..00000000000
--- a/bin/class2info
+++ /dev/null
@@ -1,197 +0,0 @@
-#! /bin/sh
-# =============================================================================
-#
-# = DESCRIPTION
-# Converts a C++ class header file into a classinfo description file.
-#
-# = AUTHOR(S)
-# Graham Dumpleton
-# K. Dorn
-#
-# = COPYRIGHT
-# Copyright - OTC LIMITED (1991)
-#
-# =============================================================================
-
-OSE_HOST=
-
-OSE_RELEASE_NAME=
-export OSE_RELEASE_NAME
-
-OSE_ROOT=${OSE_ROOT-$ACE_ROOT}
-export OSE_ROOT
-
-OSE_VERSION_ROOT=$OSE_ROOT
-export OSE_VERSION_ROOT
-
-BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin"
-LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/bin"}
-
-INFO2INFO="$BINDIR/info2info"
-
-AWK="gawk"
-
-if test "$AWK" = "gawk"
-then
- VARG="-v"
-fi
-
-
-FILES=
-V2=
-
-trap 'rm -f /tmp/ci.$$; exit' 1 2 3 13 15
-
-#
-# Error.
-#
-ERROR()
-{
- echo "`basename $0`: $1" >&2
- shift
- while test $# != "0"
- do
- echo $1 >&2
- shift
- done
- exit 1
-}
-
-#
-# Usage message.
-#
-USAGE()
-{
- ERROR "Usage: `basename $0` file.h ..."
-}
-
-#
-# Check usage.
-#
-if test $# = 0
-then
- USAGE
-fi
-
-#
-# Parse command line.
-#
-while test $# != 0
-do
- case $1 in
-# -v2)
-# V2=YES
-# shift
-# ;;
- *.h|*.hh|*.H|*.hxx|*.hpp|*.h++)
- FILES="$FILES $1"
- shift
- ;;
- *)
- USAGE
- ;;
- esac
-done
-
-#
-# Check usage again.
-#
-if test -z "$FILES"
-then
- USAGE
-fi
-
-#
-# Check for awk file.
-#
-CLASS2INFO=$LIBDIR/class2info.awk
-HIDINGFMT=$LIBDIR/hiding.fmt
-
-if test ! -f $HIDINGFMT
-then
- ERROR "Can't find $HIDINGFMT"
-fi
-
-
-if ( test ! -f $CLASS2INFO )
-then
- ERROR "Can't find $CLASS2INFO"
-fi
-
-
-
-VCSA=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^CSAHEADER$" {
- if ( $2 ~ "on" )
- printf("%s","csaprintheader=on");
- else
- printf("%s","csaprintheader=");
-}' $HIDINGFMT`
-
-VPUBL=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PUBLIC$" {
- if ( $2 ~ "on" )
- printf("%s","publ=on");
- else
- printf("%s","publ=");
-}' $HIDINGFMT`
-
-VPROT=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PROTECTED$" {
- if ( $2 ~ "on" )
- printf("%s","prot=on");
- else
- printf("%s","prot=");
-}' $HIDINGFMT`
-
-VPRIV=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PRIVATE$" {
- if ( $2 ~ "on" )
- printf("%s","priv=on");
- else
- printf("%s","priv=");
-}' $HIDINGFMT`
-
-#echo " $VPUBL $VPROT $VPRIV "
-
-
-#
-# Parse each file.
-#
-# $VARG publ=on $VARG prot=off $VARG priv=off \
-for i in $FILES
-do
- if test ! -f $i
- then
- ERROR "$i doesn't exist."
- fi
- FILENAME=`basename $i`
- INFOFILE=`echo $FILENAME | sed -e 's/\..*$//'`.ci
- rm -f $INFOFILE
- if test "$?" != 0
- then
- ERROR "Couldn't remove info file $INFOFILE."
- fi
- expand $i > /tmp/ci.$$
- $AWK \
- -f $CLASS2INFO $VARG filename=$i \
- $VARG $VPUBL $VARG $VPROT $VARG $VPRIV \
- /tmp/ci.$$ > $INFOFILE
- rm -f /tmp/ci.$$
-# if test ! -z "$V2"
-# then
-# $INFO2INFO $INFOFILE
-# fi
-done
diff --git a/bin/class2info.awk b/bin/class2info.awk
deleted file mode 100644
index b2f58ce736d..00000000000
--- a/bin/class2info.awk
+++ /dev/null
@@ -1,1594 +0,0 @@
-# =============================================================================
-#
-# = DESCRIPTION
-# Awk script for converting C++ class header file to classinfo file.
-# Requires gawk or gawk.
-# comments like /* ... */ with ... goes over multiple lines are not ok
-# and will be not printed as comments!
-# class xxx
-# : public yyyy is not allowed but : class xxx : public yyyy
-#
-# = AUTHOR(S)
-# Graham Dumpleton
-# K. Dorn
-#
-# = COPYRIGHT
-# Copyright 1991 OTC LIMITED
-#
-# =============================================================================
-
-BEGIN {
- initialised = 0
- accpubl = "on"
- accprot = "on"
- accpriv = "on"
- accpubl = publ
- accprot = prot
- accpriv = priv
- accpubl = "on"
- accprot = "off"
- accpriv = "off"
-}
-{
- if ( initialised == 0 )
- {
- initialised = 1
- "date" | getline line
- printf( "CLASS2INFO\n%s\n%s\n\n", line, filename )
- anonenum = 1
- }
- doParse();
- next
-}
-
-
-
-{
- print "error" | "cat 1>&2"
- exit
-}
-
-#
-# If a comment starts with '// ==', discard lines until the end of the
-# comment or a line of the form '// = NAME' is found. This is special
-# case to deal with comment headers in files. e.g:
-#
-# // ========== ...
-# //
-# // = LIBRARY
-# // ...
-#
-# lines up to '// = LIBRARY' would be discarded.
-#
-# /^[\t ]*\/\/[\t ]*==+[\t ]*$/ {
-# handleHeader()
-# }
-
-function handleHeader()
-{
- getline
- while ( \
- ( $0 ~ "^[\t ]*//" ) \
- && \
- ( $0 !~ "^[\t ]*//[\t ]*= [a-zA-Z0-9]+[^<>]*[\t ]*$" ) \
- )
- {
- getline
- }
-}
-
-#
-# Extract labelled comments. These are denoted by '// = NAME', where the word
-# NAME is actually replaced by the some identifying label.
-# A labelled section is terminated by the end of the comment block, another
-# labelled comment, or a comment line of the form '// =='. e.g:
-# Note: a label cannot contain the characters '<>', these are identified
-# as being special commands and are simply passed through.
-#
-# // = LIBRARY
-# // C++
-# //
-# // = VERSION
-# // ...
-# //
-# // ========== ...
-#
-# the LIBRARY section would be terminated by '// = VERSION', and the VERSION
-# section by '// =====...'.
-#
-# /^[\t ]*\/\/[\t ]*= [a-zA-Z0-9]+[^<>]*[\t ]*$/ {
-# handleInfo()
-# }
-
-function handleInfo( label )
-{
- sub( "^[\t ]*//", "", $0 )
- while ( $0 ~ "^[\t ]*= [a-zA-Z0-9]+[^<>]*[\t ]*$" )
- {
- match( $0, " [a-zA-Z0-9]+[^<>]*$" )
- label = substr( $0, RSTART, RLENGTH )
- sub( "^[\t ]*", "", label )
- if ( name ~ "^$" )
- printf( "INFO\nGLOBAL\n%s\n", label )
- else if ( hiding ~ "^$" )
- printf( "INFO\nHDR\n%s\n%s\n", label, name )
- else
- printf( "INFO\nBODY\n%s\n%s\n%s\n", label, name, hiding )
- $0 = outputComment()
- }
-}
-
-function SetCommentClrComment( line, comment)
-{
- if ( match( line, "(\/\\*.*\\*\/)?$" ) > 0)
- {
- comment = substr( line, RSTART, RLENGTH )
- sub( "//.*$", "", line )
- }
- else
- if ( match( line, "(//.*)?$" ) > 0)
- {
- comment = substr( line, RSTART, RLENGTH )
- sub( "\/\\*.*$", "", line )
- }
-}
-
-
-function check_print_first()
-{
- if ( ((hiding == "private") && (accpriv == "on") ) || ((hiding == "public") && (accpubl == "on") ) || ((hiding == "protected") && (accprot == "on") ) )
- pra = 1
- else
- {
- pra = 0
- $0 = ""
- }
- return pra
-}
-
-function check_print()
-{
- if ( ( type ~ "class" ) && ( hiding ~ "^$" ) )
- {
- if (accpriv == "on")
- {
- pra = 1
- return pra
- }
- else
- {
- pra = 0
- $0 = ""
- return pra
- }
- }
- else
- {
-
- if ((accpubl == "on") || ( hiding ~ "^$" ))
- {
- pra = 1
- return pra
- }
- else
- {
- pra = 0
- $0 = ""
- return pra
- }
- }
-
- if ( ((hiding == "private") && (accpriv == "on") ) || ((hiding == "public") && (accpubl == "on") ) || ((hiding == "protected") && (accprot == "on") ) )
- {
- pra = 1
- }
- else
- {
- pra = 0
- $0 = ""
- }
- return pra
-}
-
-#
-# transfer a c comment /* ... */ to a C++ // ... comment
-# the comment comes in feld and goes back in feld
-#
-
-function Set_c_Comment_to_CPP_Comment( feld)
-{
- if ( match( feld, "\/\\*.*\\*\/$" ) > 0)
- {
-# printf("\n----feldb=|%s|----\n",feld);
- sub( "\/\\*", "\/\/", feld )
- sub( "\\*\/", "", feld )
-# printf("\n----felda=|%s|----\n",feld);
- }
- return feld
-}
-
-
-
-#
-# Gather up unlabelled comments.
-#
-# /^[\t ]*\/\/.*$/ {
-# handleComment()
-# }
-
-function handleComment()
-{
- if ( name ~ "^$" )
- printf( "COMMENT\nGLOBAL\n" )
- else if ( hiding ~ "^$" )
- printf( "COMMENT\nHDR\n%s\n", name )
- else
- printf( "COMMENT\nBODY\n%s\n%s\n", name, hiding )
- $0 = outputComment( $0 )
-}
-
-#
-# Skip past '#define's. Leave it up to programmers to document important
-# definitions with a section.
-#
-# /^[\t ]*#[\t ]*define/ {
-# handleDefine()
-# }
-
-function handleDefine( line )
-{
- if ( $0 ~ ".*\\\\$" )
- {
- end = 0
- while ( end == 0 )
- {
- getline line
- if ( line !~ ".*\\\\$" )
- end = 1
- }
- }
- # next
- $0 = ""
-}
-
-#
-# Record name of files which are included.
-# Note: Since we do not process '#if's we will get all includes, even if
-# some are particular to some systems etc.
-#
-# /^[\t ]*#[\t ]*include[\t ]*<.+>/ {
-# ()
-# }
-
-function handleInclude()
-{
- match( $0, "<.+>" )
- $0 = substr( $0, RSTART, RLENGTH )
- printf( "INCLUDE\n%s\n\n", $0 )
- # next
- $0 = ""
-}
-
-# /^[\t ]*#[\t ]*include[\t ]*".+"/ {
-# handleLocalInclude()
-# }
-
-function handleLocalInclude()
-{
- match( $0, "\".+\"" )
- $0 = substr( $0, RSTART, RLENGTH )
- printf( "INCLUDE\n%s\n\n", $0 )
- # next
- $0 = ""
-}
-
-#
-# Skip any other pre-processor directives.
-#
-# /^[\t ]*#.*$/ {
-# handlePreprocessor()
-# }
-
-function handlePreprocessor_alt()
-{
- # next
- $0 = ""
-}
-
-function handlePreprocessor()
-{
- printf( "PREPROC\n%s\n\n", $0 )
- # next
- $0 = ""
-}
-
-#
-# Trap typedefs.
-#
-# /^typedef[\t ]+/ {
-# handleTypedef()
-# }
-
-function handleTypedef( comment, line )
-{
- line = $0
- while ( line !~ ";[\t ]*(//.*)?$" )
- {
- line = uncomment( line )
- getline
- sub( "^[\t ]*", "", $0 )
- line = line " " $0
- sub( "\\) \\(", ")(", line )
- }
- match( line, "(//.*)?$" )
- comment = substr( line, RSTART, RLENGTH )
- sub( "//.*$", "", line )
- sub( "^[\t ]*typedef[\t ]*", "typedef ", line )
- if ( name ~ "^$" )
- printf( "TYPEDEF\n%s\n%s\n%s\n", "::", "public", line )
- else
- printf( "TYPEDEF\n%s\n%s\n%s\n", name, hiding, line )
- $0 = outputComment( comment )
-}
-
-#
-# Trap externs.
-#
-# /^extern[\t ]+/ {
-# handleExtern()
-# }
-
-function handleExtern( lang, comment )
-{
- if ( $0 ~ "\"C\"[\t ]*$" || $0 ~ "\"C\"[\t ]*\{[\t ]*$" )
- {
- # Bracketed includes (??). Skip them for now.
- while ( $0 !~ "}[\t]*$" && $0 !~ "}[\t ]*;[\t]*$" )
- getline
- getline
- }
- else
- {
- if ( $0 !~ ";[\t ]*(//.*)?$" )
- $0 = handleArgs( $0 )
- match( $0, "(//.*)?$" )
- comment = substr( $0, RSTART, RLENGTH )
- sub( "//.*$", "", $0 )
- sub( "^extern[\t ]*", "", $0 )
- if ( match( $0, "\"[^\"]*\"" ) != 0 )
- {
- lang = substr( $0, RSTART, RLENGTH )
- sub( "^\"[\t ]*", "", lang )
- sub( "[\t ]*\"$", "", lang )
- }
- else
- lang = "C++"
- sub( "\"[^\"]*\"[\t ]*", "", $0 )
- printf( "EXTERN\n%s\n%s\n", lang , $0 )
- $0 = outputComment( comment )
- }
-}
-
-#
-# Trap class, struct, union and template definitions.
-# Note: handleADT() does the hard work of determining if the particular
-# use is in a definition, declaration or other.
-#
-# /^[\t ]*class/ {
-# handleClass()
-# }
-
-function handleClass()
-{
- class = 1
- sub( "^[\t ]*class[\t ]+(ACE_[.]*Export[\t ]+)?", "", $0 )
- if ( handleADT( $0 ) == 1 )
- {
- if ( topName ~ "^$" )
- printf( "CLASS\n%s\n", name )
- else
- printf( "CLASS\n%s::%s\n", topName, name )
- outputSuperClasses( bases )
- bases = ""
- }
- class = 0
- # next
- $0 = ""
-}
-
-# /^[\t ]*enum/ {
-# handleEnumCsa()
-# }
-
-function handleEnumCsa()
-{
- enum = 1
- sub( "^[\t ]*enum[\t ]+", "", $0 )
- if ( handleADT( $0 ) == 1 )
- {
- if ( topName ~ "^$" )
- printf( "ENUM\n%s\n", name )
- else
- printf( "ENUM\n%s::%s\n", topName, name )
- bases = ""
- }
- enum = 0
- # next
- $0 = ""
-}
-
-# /^[\t ]*struct/ {
-# handleStruct()
-# }
-
-function handleStruct()
-{
- struct = 1
- sub( "^[\t ]*struct[\t ]+", "", $0 )
- if ( handleADT( $0 ) == 1 )
- {
- if ( topName ~ "^$" )
- printf( "STRUCT\n%s\n", name )
- else
- printf( "STRUCT\n%s::%s\n", topName, name )
- outputSuperClasses( bases )
- bases = ""
- }
- struct = 0
- # next
- $0 = ""
-}
-
-# /^[\t ]*union/ {
-# handleUnion()
-# }
-
-function handleUnion()
-{
- union = 1
- sub( "^[\t ]*union[\t ]+", "", $0 )
- if ( handleADT( $0 ) == 1 )
- {
- if ( topName ~ "^$" )
- printf( "UNION\n%s\n", name )
- else
- printf( "UNION\n%s::%s\n", topName, name )
- outputSuperClasses( bases )
- bases = ""
- }
- union = 0
- # next
- $0 = ""
-}
-
-# /^[\t ]*template[\t ]*<.+>[\t ]+class/ {
-# handleTemplate()
-# }
-
-function handleTemplate()
-{
- template = 1
-
- match( $0, "^[\t ]*template[\t ]*<.+>[\t ]+(class|struct|union)[\t ]+" )
-# nested template error!!! match( $0, "^template[\t ]*<.+>[\t ]+(class|struct|union)[\t ]+" )
-
- line = substr( $0, RSTART, RLENGTH )
- match( line, "[\t ]+(class|struct|union)[\t ]+$" )
- adttype = substr( line, RSTART, RLENGTH )
- sub( "^[\t ]*", "", adttype )
- sub( "[\t ]*$", "", adttype )
- match( line, "<.+>" )
- targs = substr( line, RSTART, RLENGTH )
- sub( "^[\t ]*template[\t ]*<.+>[\t ]+(class|struct|union)[\t ]+", "", $0 )
- if ( handleADT( $0 ) == 1 )
- {
-# printf( "TEMPLATE\n%s\n%s\n%s\n", adttype, name, targs )
- if ( topName !~ "^$" )
- printf( "TEMPLATE\n%s\n%s::%s\n%s\n", adttype, topName, name, targs )
- else
- printf( "TEMPLATE\n%s\n%s\n%s\n", adttype, name, targs )
- outputSuperClasses( bases )
- bases = ""
- }
- template = 0
- # next
- $0 = ""
-}
-
-#
-# Trap enumerated types.
-#
-
-# This handles enums where there is potentially more than one entry on
-# a line. We throw away all comments in this case.
-
-function handleLineEnum()
-{
- enum = 1
- sub( "^[\t ]*enum[\t ]*", "", $0 )
- line = $0
- sub( "[\t ]*\{.*", "", line )
- pushLevel()
- name = line
- if ( name != "" )
- {
- if ( topName ~ "^$" )
- printf( "ENUM\n%s\n\n", name )
- else
- printf( "ENUM\n%s::%s\n\n", topName, name )
- }
- else
- {
- name = anonenum
- anonenum++
- if ( topName ~ "^$" )
- printf( "ANONENUM\n%s\n\n", name )
- else
- printf( "ANONENUM\n%s::%s\n\n", topName, name )
- }
- line = $0
- sub( "^.*\{[\t ]*", "", line )
- sub( "[\t ]*//.*$", "", line )
- while ( line !~ "}.*" )
- {
- getline
- line = line $0
- sub( "[\t ]*//.*$", "", line )
- }
- # Forget about variables for now.
- sub( "[\t ]*}.*", "", line )
- gsub( "[\t ]+", "", line )
- num = split( line, item, "," )
- for ( i=1; i<=num; i++ )
- {
- if ( topName ~ "^$" )
- printf( "ENUMITEM\n%s\n%s\n\n", name, item[i] )
- else
- printf( "ENUMITEM\n%s::%s\n%s\n\n", topName, name, item[i] )
- }
- $0 = ""
- popLevel( $0 )
- enum = 0
-}
-
-# This handles enums which are formatted to preferred style.
-# Can collect comments meaningfully in this format.
-
-function handleEnum()
-{
- enum = 1
- sub( "^[\t ]*enum[\t ]*", "", $0 )
- sub( "([\t ]*\{)?[\t ]*$", "", $0 )
- sub( "^[\t ]*", "", $0 )
- pushLevel()
- name = $0
- if ( name != "" )
- {
- if ( topName ~ "^$" )
- printf( "ENUM\n%s\n\n", name )
- else
- printf( "ENUM\n%s::%s\n\n", topName, name )
- }
- else
- {
- name = anonenum
- anonenum++
- if ( topName ~ "^$" )
- printf( "ANONENUM\n%s\n\n", name )
- else
- printf( "ANONENUM\n%s::%s\n\n", topName, name )
- }
- getline
- while ( $0 ~ /^[\t ]*\/\/[\t ]*=/ )
- handleInfo()
- while ( 1 )
- {
- while ( $0 ~ /^[\t ]*$/ || $0 ~ /^[\t ]*\{/ )
- getline
-
- if ( $0 ~ /,[^\/]*,/ )
- {
- line = $0
- sub( "[,\t ]*//.*", " ", line )
- gsub( "[\t ]+", "", line )
- num = split( line, item, "," )
- for ( i=1; i<=num; i++ )
- {
- if ( topName ~ "^$" )
- printf( "ENUMITEM\n%s\n%s\n", name, item[i] )
- else
- printf( "ENUMITEM\n%s::%s\n%s\n", topName, name, item[i] )
- if ( i != num )
- printf( "\n" )
- }
- sub( "^.*//", "//", $0 )
- currentlevel = level
- $0 = outputComment( $0 )
-# if ( $0 ~ /^$/ )
- if ( currentlevel != level )
- {
- enum = 0
- return
- }
- }
- else if ( $0 ~ /^.*,[\t ]*(\/\/.*)?$/ )
- {
- match( $0, ".*,([\t ]*//)?" )
- enumval = substr( $0, RSTART, RLENGTH )
- sub( "[\t ]*,.*$", "", enumval )
- sub( "^[\t ]*", "", enumval )
- if ( topName ~ "^$" )
- printf( "ENUMITEM\n%s\n%s\n", name, enumval )
- else
- printf( "ENUMITEM\n%s::%s\n%s\n", topName, name, enumval )
- sub( "^.*//", "//", $0 )
- currentlevel = level
- $0 = outputComment( $0 )
-# if ( $0 ~ /^$/ )
- if ( currentlevel != level )
- {
- enum = 0
- return
- }
- }
- else if ( $0 ~ /^.*(\/\/.*)?$/ )
- {
- match( $0, ".*([\t ]*//)?" )
- enumval = substr( $0, RSTART, RLENGTH )
- sub( "[\t ]*([\t ]*//.*)?$", "", enumval )
- sub( "^[\t ]*", "", enumval )
- if ( topName ~ "^$" )
- printf( "ENUMITEM\n%s\n%s\n", name, enumval )
- else
- printf( "ENUMITEM\n%s::%s\n%s\n", topName, name, enumval )
- sub( "^.*//", "//", $0 )
- currentlevel = level
- $0 = outputComment( $0 )
-# if ( $0 ~ /^$/ )
- if ( currentlevel != level )
- {
- enum = 0
- return
- }
- $0 = ""
- }
- else if ( $0 ~ /^[\t ]*}[\t ]*;/ )
- {
- # Shouldn't happen, but just in case.
- popLevel( $0 )
- enum = 0
- return
- }
- }
- enum = 0
-}
-
-#
-# Trap the end of a abstract data type or enumerated type.
-# Note: arrays are going to cause a problem here. e.g:
-#
-# int foo[] =
-# {
-# };
-#
-# so this needs to be cleaned up a bit.
-#
-# /^[\t ]*}.*;[\t ]*/ {
-# handleEndADT()
-# }
-
-function handleEndADT()
-{
- popLevel( $0 )
- # next
- $0 = ""
-}
-
-#
-# Trap private, protected and public keywords in class, struct or union.
-#
-# ( name !~ "^$" ) &&
-# ( type !~ "enum" ) &&
-# /^[\t ]*private[\t ]*:[\t ]*(\/\/.*)?$/ {
-# handlePrivate()
-# }
-
-function handlePrivate()
-{
-#if (accpriv == "on" )
- printf( "ACCESS\n%s\nprivate\n\n", name )
- hiding = "private"
- # next
- $0 = ""
-}
-
-# ( name !~ "^$" ) &&
-# ( type !~ "enum" ) &&
-# /^[\t ]*protected[\t ]*:[\t ]*(\/\/.*)?$/ {
-# handleProtected()
-# }
-
-function handleProtected()
-{
-#if (accprot == "on" )
- printf( "ACCESS\n%s\nprotected\n\n", name )
- hiding = "protected"
- # next
- $0 = ""
-}
-
-# ( name !~ "^$" ) &&
-# ( type !~ "enum" ) &&
-# /^[\t ]*public[\t ]*:[\t ]*(\/\/.*)?$/ {
-# handlePublic()
-# }
-
-function handlePublic()
-{
-#if (accpubl == "on" )
- printf( "ACCESS\n%s\npublic\n\n", name )
- hiding = "public"
- # next
- $0 = ""
-}
-
-#
-# Handle friend declaration.
-#
-function handleFriend( comment, line )
-{
- line = $0
- if ( $0 ~ /[,(][\t ]*(\/\/.*)?$/ )
- {
- line = uncomment( line )
- line = handleArgs( line )
- }
- if ( line !~ /;[\t ]*(\/\/.*)?$/ )
- {
- line = uncomment( line )
- comment = handleInline()
- line = line ";"
- }
- else
- {
- match( line, "//.*$" )
- comment = substr( line, RSTART, RLENGTH )
- }
- gsub( "\t", " ", line )
- gsub( " +", " ", line )
- sub( "^ *", "", line )
- if ( name ~ "^$" )
- printf( "FRIEND\n%s\n%s\n%s\n", "::", "public", line )
- else
- if ( hiding ~ "^$" )
- printf( "FRIEND\n%s\n%s\n%s\n", name, "public", line )
- else
- printf( "FRIEND\n%s\n%s\n%s\n", name, hiding, line )
- $0 = outputComment( comment )
-}
-
-#
-# Trap inline constructors with an initialiser list.
-#
-# ( name !~ "^$" ) &&
-# ( type !~ "enum" ) &&
-# /\)[\t ]*:[\t ]*.*\(.*\)[\t ]*({(.*})?[\t ]*)?(\/\/.*)?$/ {
-# handleInlineCtor()
-# }
-
-function handleInlineCtor()
-{
- sub( "[\t ]*//.*", "", $0 )
- match( $0, ".*\\)[\t ]*:[\t ]*" )
- prototype = substr( $0, RSTART, RLENGTH )
- sub( "[\t ]*:[\t ]*$", "", prototype )
- outputFunction( prototype )
- if ( $0 !~ "}[\t ]*$" )
- {
- $0 = handleInline()
- if ( $0 ~ "^[\t ]*//.*$" )
- $0 = outputComment( $0 )
- }
- else
- $0 = outputComment( "" )
-}
-
-#
-# Trap any inline functions, including constructors/destructors, with
-# a complete prototype on the first line.
-#
-# ( name !~ "^$" ) &&
-# ( type !~ "enum" ) &&
-# /\)[\t ]*(const[\t ]*)?({(.*})?[\t ]*)?(\/\/.*)?$/ {
-# handleInlineFunction()
-# }
-
-function handleInlineFunction()
-{
- sub( "[\t ]*//.*$", "", $0 )
-
-# XXXX v1 match( $0, ".*\\)[\t ]*(const[\t ]*)?([^{]*{)?[\t ]*" )
-# XXXX v2 match( $0, ".*\\)[\t ]*(const)?([\t ]*\{)?[\t ]*" )
-# XXXX v2 prototype = substr( $0, RSTART, RLENGTH )
-
- pos = index($0,"{")
- if ( pos != 0 )
- prototype = substr( $0, 1, pos-1 )
- else
- prototype = $0
-
- sub( "[\t ]*\{[\t ]*$", "", prototype )
- outputFunction( prototype )
- if ( $0 !~ "}[\t ]*$" )
- {
- savename = name
- $0 = handleInline()
- if ( $0 ~ "^[\t ]*//.*$" )
- $0 = outputComment( $0 )
- else
- {
- if ( savename == name )
- printf( "\n" )
- }
- }
- else
- $0 = outputComment()
-}
-
-#
-# Trap normal Enum declaration.
-#
-# ( name !~ "^$" ) &&
-# ( type !~ "enum" ) &&
-# /\)[\t ]*(enum[\t ]*)?(=[\t ]*0[\t ]*)?,[\t ]*(\/\/.*)?$/ {
-# handleenum()
-# }
-
-function handleEnumFun()
-{
- $0 = Set_c_Comment_to_CPP_Comment( $0)
- match( $0, "//.*" )
- comment = substr( $0, RSTART, RLENGTH )
- $0 = uncomment( $0 )
- outputEnum( $0 )
- $0 = outputComment( comment )
-}
-
-#
-# Trap normal function declaration.
-#
-# ( name !~ "^$" ) &&
-# ( type !~ "enum" ) &&
-# /\)[\t ]*(const[\t ]*)?(=[\t ]*0[\t ]*)?;[\t ]*(\/\/.*)?$/ {
-# handleFunction()
-# }
-
-function handleFunction()
-{
- $0 = Set_c_Comment_to_CPP_Comment( $0)
- match( $0, "//.*" )
- comment = substr( $0, RSTART, RLENGTH )
- $0 = uncomment( $0 )
- outputFunction( $0 )
- $0 = outputComment( comment )
-}
-
-#
-# Trap member variables.
-#
-# ( name !~ "^$" ) &&
-# ( type !~ "enum" ) &&
-# /[\t ]*;[\t ]*(\/\/.*)?$/ {
-# handleMember()
-# }
-
-function handleMember()
-{
- $0 = Set_c_Comment_to_CPP_Comment( $0)
- match( $0, "//.*" )
- comment = substr( $0, RSTART, RLENGTH )
- sub( "[\t ]*//.*", "", $0 )
- outputMember( $0 )
- $0 = outputComment( comment )
-}
-
-function handleMember_orig()
-{
- match( $0, "//.*" )
- comment = substr( $0, RSTART, RLENGTH )
- sub( "[\t ]*//.*", "", $0 )
- outputMember( $0 )
- $0 = outputComment( comment )
-}
-
-function handleMember_neu()
-{
- match( $0, "/\\*.*\\*/" )
- comment = substr( $0, RSTART, RLENGTH )
- if ( length(comment) == 0 )
- {
- match( $0, "//.*" )
- comment = substr( $0, RSTART, RLENGTH )
- }
-# else
-# sub( "[\t ]*//.*", "", $0 )
- $0 = uncomment( $0 )
- outputMember( $0 )
- $0 = outputComment( comment )
-}
-
-#
-# Trap remainder of functions and constructors, where prototypes go
-# over more than one line.
-#
-# ( name !~ "^$" ) &&
-# ( type !~ "enum" ) &&
-# /((\((.*,)?)|([_a-zA-Z0-9_]+))[\t ]*(\/\/.*)?$/ {
-# handleMultilineEnums()
-# }
-
-function handleMultilineEnums( prototype )
-{
- $0 = uncomment( $0 )
- prototype = handleEnumArgs( $0 )
- prototype = uncomment( prototype )
- sub( "\{.*}[\t ]*$", "", prototype )
- outputEnum( prototype )
- if ( prototype !~ ";[\t ]*" )
- {
- savename = name
- $0 = handleInline()
- if ( line ~ "^[\t ]*//.*$" )
- $0 = outputComment( $0 )
- else
- {
- if ( savename == name )
- printf( "\n" )
- }
- }
- else
- $0 = outputComment()
-}
-
-#
-# Trap remainder of functions and constructors, where prototypes go
-# over more than one line.
-#
-# ( name !~ "^$" ) &&
-# ( type !~ "enum" ) &&
-# /((\((.*,)?)|([_a-zA-Z0-9_]+))[\t ]*(\/\/.*)?$/ {
-# handleMultilineFunctions()
-# }
-
-function handleMultilineFunctions( prototype )
-{
- $0 = uncomment( $0 )
- prototype = handleArgs( $0 )
- prototype = uncomment( prototype )
- sub( "\{.*}[\t ]*$", "", prototype )
- outputFunction( prototype )
- if ( prototype !~ ";[\t ]*" )
- {
- savename = name
- $0 = handleInline()
- if ( line ~ "^[\t ]*//.*$" )
- $0 = outputComment( $0 )
- else
- {
- if ( savename == name )
- printf( "\n" )
- }
- }
- else
- $0 = outputComment()
-}
-
-#
-# pushLevel() and popLevel() implement a stack for classes encountered.
-# This is to handle class definitions local to classes.
-# pushLevel() is invoked when entering a abstract data type, and
-# popLevel() is executed when leaving.
-#
-function pushLevel()
-{
- level++
- names[level] = name
- types[level] = type
- hidings[level] = hiding
- topName = name
-
-# 3.11.95 evtl auskommentieren!
- hiding = ""
-
- if ( class == 1 )
- {
- type = "class"
-# hiding = "private"
- }
- else if ( struct == 1 )
- {
- type = "struct"
-# hiding = "public"
- }
- else if ( union == 1 )
- {
- type = "union"
-# hiding = "public"
- }
- else if ( enum == 1 )
- type = "enum"
-}
-
-function popLevel( line )
-{
- if ( name !~ "^$" )
- {
- printf( "END\n%s\n\n", name )
- oldname = name
- name = names[level]
- type = types[level]
- hiding = hidings[level]
- level--
- topName = names[level]
- if ( line ~ "^[\t ]*}.*[_a-zA-Z0-9]+.*;[\t ]*(//.*)?$" )
- {
- line = uncomment( line )
- sub( "^[\t ]*}[\t ]*", "", line )
- if ( line ~ "^[_a-zA-Z0-9]+" )
- line = oldname " " line
- else
- line = oldname line
- outputMember( line )
- return outputComment()
- }
- return ""
- }
-}
-
-#
-# Removes comments from a line.
-#
-function uncomment( line )
-{
- sub( "/\\*.*\\*/", "", line )
- sub( "[\t ]*//.*$", "" , line )
- return line
-}
-
-#
-# Accumulates comment blocks and outputs them, followed by a blank line.
-#
-function outputComment( line )
-{
- if ( line !~ "^[\t ]*//" )
- getline line
-
- num = 0
- while ( line ~ "^[\t ]*//" )
- {
- sub( "^[\t ]*//", "", line )
- if ( line ~ "^[\t ]*=(( [a-zA-Z0-9]+[^<>]*)|(=+))[\t ]*$" )
- break
- else
- lines[num++] = line
-
- getline line
- }
- indent = -1
- for ( i=0; i<num; i++ )
- {
- if ( lines[i] !~ "^[\t ]*=.*" )
- {
- if ( match( lines[i], "^ *[^ ]" ) != 0 )
- {
- if ( indent == -1 )
- indent = RLENGTH-1
- else
- {
- if ( RLENGTH-1 < indent )
- indent = RLENGTH-1
- }
- }
- }
- }
- blank = 0
- for ( i=0; i<num; i++ )
- {
- if ( lines[i] ~ "^[\t ]*$" )
- blank++
- else
- {
- for ( j=0; j<blank; j++ )
- printf( "//\n" )
- blank = 0
- if ( lines[i] !~ "^[\t ]*=( <.+>)?[\t ]*" )
- {
- printf( "// %s\n", substr( lines[i], indent+1 ) )
- }
- else
- {
- sub( "^[\t ]*", "", lines[i] )
- printf( "// %s\n", lines[i] )
- }
- }
- }
- printf( "\n" )
- if ( line ~ "^[\t ]*}.*;[\t ]*$" )
- line = popLevel( line )
-
- return line
-}
-
-#
-# Checks occurences of ADT and determines if they are in fact a definition
-# or a declaration. If they are definition, it will generate any superclasses
-# for the ADT.
-#
-function handleADT( line )
-{
- #
- # Check for class declaration:
- # class Foo;
- #
- if ( line ~ "[_a-zA-Z][ <,>_0-9a-zA-Z]*[\t ]*;" )
- {
- # Do nothing, this is a declaration.
- return 0
- }
- #
- # Check for derived classes:
- # class Foo : Foobar
- #
- else if ( line ~ "[^:]:[^:]*" )
- {
- pushLevel()
- match( line, ".*[^:]:[^:]?" )
- name = substr( line, RSTART, RLENGTH-1 )
- sub( ":.*", "", name )
- sub( "[\t ]*$", "", name )
- if ( template == 1)
- {
- if ( name ~ "<.+>" )
- {
- match( name, "<.+>" )
- args = substr( name, RSTART, RLENGTH )
- sub( "[\t ]*<.+>[\t ]*", "", name )
- }
- }
- match( line, ":.*" )
- bases = substr( line, RSTART, RLENGTH )
- sub( ":[\t ]*", "", bases )
- sub( "[\t ]*$", "", bases )
- if ( bases !~ ",$" && bases !~ "^$" )
- {
- sub( "[\t ]*\{[\t ]*$", "", bases )
- }
- else
- {
- while ( bases ~ ".*,[\t ]*$" || bases ~ "^$" )
- {
- getline contbases
- contbases = uncomment( contbases )
- while ( length( contbases ) == 0 )
- {
- getline contbases
- contbases = uncomment( contbases )
- }
- bases = bases " " contbases
- }
- sub( "[\t ]*\{[\t ]*$", "", bases )
- }
- }
- #
- # Check for non-derived classes:
- # class Foo
- #
- # else if ( line ~ "[_a-zA-Z][ <>,_0-9a-zA-Z]*(<.+>)?[\t ]*\{*$" )
- else if ( line ~ "[_a-zA-Z][ <>,_0-9a-zA-Z]*(<.+>)?[\t ]*(\{[\t ]*)?$" )
- {
- pushLevel()
- if ( template == 1)
- match( line, "[_a-zA-Z][_0-9a-zA-Z]*" )
- else
- match( line, "[_a-zA-Z][ <>,_0-9a-zA-Z]*" )
- name = substr( line, RSTART, RLENGTH )
- sub( "[\t ]*$", "", name )
- if ( template == 1)
- {
- sub( "[_a-zA-Z][_0-9a-zA-Z]*", "", line )
- if ( line ~ "^<" )
- {
- match( line, "<.+>" )
- args = substr( line, RSTART, RLENGTH )
- }
- }
- }
- else
- {
- # Discard anything else.
- return 0
- }
- return 1
-}
-
-#
-# Generates the actual list of superclasses.
-#
-function outputSuperClasses( line )
-{
- if ( line ~ /^[\t ]*$/ )
- printf( "\n" )
- else
- {
- gsub( "(\t| )+", " ", line )
- narg = 0
- while ( match( line, "[^<>,# ]*<[^<>]*>" ) )
- {
- narg++
- arg = substr( line, RSTART, RLENGTH )
- sub( "[^<>,# ]*<[^<>]*>", "#" narg, line )
- bargs["#" narg] = arg
- # Need the following to stop resubstitution of the pattern matched
- # back into the string.
- gsub( "&", "\\\\&", bargs["#" narg] )
- }
- num = split( line, item, "," )
- i = 1
- while ( i<=num )
- {
- access = "private"
- inherit = ""
-
- if ( item[i] ~ "[\t ]*public[\t ]*" )
- {
- access = "public"
- sub( "[\t ]*public[\t ]*", "", item[i] )
- }
- else if ( item[i] ~ "[\t ]*protected[\t ]*" )
- {
- access = "protected"
- sub( "[\t ]*protected[\t ]*", "", item[i] )
- }
- sub( "[\t ]*private[\t ]*", "", item[i] )
-
- if ( item[i] ~ "[\t ]*virtual[\t ]*" )
- {
- inherit = " virtual"
- sub( "[\t ]*virtual[\t ]*", "", item[i] )
- }
-
- while ( match( item[i], "#[0-9]+" ) )
- {
- arg = substr( item[i], RSTART, RLENGTH )
- sub( arg, bargs[arg], item[i] )
- }
- sub( "^[\t ]*", "", item[i] )
- sub( "[\t ]*$", "", item[i] )
-
- printf( "%s%s %s\n", access, inherit, item[i] )
-
- ++i
- }
- printf( "\n" )
- }
-}
-
-#
-# Outputs enum prototypes.
-#
-function outputEnum( line )
-{
- if ( line !~ ";[\t ]*$" )
- {
- sub( "[\t ]*$", ";", line )
- if ( line !~ /^[\t ]*inline[\t ]+/ )
- sub( "^[\t ]*", "inline ", line )
- }
- if ( ( type ~ "class" ) && ( hiding ~ "^$" ) )
- hide = "private"
- else
- hide = "public"
- printf( "ENUM\n%s\n%s\n", name, hiding ~ "^$" ? hide : hiding )
- gsub( "\t", " ", line )
- gsub( " +", " ", line )
- sub( "^ *", "", line )
- sub( " *$", "", line )
- sub( "( ?;)*$", ";", line )
- printf( "%s\n", line )
-}
-
-#
-# Outputs function prototypes.
-#
-function outputFunction( line )
-{
- if ( line !~ ";[\t ]*$" )
- {
- sub( "[\t ]*$", ";", line )
- if ( line !~ /^[\t ]*inline[\t ]+/ )
- sub( "^[\t ]*", "inline ", line )
- }
- if ( ( type ~ "class" ) && ( hiding ~ "^$" ) )
- hide = "private"
- else
- hide = "public"
- printf( "FUNC\n%s\n%s\n", name, hiding ~ "^$" ? hide : hiding )
- gsub( "\t", " ", line )
- gsub( " +", " ", line )
- sub( "^ *", "", line )
- sub( " *$", "", line )
- sub( "( ?;)*$", ";", line )
- printf( "%s\n", line )
-}
-
-#
-# Output member variables.
-#
-function outputMember( line )
-{
- if ( ( type ~ "class" ) && ( hiding ~ "^$" ) )
- hide = "private"
- else
- hide = "public"
- printf( "MEMBER\n%s\n%s\n", name, hiding ~ "^$" ? hide : hiding )
- gsub( "\t", " ", line )
- gsub( " +", " ", line )
- sub( "^ *", "", line )
- sub( " *$", "", line )
- sub( "( ?;)*$", ";", line )
- printf( "%s\n", line )
-}
-
-#
-# Output member variables.
-#
-function outputMemberEnum( line )
-{
- if ( ( type ~ "class" ) && ( hiding ~ "^$" ) )
- hide = "private"
- else
- hide = "public"
- printf( "ENUM\n%s\n%s\n", name, hiding ~ "^$" ? hide : hiding )
- gsub( "\t", " ", line )
- gsub( " +", " ", line )
- sub( "^ *", "", line )
- sub( " *$", "", line )
- sub( "( ?;)*$", ";", line )
- printf( "%s\n", line )
-}
-
-#
-# Gathers up argument lists which cover more than one line.
-#
-function handleArgs( prototype )
-{
- getline line
- line = uncomment( line )
- sub( "^[\t ]*", "", line )
- sub( "[\t ]*$", "", line )
-
- # 3.11.95 supress preproc in fuctions args
- sub( "#.*$", "", line )
-
- if ( ( prototype ~ "\\($" || line ~ "^\\(" || line ~ "^\\)" ) && \
- prototype !~ ",$" )
- prototype = prototype line
- else
- prototype = prototype " " line
- while ( \
- ( prototype !~ "\\)[\t ]*(const[\t ]*)?((\{.*)|(//.*))?$" ) \
- && \
- ( prototype !~ "\\)[\t ]*(const[\t ]*)?(=[\t ]*0[\t ]*)?;[\t ]*(//.*)?$" ) \
- && \
- ( prototype !~ "\\)[\t ]*:.*$" ) \
- )
- {
- getline line
- line = uncomment( line )
- sub( "^[\t ]*", "", line )
- sub( "[\t ]*$", "", line )
-
- # 3.11.95 supress preproc in fuctions args
- sub( "#.*$", "", line )
-
- if ( ( prototype ~ "\\($" || line ~ "^\\(" || line ~ "^\\)" ) && \
- prototype !~ ",$" )
- prototype = prototype line
- else
- prototype = prototype " " line
- }
- if ( prototype ~ "\\)[\t ]*:.*$" )
- sub( "\\)[\t ]*:.*$", ")", prototype )
- else if ( prototype ~ "\\)[\t ]*\{.*$" )
- sub( "\\)[\t ]*\{.*$", ")", prototype )
- return prototype
-}
-
-#
-# Gathers up enum argument lists which cover more than one line.
-#
-function handleEnumArgs( prototype )
-{
- getline line
- line = uncomment( line )
- sub( "^[\t ]*", "", line )
- sub( "[\t ]*$", "", line )
- if ( ( prototype ~ "\\{$" || line ~ "^\\{" || line ~ "^\\}" ) && \
- prototype !~ ",$" )
- prototype = prototype line
- else
- prototype = prototype " " line
- while ( \
- ( prototype !~ "\\}[\t ]*(const[\t ]*)?((\{.*)|(//.*))?$" ) \
- && \
- ( prototype !~ "\\}[\t ]*(const[\t ]*)?(=[\t ]*0[\t ]*)?;[\t ]*(//.*)?$" ) \
- && \
- ( prototype !~ "\\}[\t ]*:.*$" ) \
- )
- {
- getline line
- line = uncomment( line )
- sub( "^[\t ]*", "", line )
- sub( "[\t ]*$", "", line )
- if ( ( prototype ~ "\\($" || line ~ "^\\(" || line ~ "^\\)" ) && \
- prototype !~ ",$" )
- prototype = prototype line
- else
- prototype = prototype " " line
- }
- if ( prototype ~ "\\}[\t ]*:.*$" )
- sub( "\\}[\t ]*:.*$", "}", prototype )
- else if ( prototype ~ "\\}[\t ]*\{.*$" )
- sub( "\\}[\t ]*\{.*$", "}", prototype )
- return prototype
-}
-
-#
-# Skips inline code. End of such code is determined when either a blank line,
-# comment, or end of ADT is encountered.
-#
-function handleInline()
-{
- getline line
- while (line !~ "^[\t ]*(}.*;[\t ]*)?(//.*)?$" )
- getline line
-
- if ( line ~ "[\t ]*}[\t ]*[_a-zA-Z0-9]*[\t ]*;[\t ]*$" )
- {
- printf( "\n" )
- popLevel( line )
- }
-
- if ( line ~ "^[\t ]*//.*" )
- return line
- else
- return ""
-}
-
-#
-# The main parsing loop.
-# This implements a recursive descent parser of sorts.
-#
-function doParse()
-{
- while ( $0 !~ "^$" )
- {
- if ( $0 ~ /^[\t ]*template[\t ]*<[^:]+>[\t ]*$/ )
- {
- getline line
- $0 = $0 " " line
- }
-
- if ( $0 ~ /^[\t ]*\/\/[\t ]*==+[\t ]*$/ )
- {
- handleHeader()
- }
- else if ( $0 ~ /^[\t ]*\/\/[\t ]*= [a-zA-Z0-9]+[^<>]*[\t ]*$/ )
- {
- handleInfo()
- }
- else if ( $0 ~ /^[\t ]*\/\/.*$/ )
- {
- handleComment()
- }
- else if ( $0 ~ /^[\t ]*#[\t ]*define/ )
- {
- handleDefine()
- }
- else if ( $0 ~ /^[\t ]*#[\t ]*include[\t ]*<.+>/ )
- {
- handleInclude()
- }
- else if ( $0 ~ /^[\t ]*#[\t ]*include[\t ]*".+"/ )
- {
- handleLocalInclude()
- }
- else if ( $0 ~ /^[\t ]*#.*$/ )
- {
- handlePreprocessor()
- }
- else if ( $0 ~ /^[\t ]*typedef[\t ]+/ )
- {
- handleTypedef()
- }
- else if ( $0 ~ /^extern[\t ]+/ )
- {
- handleExtern()
- }
- else if ( $0 ~ /^[\t ]*class[\t ]/ )
- {
- handleClass()
- }
- else if ( $0 ~ /^[\t ]*struct[\t ]/ )
- {
- handleStruct()
- }
- else if ( $0 ~ /^[\t ]*union[\t ]/ )
- {
- handleUnion()
- }
- else if ( $0 ~ /^[\t ]*template[\t ]*<.+>[\t ]+class[\t ]/ )
- {
- handleTemplate()
- }
- else if ( $0 ~ /^[\t ]*enum[\t ]*.*;[\t ]*(\/\/.*)?$/ )
- {
-#printf("\ntype=%s-------single------\n",type);
- handleEnumFun()
- }
- else if ( ($0 ~ /((\((.*,)?)|([_a-zA-Z0-9_]+))[\t ]*(\/\/.*)?$/) && ( name !~ "^$" ) && ( $0 ~ /^[\t ]*enum/ ) )
- {
-#printf("\ntype=%s-------multi------\n",type);
- handleMultilineEnums()
- }
- else if ( $0 ~ /^[\t ]*}.*;[\t ]*/ )
- {
- handleEndADT()
- }
- else if ( ( name !~ "^$" ) && ( type !~ "enum" ) )
- {
- if ( $0 ~ /^[\t ]*private[\t ]*:[\t ]*(\/\/.*)?$/ )
- {
- handlePrivate()
- }
- else if ( $0 ~ /^[\t ]*protected[\t ]*:[\t ]*(\/\/.*)?$/ )
- {
- handleProtected()
- }
- else if ( $0 ~ /^[\t ]*public[\t ]*:[\t ]*(\/\/.*)?$/ )
- {
- handlePublic()
- }
- else if ( $0 ~ /^[\t ]*friend[\t ]+/ )
- {
- handleFriend()
- }
- else if ( $0 ~ /\)[\t ]*:[\t ]*.*\(.*\)[\t ]*(\{(.*})?[\t ]*)(\/\/.*)?$/ )
- {
- handleInlineCtor()
- }
- else if ( $0 ~ /\)[\t ]*(const[\t ]*)?(\{(.*})?[\t ]*)?(\/\/.*)?$/ &&
- $0 !~ /^.*operator[\t ]*\(\)[\t ]*(\/\/.*)?$/ )
- {
- handleInlineFunction()
- }
- else if ( $0 ~ /\)[\t ]*(const[\t ]*)?(=[\t ]*0[\t ]*)?;?[\t ]*(\/\/.*)?$/ &&
- $0 !~ /^.*operator[\t ]*\(\)[\t ]*(\/\/.*)?$/ )
- {
- handleFunction()
- }
- else if ( $0 ~ /[\t ]*;[\t ]*(\/\/.*)?(\/\\*.*\\*\/)?$/ )
- {
- handleMember()
- }
- else if ( $0 ~ /((\((.*,)?)|([_a-zA-Z0-9_>)]+[*&]?))[\t ]*(\/\/.*)?$/ )
- {
- handleMultilineFunctions()
- }
- else
- $0 = ""
- }
- else
- $0 = ""
- }
-}
diff --git a/bin/class2man b/bin/class2man
deleted file mode 100755
index c81543d64b2..00000000000
--- a/bin/class2man
+++ /dev/null
@@ -1,78 +0,0 @@
-#! /bin/sh
-# =============================================================================
-#
-# = DESCRIPTION
-# Script to combine class2info and info2man.
-#
-# = AUTHOR(S)
-# Graham Dumpleton
-#
-# = COPYRIGHT
-# Copyright 1991 OTC LIMITED
-#
-# =============================================================================
-
-OSE_HOST=
-
-OSE_RELEASE_NAME=
-export OSE_RELEASE_NAME
-
-OSE_ROOT=${OSE_ROOT-$ACE_ROOT}
-export OSE_ROOT
-
-OSE_VERSION_ROOT=$OSE_ROOT/$OSE_RELEASE_NAME
-export OSE_VERSION_ROOT
-
-BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin"
-LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/lib"}
-
-CLASS2INFO="$BINDIR/class2info"
-INFO2MAN="$BINDIR/info2man"
-
-#
-# Error.
-#
-ERROR()
-{
- echo "`basename $0`: $1" >&2
- shift
- while test $# != "0"
- do
- echo $1 >&2
- shift
- done
- exit 1
-}
-
-#
-# Usage message.
-#
-USAGE()
-{
- ERROR "Usage: `basename $0` files"
-}
-
-#
-# Check usage.
-#
-if test "$#" = "0"
-then
- USAGE
-fi
-
-while test "$#" != "0"
-do
- $CLASS2INFO $1
- if test "$?" != "0"
- then
- exit 1
- fi
- file=`basename $1`
- base="`echo $file | sed -e 's/\..*$//'`"
- if test -f "$base.ci"
- then
- $INFO2MAN $base.ci
- rm -f $base.ci
- fi
- shift
-done
diff --git a/bin/class2mml b/bin/class2mml
deleted file mode 100755
index bb7ab030976..00000000000
--- a/bin/class2mml
+++ /dev/null
@@ -1,79 +0,0 @@
-#! /bin/sh
-# =============================================================================
-#
-# = DESCRIPTION
-# Script to combine class2info and info2mml.
-#
-# = AUTHOR(S)
-# Graham Dumpleton
-#
-# = COPYRIGHT
-# Copyright 1991 OTC LIMITED
-# Copyright 1994 DUMPLETON SOFTWARE CONSULTING PTY LIMITED
-#
-# =============================================================================
-
-OSE_HOST=
-
-OSE_RELEASE_NAME=
-export OSE_RELEASE_NAME
-
-OSE_ROOT=${OSE_ROOT-$ACE_ROOT}
-export OSE_ROOT
-
-OSE_VERSION_ROOT=$OSE_ROOT/$OSE_RELEASE_NAME
-export OSE_VERSION_ROOT
-
-BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin"
-LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/lib"}
-
-CLASS2INFO="$BINDIR/class2info"
-INFO2MAN="$BINDIR/info2mml"
-
-#
-# Error.
-#
-ERROR()
-{
- echo "`basename $0`: $1" >&2
- shift
- while test $# != "0"
- do
- echo $1 >&2
- shift
- done
- exit 1
-}
-
-#
-# Usage message.
-#
-USAGE()
-{
- ERROR "Usage: `basename $0` files"
-}
-
-#
-# Check usage.
-#
-if test "$#" = "0"
-then
- USAGE
-fi
-
-while test "$#" != "0"
-do
- $CLASS2INFO $1
- if test "$?" != "0"
- then
- exit 1
- fi
- file=`basename $1`
- base="`echo $file | sed -e 's/\..*$//'`"
- if test -f "$base.ci"
- then
- $INFO2MAN $base.ci
- rm -f $base.ci
- fi
- shift
-done
diff --git a/bin/class2src b/bin/class2src
deleted file mode 100755
index 5bc63fedc68..00000000000
--- a/bin/class2src
+++ /dev/null
@@ -1,79 +0,0 @@
-#! /bin/sh
-# =============================================================================
-#
-# = DESCRIPTION
-# Generates member function stubs for the src file to standard output.
-#
-# = AUTHOR(S)
-# Graham Dumpleton
-# K. Dorn
-#
-# = COPYRIGHT
-# Copyright 1991 OTC LIMITED
-#
-# =============================================================================
-
-OSE_HOST=
-
-OSE_RELEASE_NAME=
-export OSE_RELEASE_NAME
-
-OSE_ROOT=${OSE_ROOT-$ACE_ROOT}
-export OSE_ROOT
-
-OSE_VERSION_ROOT=$OSE_ROOT/$OSE_RELEASE_NAME
-export OSE_VERSION_ROOT
-
-BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin"
-LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/lib"}
-
-CLASS2INFO="$BINDIR/class2info"
-INFO2SRC="$BINDIR/info2src"
-
-#
-# Error.
-#
-ERROR()
-{
- echo "`basename $0`: $1" >&2
- shift
- while test $# != "0"
- do
- echo $1 >&2
- shift
- done
- exit 1
-}
-
-#
-# Usage message.
-#
-USAGE()
-{
- ERROR "Usage: `basename $0` files"
-}
-
-#
-# Check usage.
-#
-if test "$#" = "0"
-then
- USAGE
-fi
-
-while test "$#" != "0"
-do
- $CLASS2INFO $1
- if test "$?" != "0"
- then
- exit 1
- fi
- file=`basename $1`
- base="`echo $file | sed -e 's/\..*$//'`"
- if test -f "$base.ci"
- then
- $INFO2SRC $base.ci $2 $3 $4
- rm -f $base.ci
- fi
- shift
-done
diff --git a/bin/classinfo.ps b/bin/classinfo.ps
deleted file mode 100755
index 950535ed86e..00000000000
--- a/bin/classinfo.ps
+++ /dev/null
@@ -1,868 +0,0 @@
-%!PS-Adobe-3.0
-%%BoundingBox: 54 72 558 720
-%%Creator: Mozilla (NetScape) HTML->PS
-%%DocumentData: Clean7Bit
-%%Orientation: Portrait
-%%Pages: 9
-%%PageOrder: Ascend
-%%Title: Classinfo Tools
-%%EndComments
-%%BeginProlog
-[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
- /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
- /two /three /four /five /six /seven /eight /nine /colon /semicolon
- /less /equal /greater /question /at /A /B /C /D /E
- /F /G /H /I /J /K /L /M /N /O
- /P /Q /R /S /T /U /V /W /X /Y
- /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
- /d /e /f /g /h /i /j /k /l /m
- /n /o /p /q /r /s /t /u /v /w
- /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
- /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
- /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
- /threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
- /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
- /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
- /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
- /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
- /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
- /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
-/c { matrix currentmatrix currentpoint translate
- 3 1 roll scale newpath 0 0 1 0 360 arc setmatrix } bind def
-/F0
- /Times-Roman findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/f0 { /F0 findfont exch scalefont setfont } bind def
-/F1
- /Times-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/f1 { /F1 findfont exch scalefont setfont } bind def
-/F2
- /Times-Italic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/f2 { /F2 findfont exch scalefont setfont } bind def
-/F3
- /Times-BoldItalic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/f3 { /F3 findfont exch scalefont setfont } bind def
-/F4
- /Courier findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/f4 { /F4 findfont exch scalefont setfont } bind def
-/F5
- /Courier-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/f5 { /F5 findfont exch scalefont setfont } bind def
-/F6
- /Courier-Oblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/f6 { /F6 findfont exch scalefont setfont } bind def
-/F7
- /Courier-BoldOblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/f7 { /F7 findfont exch scalefont setfont } bind def
-/rhc {
- {
- currentfile read {
- dup 97 ge
- { 87 sub true exit }
- { dup 48 ge { 48 sub true exit } { pop } ifelse }
- ifelse
- } {
- false
- exit
- } ifelse
- } loop
-} bind def
-
-/cvgray { % xtra_char npix cvgray - (string npix long)
- dup string
- 0
- {
- rhc { cvr 4.784 mul } { exit } ifelse
- rhc { cvr 9.392 mul } { exit } ifelse
- rhc { cvr 1.824 mul } { exit } ifelse
- add add cvi 3 copy put pop
- 1 add
- dup 3 index ge { exit } if
- } loop
- pop
- 3 -1 roll 0 ne { rhc { pop } if } if
- exch pop
-} bind def
-
-/smartimage12rgb { % w h b [matrix] smartimage12rgb -
- /colorimage where {
- pop
- { currentfile rowdata readhexstring pop }
- false 3
- colorimage
- } {
- exch pop 8 exch
- 3 index 12 mul 8 mod 0 ne { 1 } { 0 } ifelse
- 4 index
- 6 2 roll
- { 2 copy cvgray }
- image
- pop pop
- } ifelse
-} def
-/cshow { dup stringwidth pop 2 div neg 0 rmoveto show } bind def
-/rshow { dup stringwidth pop neg 0 rmoveto show } bind def
-%%EndProlog
-%%Page: 1 1
-%%BeginPageSetup
-/pagelevel save def
-54 0 translate
-%%EndPageSetup
-newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
-24 f1 0 697.5 moveto
-(OSE - Tools User Guide) show
-12 f2 0 668.5 moveto
-(Graham Dumpleton) show
-12 f2 0 655.4 moveto
-(Dumpleton Software Consulting Pty Limited) show
-12 f2 0 642.3 moveto
-(PO BOX 3150) show
-12 f2 0 629.2 moveto
-(Parramatta, 2124) show
-12 f2 0.2 616.1 moveto
-(N.S.W, Australia) show
-12 f2 0 603 moveto
-(email: grahamd@nms.otc.com.au) show
-0 593.9 moveto
-504 0 rlineto 0 -1.4 rlineto -504 0 rlineto closepath fill
-18 f1 0 557.2 moveto
-(Table of Contents) show
-12 f1 0 528.8 moveto
-(Classinfo Tools) show
-12 f0 78.3 528.8 moveto
-( ) show
-12 f1 28 501.7 moveto
-(1 Available Programs) show
-12 f0 139.3 501.7 moveto
-( ) show
-12 f1 28 487.9 moveto
-(2 Global Sections) show
-12 f0 116.6 487.9 moveto
-( ) show
-12 f1 28 474.1 moveto
-(3 Block Formatting) show
-12 f0 127.9 474.1 moveto
-( ) show
-12 f1 28 460.3 moveto
-(4 Inline Formatting) show
-12 f0 128.6 460.3 moveto
-( ) show
-12 f1 28 446.5 moveto
-(5 Class Sections) show
-12 f0 109.3 446.5 moveto
-( ) show
-12 f1 28 432.7 moveto
-(6 Member Documentation) show
-12 f0 162.6 432.7 moveto
-( ) show
-12 f1 28 418.9 moveto
-(7 Contract Section) show
-12 f0 123.3 418.9 moveto
-( ) show
-0 396.5 moveto
-504 0 rlineto 0 -1.4 rlineto -504 0 rlineto closepath fill
-24 f1 0 354 moveto
-(Classinfo Tools) show
-18 f1 0 318.7 moveto
-(1 Available Programs) show
-12 f0 0 290.8 moveto
-(The documentation tools provided with the OSE build environment, allow comments in your code files,) show
-12 f0 0 277.5 moveto
-(to be extracted and formatted into end user documentation. To enable the tools to do this in a predictable) show
-12 f0 0 264.2 moveto
-(manner, the comments must be formatted according to a small set of rules. At present, the tools can) show
-12 f0 0 250.9 moveto
-(extract comments from C++ class header files and produce either UNIX style manual pages, of Frame) show
-12 f0 0 237.6 moveto
-(mml files. The tools provided are described below.) show
-10 f4 0 213.7 moveto
-(-------------------------------------------------------------------------------) show
-10 f5 0 203.2 moveto
-(Program) show
-10 f4 42.2 203.2 moveto
-( ) show
-10 f5 72.2 203.2 moveto
-(Purpose) show
-10 f4 114.2 203.2 moveto
-( ) show
-10 f4 0 192.7 moveto
-(-------------------------------------------------------------------------------) show
-10 f4 0 182.2 moveto
-(class2info Parses a C++ header file and produces a file which contains infor ) show
-10 f4 0 171.7 moveto
-( mation about the class in the header file, in a form which is more ) show
-10 f4 0 161.2 moveto
-( easily parsed by other tools. ) show
-10 f4 0 150.7 moveto
-(info2man Takes the output file from class2info and produces a UNIX ) show
-10 f4 0 140.2 moveto
-( style manual page for each class described in the input file. ) show
-10 f4 0 129.7 moveto
-(class2man Combines the programs class2info and info2man, to pro ) show
-10 f4 0 119.2 moveto
-( duce a UNIX style manual page for each class declaration in a ) show
-10 f4 0 108.7 moveto
-( header file. ) show
-10 f4 0 98.2 moveto
-(info2mml Takes the output file from class2info and produces a Frame ) show
-10 f4 0 87.7 moveto
-( mml file for each class described in the inout file. ) show
-10 f4 0 77.2 moveto
-(class2mml Combines the programs class2info and info2mml, to pro ) show
-pagelevel restore
-showpage
-%%Page: 2 2
-%%BeginPageSetup
-/pagelevel save def
-54 0 translate
-%%EndPageSetup
-newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
-10 f4 0 711.9 moveto
-( duce a Frame mml file for each class declaration in a header file. ) show
-10 f4 0 701.4 moveto
-(-------------------------------------------------------------------------------) show
-12 f0 0 677.7 moveto
-(Using the same front end parser as the documentation extraction tools, are the following tools:) show
-10 f4 0 653.8 moveto
-(----------------------------------------------------------------------------) show
-10 f5 0 643.3 moveto
-(Program) show
-10 f4 42.2 643.3 moveto
-( ) show
-10 f5 66.2 643.3 moveto
-(Purpose) show
-10 f4 108.2 643.3 moveto
-( ) show
-10 f4 0 632.8 moveto
-(----------------------------------------------------------------------------) show
-10 f4 0 622.3 moveto
-(info2src Takes the output file from class2info and produces on stan ) show
-10 f4 0 611.8 moveto
-( dard output, empty stub functions for each of the member func ) show
-10 f4 0 601.3 moveto
-( tions listed in the class declarations described in the file. ) show
-10 f4 0 590.8 moveto
-(class2src Combines the programs class2info and info2src, to pro ) show
-10 f4 0 580.3 moveto
-( duce on standard output, empty stub functions for each of the ) show
-10 f4 0 569.8 moveto
-( member functions listed in the class declarations described in a ) show
-10 f4 0 559.3 moveto
-( header file. ) show
-10 f4 0 548.8 moveto
-(----------------------------------------------------------------------------) show
-12 f0 0 525.1 moveto
-(These use information contained in a C++ class header file, to produce code stubs suitable for the) show
-12 f0 0 511.8 moveto
-(corresponding implementation file for that class.) show
-12 f0 0 485.2 moveto
-(The format which C++ class header files must adhere to is the subject of the remainder of this document.) show
-18 f1 0 452.5 moveto
-(2 Global Sections) show
-12 f0 0 424.6 moveto
-(To include a section in the manual page of each class in a header file, the comment containing the body) show
-12 f0 0 411.3 moveto
-(text of the section, must appear at global scope within the header file. The title of the section must) show
-12 f0 0 398 moveto
-(appear on a separate line, immediately prior to the body text of the section. To distinguish the title of the) show
-12 f0 0 384.7 moveto
-(section from the body text, you must precede it with a tag, consisting of the character `='. There must be) show
-12 f0 0 371.4 moveto
-(a single space only, before and after the tag. For example:) show
-10 f4 0 347.5 moveto
-( // = SECTION TITLE) show
-10 f4 0 326.5 moveto
-( // Body text.) show
-12 f0 0 302.8 moveto
-(Any text following the title of the section, up till the end of the comment, the start of another section, or) show
-12 f0 0 289.5 moveto
-(a line commencing with `==', is interpreted to be the body text for that section. Multiple sections may be) show
-12 f0 0 276.2 moveto
-(documented in a single comment block. Any leading, or trailing blank lines will be discarded in the) show
-12 f0 0 262.9 moveto
-(output. An example of a comment block containing multiple sections is given below.) show
-10 f4 0 239 moveto
-( // =====================================================) show
-10 f4 0 218 moveto
-( //) show
-10 f4 0 197 moveto
-( // = SECTION TITLE1) show
-10 f4 0 176 moveto
-( // Body text.) show
-10 f4 0 155 moveto
-( //) show
-10 f4 0 134 moveto
-( // = SECTION TITLE2) show
-10 f4 0 113 moveto
-( // Body text.) show
-10 f4 0 92 moveto
-( //) show
-pagelevel restore
-showpage
-%%Page: 3 3
-%%BeginPageSetup
-/pagelevel save def
-54 0 translate
-%%EndPageSetup
-newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
-10 f4 0 711.9 moveto
-( // =====================================================) show
-12 f0 0 688.2 moveto
-(Certain sections, appearing at global scope, are given special treatment in the generated manual pages.) show
-12 f0 0 674.9 moveto
-(These are:) show
-10 f4 0 651 moveto
-(-------------------------------------------------------------------------------) show
-10 f5 0 640.5 moveto
-(Section) show
-10 f4 42 640.5 moveto
-( ) show
-10 f5 90 640.5 moveto
-(Description) show
-10 f4 156 640.5 moveto
-( ) show
-10 f4 0 630 moveto
-(-------------------------------------------------------------------------------) show
-10 f4 0 619.5 moveto
-(LIBRARY The name of the library, of which the file is a part. This will ) show
-10 f4 0 609 moveto
-( appear in the header of each manual page. ) show
-10 f4 0 598.5 moveto
-(FILENAME The name of the file. This will be used in conjunction with ) show
-10 f4 0 588 moveto
-( the library name, to produce an include line in the synopsis. ) show
-10 f4 0 577.5 moveto
-(AUTHOR\(S\) The names of the authors. If the authors are placed on sepa ) show
-10 f4 0 567 moveto
-( rate lines, commas should not be used to terminate each line. ) show
-10 f4 0 556.5 moveto
-( If more than one author is placed on a single line, a comma ) show
-10 f4 0 546 moveto
-( should be used to separate each. ) show
-10 f4 0 535.5 moveto
-(COPYRIGHT The copyright applying to the contents of the file. ) show
-10 f4 0 525 moveto
-(VERSION The version number of the file. If using RCS, this would be ) show
-10 f4 0 514.5 moveto
-( set to `$Revision$'. ) show
-10 f4 0 504 moveto
-(DATE RELEASED The date that the current version of the file was released. If ) show
-10 f4 0 493.5 moveto
-( using RCS, this would be set to `$Date$'. ) show
-10 f4 0 483 moveto
-(RCSID The raw ID produced by RCS. Normally set to `$Id$'. ) show
-10 f4 0 472.5 moveto
-(SCCSID The raw ID produced by SCCS. Normally set to `%W%'. ) show
-10 f4 0 462 moveto
-(-------------------------------------------------------------------------------) show
-12 f0 0 438.3 moveto
-(Using these tags, you can construct a comment block at the start of each file, which describes the file,) show
-12 f0 0 425 moveto
-(authors and version of the file. For example:) show
-10 f4 0 401.1 moveto
-( /*) show
-10 f4 0 380.1 moveto
-( // ========================================================) show
-10 f4 0 359.1 moveto
-( //) show
-10 f4 0 338.1 moveto
-( // = LIBRARY) show
-10 f4 0 317.1 moveto
-( // OTC) show
-10 f4 0 296.1 moveto
-( //) show
-10 f4 0 275.1 moveto
-( // = FILENAME) show
-10 f4 0 254.1 moveto
-( // collctn/list.hh) show
-10 f4 0 233.1 moveto
-( //) show
-10 f4 0 212.1 moveto
-( // = RCSID) show
-10 f4 0 191.1 moveto
-( // $Id$) show
-10 f4 0 170.1 moveto
-( //) show
-10 f4 0 149.1 moveto
-( // = AUTHOR\(S\)) show
-10 f4 0 128.1 moveto
-( // Graham Dumpleton) show
-10 f4 0 107.1 moveto
-( //) show
-10 f4 0 86.1 moveto
-( // = COPYRIGHT) show
-pagelevel restore
-showpage
-%%Page: 4 4
-%%BeginPageSetup
-/pagelevel save def
-54 0 translate
-%%EndPageSetup
-newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
-10 f4 0 711.9 moveto
-( // Copyright 1991 1992 1993 OTC LIMITED) show
-10 f4 0 690.9 moveto
-( //) show
-10 f4 0 669.9 moveto
-( // =====================================================) show
-10 f4 0 648.9 moveto
-( */) show
-18 f1 0 619.1 moveto
-(3 Block Formatting) show
-12 f0 0 591.2 moveto
-(When the text of your comments appear in the manual page, they will be reformatted. If you need to) show
-12 f0 0 577.9 moveto
-(include an excerpt of code in the manual page, for example:) show
-10 f4 0 554 moveto
-( // = EXAMPLE) show
-10 f4 0 533 moveto
-( // void dump\(Class* theClass\)) show
-10 f4 0 512 moveto
-( // {) show
-10 f4 0 491 moveto
-( // cout << theClass->name\(\) << endl;) show
-10 f4 0 470 moveto
-( // }) show
-12 f0 0 446.3 moveto
-(it will appear as:) show
-10 f4 0 422.4 moveto
-( void dump\(Class* theClass\) { cout << *theClass << endl; }) show
-12 f0 0 398.7 moveto
-(If the example is complicated, the result will be unreadable.) show
-12 f0 0 372.1 moveto
-(To let the documentation tools know that the text you have included is special and should not be) show
-12 f0 0 358.8 moveto
-(reformatted, you can mark it as being a code example. For example:) show
-10 f4 0 334.9 moveto
-( // = EXAMPLE) show
-10 f4 0 313.9 moveto
-( // = BEGIN<CODE>) show
-10 f4 0 292.9 moveto
-( // void dump\(Class* theClass\)) show
-10 f4 0 271.9 moveto
-( // {) show
-10 f4 0 250.9 moveto
-( // cout << *theClass << endl;) show
-10 f4 0 229.9 moveto
-( // }) show
-10 f4 0 208.9 moveto
-( // = END<CODE>) show
-12 f0 0 185.2 moveto
-(The commands in this example are, `BEGIN<CODE>'and `END<CODE>'. In all cases, the format of) show
-12 f0 0 171.9 moveto
-(commands used to change the formatting of a block of text is:) show
-10 f4 0 148 moveto
-( // = BEGIN<COMMAND>) show
-10 f4 0 127 moveto
-( // ....) show
-10 f4 0 106 moveto
-( // = END<COMMAND>) show
-12 f0 0 82.3 moveto
-(The `BEGIN' for a command, must always have a matching `END'. The commands which are currently) show
-pagelevel restore
-showpage
-%%Page: 5 5
-%%BeginPageSetup
-/pagelevel save def
-54 0 translate
-%%EndPageSetup
-newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
-12 f0 0 709.2 moveto
-(understood by the documentation tools are:) show
-10 f4 0 685.3 moveto
-(--------------------------------------------------------------------) show
-10 f5 0 674.8 moveto
-(Command) show
-10 f4 42 674.8 moveto
-( ) show
-10 f5 54 674.8 moveto
-(Description) show
-10 f4 120 674.8 moveto
-( ) show
-10 f4 0 664.3 moveto
-(--------------------------------------------------------------------) show
-10 f4 0 653.8 moveto
-(INDENT Text will be indented with respect to the surrounding text. ) show
-10 f4 0 643.3 moveto
-(NOFILL Text will be output with indentation and formatting as it ) show
-10 f4 0 632.8 moveto
-( appears. ) show
-10 f4 0 622.3 moveto
-(CODE Text is output in `NOFILL' mode using a fixed width font. ) show
-10 f4 0 611.8 moveto
-(COMMENT Text will not be output. This command would be used to sur ) show
-10 f4 0 601.3 moveto
-( round comments about the implementation, which should not ) show
-10 f4 0 590.8 moveto
-( appear in the user documentation. ) show
-10 f4 0 580.3 moveto
-(--------------------------------------------------------------------) show
-12 f0 0 556.6 moveto
-(Commands may be nested, with the exception that no commands should be nested within a `CODE') show
-12 f0 0 543.3 moveto
-(block.) show
-18 f1 0 510.6 moveto
-(4 Inline Formatting) show
-12 f0 0 482.7 moveto
-(As well as changing the formatting of a block of text, you can change the font style used. This is done) show
-12 f0 0 469.4 moveto
-(by placing special sequences of characters in the body of the text. Inline formatting commands come in) show
-12 f0 0 456.1 moveto
-(the following three forms:) show
-10 f4 0 432.2 moveto
-(----------------------------------------------------------------------------------) show
-10 f5 0 421.7 moveto
-(Command) show
-10 f4 42 421.7 moveto
-( ) show
-10 f5 96 421.7 moveto
-(Description) show
-10 f4 162 421.7 moveto
-( ) show
-10 f4 0 411.2 moveto
-(----------------------------------------------------------------------------------) show
-10 f4 0 400.7 moveto
-(<text> Text between `<` and `>', is displayed in a fixed with font. ) show
-10 f4 0 390.2 moveto
-(<{text}> Text between `<{` and `}>', is displayed in an italic font. ) show
-10 f4 0 379.7 moveto
-(<[text]> Text between `<[` and `]>', is displayed in a bold font. ) show
-10 f4 0 369.2 moveto
-(----------------------------------------------------------------------------------) show
-12 f0 0 345.5 moveto
-(`<text>' should be used for all C++ keywords, function names, variable names, class names, expressions) show
-12 f0 0 332.2 moveto
-(etc. The others can be used to highlight text. An example of how inline formatting commands may be) show
-12 f0 0 318.9 moveto
-(used, follows:) show
-10 f4 0 295 moveto
-( // = ASSERTIONS) show
-10 f4 0 274 moveto
-( // Assertion checks can be placed into code using) show
-10 f4 0 253 moveto
-( // the <OTCLIB_ASSERT\(\)> macro. Note that you should) show
-10 f4 0 232 moveto
-( // <[NOT]> use an expression in the condition check,) show
-10 f4 0 211 moveto
-( // which has a side effect, the result of which is) show
-10 f4 0 190 moveto
-( // necessary for the correct operation of the) show
-10 f4 0 169 moveto
-( // program. The reason for this, is that assertions) show
-10 f4 0 148 moveto
-( // can be compiled out of your code by defining the) show
-10 f4 0 127 moveto
-( // <NDEBUG> symbol.) show
-12 f0 0 103.3 moveto
-(Since `<`, and `>' are special characters, you must prefix them with a `\\' if the actual character needs to) show
-12 f0 0 90 moveto
-(printed. For example:) show
-pagelevel restore
-showpage
-%%Page: 6 6
-%%BeginPageSetup
-/pagelevel save def
-54 0 translate
-%%EndPageSetup
-newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
-10 f4 0 711.9 moveto
-( <operator\\<\(\)>) show
-12 f0 0 688.2 moveto
-(If `{`, `}', `[` or `]' appear adjacent to either `<` or `>' in the forms described above, they will also need) show
-12 f0 0 674.9 moveto
-(to be prefixed with a `\\'. For example:) show
-10 f4 0 651 moveto
-( <\\[A-Za-z_]*>) show
-18 f1 0 621.2 moveto
-(5 Class Sections) show
-12 f0 0 593.3 moveto
-(Sections pertaining to a class, are placed in the class declaration before the initial opening brace. For) show
-12 f0 0 580 moveto
-(example:) show
-10 f4 0 556.1 moveto
-( template<class T>) show
-10 f4 0 535.1 moveto
-( class OTC_List : public OTC_Collection<T>) show
-10 f4 0 514.1 moveto
-( // = SECTION NAME) show
-10 f4 0 493.1 moveto
-( // Body text.) show
-10 f4 0 472.1 moveto
-( {) show
-10 f4 0 451.1 moveto
-( ...) show
-10 f4 0 430.1 moveto
-( };) show
-12 f0 0 406.4 moveto
-(These sections will only appear in the manual page for that class. Sections appearing with a class, which) show
-12 f0 0 393.1 moveto
-(are given special treatment in the manual page are:) show
-10 f4 0 369.2 moveto
-(-----------------------------------------------------------------------------) show
-10 f5 0 358.7 moveto
-(Section) show
-10 f4 42 358.7 moveto
-( ) show
-10 f5 78 358.7 moveto
-(Description) show
-10 f4 144 358.7 moveto
-( ) show
-10 f4 0 348.2 moveto
-(-----------------------------------------------------------------------------) show
-10 f4 0 337.7 moveto
-(TITLE A one line description of the class. This will be used in the ) show
-10 f4 0 327.2 moveto
-( `NAME' section of the manual page. ) show
-10 f4 0 316.7 moveto
-(CLASS TYPE The type of class. For example: Abstract or Concrete. ) show
-10 f4 0 306.2 moveto
-(AUDIENCE Who may use the class. For example, the class may only be ) show
-10 f4 0 295.7 moveto
-( of interest to the class librarian. ) show
-10 f4 0 285.2 moveto
-(DESCRIPTION A description of the class. ) show
-10 f4 0 274.7 moveto
-(NOTES Any special features, unimplemented but desirable features, ) show
-10 f4 0 264.2 moveto
-( side effects, or known bugs. ) show
-10 f4 0 253.7 moveto
-(SEE ALSO References to any associated documents, systems or classes. ) show
-10 f4 0 243.2 moveto
-( If listed separately on each line, no comma should be used at ) show
-10 f4 0 232.7 moveto
-( the end of the line. If more than one appears on a single line, ) show
-10 f4 0 222.2 moveto
-( a comma should be used to separate them. ) show
-10 f4 0 211.7 moveto
-(EXAMPLE If realistic, a brief example of how the class may be used. ) show
-10 f4 0 201.2 moveto
-( Copious examples should not be included here, but should be ) show
-10 f4 0 190.7 moveto
-( described in a separate user guide. ) show
-10 f4 0 180.2 moveto
-(-----------------------------------------------------------------------------) show
-18 f1 0 150.4 moveto
-(6 Member Documentation) show
-12 f0 0 122.5 moveto
-(Documentation for member variables and member functions do not have to be tagged, as has been the) show
-12 f0 0 109.2 moveto
-(case so far. It does however have to be put in a certain place with respect to the member variable or) show
-12 f0 0 95.9 moveto
-(function declaration. The locations, where comments related to a member function or variable can be) show
-12 f0 0 82.6 moveto
-(placed, are on the same line as the declaration following the semi-colon,) show
-pagelevel restore
-showpage
-%%Page: 7 7
-%%BeginPageSetup
-/pagelevel save def
-54 0 translate
-%%EndPageSetup
-newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
-10 f4 0 706.7 moveto
-( void func1\(\); // Comment) show
-10 f4 0 685.7 moveto
-( void func2\(\); // Comment) show
-12 f0 0 662 moveto
-(or on the line immediately following the declaration.) show
-10 f4 0 638.1 moveto
-( void func1\(\);) show
-10 f4 0 617.1 moveto
-( // Comment) show
-10 f4 0 585.6 moveto
-( void func2\(\);) show
-10 f4 0 564.6 moveto
-( // Comment) show
-12 f0 0 540.9 moveto
-(The comment may extend over more than one line. A comment for a particular member variable or) show
-12 f0 0 527.6 moveto
-(function will be terminated by any line which doesn't contain only a comment. A comment will only be) show
-12 f0 0 514.3 moveto
-(associated with the declaration which immediately preceeds it. For example:) show
-10 f4 0 490.4 moveto
-( void func1\(\);) show
-10 f4 0 469.4 moveto
-( void func2\(\);) show
-10 f4 0 448.4 moveto
-( // Comment) show
-12 f0 0 424.7 moveto
-(the comment is associated with func2\(\) only and not func1\(\).) show
-12 f0 0 398.1 moveto
-(If a member function is defined inline, the comment must be placed after the code. For example:) show
-10 f4 0 374.2 moveto
-( void func1\(\) { ... }) show
-10 f4 0 353.2 moveto
-( // Comment) show
-10 f4 0 321.7 moveto
-( void func2\(\)) show
-10 f4 0 300.7 moveto
-( { ... }) show
-10 f4 0 279.7 moveto
-( // Comment) show
-12 f0 0 256 moveto
-(A limitation of the extraction tools, currently requires that you do not place comments, or blank lines,) show
-12 f0 0 242.7 moveto
-(within the body of the inline code.) show
-18 f1 0 210 moveto
-(7 Contract Section) show
-12 f0 0 182.1 moveto
-(Contracts allow grouping of related member functions and variables. This) show
-12 f0 0 155.5 moveto
-(makes it easier to find a function which serves the purpose you require.) show
-12 f0 0 128.9 moveto
-(A contract is a grouping of operations which fulfill a responsibility of the class. Contracts could include:) show
-18.1 106.4 moveto
-3.3 3.3 c fill
-12 f0 28 102.3 moveto
-(Initialisation of the class.) show
-18.1 93.1 moveto
-3.3 3.3 c fill
-12 f0 28 89 moveto
-(Destruction of the class.) show
-18.1 79.8 moveto
-3.3 3.3 c fill
-12 f0 28 75.7 moveto
-(The ability to insert items into, or modify a particular aspect of a class.) show
-pagelevel restore
-showpage
-%%Page: 8 8
-%%BeginPageSetup
-/pagelevel save def
-54 0 translate
-%%EndPageSetup
-newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
-18.1 713.3 moveto
-3.3 3.3 c fill
-12 f0 28 709.2 moveto
-(The ability to make queries about a class or iterate over data it contains.) show
-12 f0 0 682.6 moveto
-(A contract section is started by placing a comment containing the section title, prior to the functions in) show
-12 f0 0 669.3 moveto
-(the class that are being grouped together. The list of functions in a contract is terminated by the) show
-12 f0 0 656 moveto
-(commencement of another contract, a new public, protected, or private section, or the end of the class.) show
-12 f0 0 629.4 moveto
-(If contract sections are used, only functions which appear under a contract section will appear in the) show
-12 f0 0 616.1 moveto
-(manual page. Functions which are not in a contract section are not displayed. If no contract sections are) show
-12 f0 0 602.8 moveto
-(used, two default contract sections, with labels `PROTECTED MEMBERS' and `PUBLIC) show
-12 f0 0 589.5 moveto
-(MEMBERS', will be created.) show
-12 f0 0 562.9 moveto
-(An example of a class using contracts is:) show
-10 f4 0 539 moveto
-( class Class) show
-10 f4 0 518 moveto
-( // ...) show
-10 f4 0 497 moveto
-( {) show
-10 f4 0 476 moveto
-( public:) show
-10 f4 0 444.5 moveto
-( ~Class\(\);) show
-10 f4 0 423.5 moveto
-( // This will not appear in the) show
-10 f4 0 402.5 moveto
-( // manual page.) show
-10 f4 0 371 moveto
-( // = INITIALISATION) show
-10 f4 0 339.5 moveto
-( Class\(char const* theString\);) show
-10 f4 0 318.5 moveto
-( // This will appear in the manual) show
-10 f4 0 297.5 moveto
-( // page in section INITIALISATION.) show
-10 f4 0 276.5 moveto
-( //) show
-10 f4 0 255.5 moveto
-( // Inline formatting, for example:) show
-10 f4 0 234.5 moveto
-( // <theString>, may be used, as may) show
-10 f4 0 213.5 moveto
-( // block formatting commands.) show
-10 f4 0 182 moveto
-( // = QUERY) show
-10 f4 0 161 moveto
-( // As with all other sections, a contract) show
-10 f4 0 140 moveto
-( // section can have body text. This will appear) show
-10 f4 0 119 moveto
-( // in the manual page after the section name and) show
-10 f4 0 98 moveto
-( // before the functions are listed.) show
-pagelevel restore
-showpage
-%%Page: 9 9
-%%BeginPageSetup
-/pagelevel save def
-54 0 translate
-%%EndPageSetup
-newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
-10 f4 0 711.9 moveto
-( char const* string\(\);) show
-10 f4 0 680.4 moveto
-( // Extra information for the current contract may) show
-10 f4 0 659.4 moveto
-( // also be included between members. This is) show
-10 f4 0 638.4 moveto
-( // generally used where it is necessary to make a) show
-10 f4 0 617.4 moveto
-( // comment about a specific set of members in a) show
-10 f4 0 596.4 moveto
-( // contract.) show
-10 f4 0 564.9 moveto
-( OTC_Boolean isValid\(\) const;) show
-10 f4 0 543.9 moveto
-( };) show
-10 f4 0 522.9 moveto
-( ) show
-pagelevel restore
-showpage
-%%EOF
diff --git a/bin/generate_doxygen.pl b/bin/generate_doxygen.pl
index d7a9472500e..b7ca9714925 100755
--- a/bin/generate_doxygen.pl
+++ b/bin/generate_doxygen.pl
@@ -12,8 +12,10 @@ require File::Path;
# Configuration and default values
$is_release = 0;
+$exclude_ace = 0;
+$exclude_tao = 0;
@ACE_DOCS = ('ace',
- 'ace_man',
+ 'ace_man',
'ace_rmcast',
'ace_ssl');
@TAO_DOCS = ('tao',
@@ -25,7 +27,7 @@ $is_release = 0;
'tao_esf',
'tao_rtevent',
'tao_implrepo',
- 'tao_strategies');
+ 'tao_strategies');
# Modify defaults using the command line arguments
&parse_args ();
@@ -35,8 +37,8 @@ open(CONFIG_H, ">ace/config.h")
print CONFIG_H "#include \"ace/config-doxygen.h\"\n";
close (CONFIG_H);
-&generate_doxy_files ('ACE', 'VERSION', @ACE_DOCS);
-&generate_doxy_files ('TAO', 'TAO/VERSION', @TAO_DOCS);
+&generate_doxy_files ('ACE', 'VERSION', @ACE_DOCS) if (!$exclude_ace);
+&generate_doxy_files ('TAO', 'TAO/VERSION', @TAO_DOCS) if (!$exclude_tao);
unlink "ace/config.h";
@@ -49,6 +51,10 @@ sub parse_args {
push @ARGS, $ARGV[0];
} elsif ($ARGV[0] eq "-is_release") {
$is_release = 1;
+ } elsif ($ARGV[0] eq "-exclude_ace") {
+ $exclude_ace = 1;
+ } elsif ($ARGV[0] eq "-exclude_tao") {
+ $exclude_tao = 1;
} else {
print "Ignoring option $ARGV[0]\n";
}
@@ -88,21 +94,21 @@ sub generate_doxy_files {
chomp;
if (/^PROJECT_NUMBER/) {
print DOXYOUTPUT "PROJECT_NUMBER = ", $VERSION, "\n";
- next;
+ next;
} elsif (/^GENERATE_MAN/ && /= YES/) {
- $generate_man = 1;
+ $generate_man = 1;
} elsif (/^GENERATE_HTML/ && /= YES/) {
- $generate_html = 1;
+ $generate_html = 1;
} elsif ($generate_html && /^HTML_OUTPUT/) {
my @field = split(' = ');
- if ($#field >= 1) {
- push @output_dirs, $field[1];
- }
+ if ($#field >= 1) {
+ push @output_dirs, $field[1];
+ }
} elsif ($generate_html && /^MAN_OUTPUT/) {
my @field = split(' = ');
- if ($#field >= 1) {
- push @output_dirs, $field[1];
- }
+ if ($#field >= 1) {
+ push @output_dirs, $field[1];
+ }
}
print DOXYOUTPUT $_, "\n";
}
diff --git a/bin/generate_html_windex b/bin/generate_html_windex
deleted file mode 100755
index 981f73f9bd2..00000000000
--- a/bin/generate_html_windex
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/sh
-
-# $Id$
-
-# Author: Ossama Othman <othman@cs.wustl.edu>
-
-# This script generates an HTML windex file from a given list of man pages.
-# It is meant to be a replacement for platforms that do not have a
-# "catman -w" equivalent command. No intermediate windex file is necessary.
-
-# SED ans AWK expressions derived from man2html related scripts in the
-# same directory this script is found in.
-
-set -e
-
-HTML_WINDEX="acewindex.html"
-
-echo Generating ACE HTML manual page index: $HTML_WINDEX.
-
-rm -f $HTML_WINDEX
-
-cat > $HTML_WINDEX <<EOF
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
- <head>
- <title>ACE Manual Page Index</title>
- </head>
-
- <body text = "#000000" link="#000fff" vlink="#ff0f0f" bgcolor="#ffffff">
- <center><h1>ACE Manual Page Index</h1></center>
-
- <p>
-
- This file has been generated from the <A
- HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/man/man3/">manual pages</A>
- in the <A
- HREF="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</A> package and
- it contains a list of pointers to the manual pages generated by the
- <A HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/bin/README.html">OSE
- documentation tools</A>.
-
- <p>
- <HR>
- <UL>
-EOF
-
-for p in $@; do
- file=`basename $p`
- man_page=`echo $file | sed -e 's/\.[0-9]$//'`
- entry=`echo $file | sed -e 's/\./ /' -e 's/[0-9]$/(\0)/'`
- description=`cat $p | awk '/^.SH.*NAME.*$/ {getline;while ( $0 !~ /\.[a-zA-Z]+.*/ ) {getline; if ($0 !~ /\.[a-zA-Z]+.*/ ) print}}' | \
- sed -e 's/\\-/-/g' \
- -e 's/\\ / /g' \
- -e 's/\\\//g' \
- -e 's/\\[0&]/ /g' \
- -e 's/&/\&amp;/g' \
- -e 's/</\&lt;/g' \
- -e 's/>/\&gt;/g' \
- -e 's/\\|//g' \
- -e 's^\\fB\([^\\]*\)\\fR^<B>\1</B></I>^g' \
- -e 's^\\f(CO\(.[^\\]*\)\\fR^<CODE>\1</CODE>^g' \
- -e 's^\\fI\(.[^\\]*\)\\fR^<I>\1</I></B>^g' \
- -e 's^\\fB^<B>^g' \
- -e 's^\\f(CO^<CODE>^g' \
- -e 's^\\fI^<I>^g' \
- -e 's^\\f[RP]^</B></I></CODE>^g' \
- -e 's/^\.RS.*/<UL>/' \
- -e 's$^\.RE.*$</UL>$' \
- -e '/^\.[a-zA-Z]*.*/d'`
-
- echo "<li><a HREF =\"html/$man_page.html\">$entry</a> $description</li>" >> $HTML_WINDEX
-
-done
-
-cat >> $HTML_WINDEX <<EOF
-</UL>
-
- <hr>
-EOF
-
-echo Last modified: `date` >> $HTML_WINDEX
-
-cat >> $HTML_WINDEX <<EOF
- </body>
-</html>
-EOF
diff --git a/bin/generate_man_pages b/bin/generate_man_pages
deleted file mode 100755
index 6c7f3f04118..00000000000
--- a/bin/generate_man_pages
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/sh
-# $Id$
-#
-# Generates ACE man and html pages from ACE headers.
-#
-# Author: David L. Levine, based on instructions from Douglas C. Schmidt.
-
-umask 022
-
-# 2. I then move all the *.3 man files to $ACE_ROOT/man/man3.
-# [cd to man/man3 now so we don't have to move the files later.]
-if [ -d man/man3 -a -d man/html ]; then
- /bin/rm -f man/man3/*.3 man/html/*.html man/windex man/acewindex.html
- cd man/man3
-else
- echo $0': ERROR, man directories not found!' >&2
- echo 'Are you in an ACE_wrappers directory?' >&2
- exit 1
-fi
-
-# 1. I use "class2man" to convert the *.h files in $ACE_ROOT/ace
-# to nroff man files.
-ACE_HEADERS=`find ../../ace -name CLASSIX -prune -o \
- -name '*.h' ! -name 'config*.h' ! -name 'ws2tcpip.h' \
- ! -name 'RMCast_Export.h' ! -name 'RMCast_Reassembly.h' -print`
-../../bin/class2man $ACE_HEADERS > /dev/null
-
-# 3. Then I run "man2html" on the *.3 files to produce the *.html files.
-../../bin/man2html *.3 > /dev/null
-
-# 4. I copy [move] the *.html files into $ACE_ROOT/man/html.
-mv -f *.html ../html
-
-# 5. Then I run "catman -w -M ." on $ACE_ROOT/man/
-# to produce the windex file.
-cd ..
-catman -w -M .
-
-# 6. Finally, I run "html-windex < windex > acewindex.html"
-# to produce the final HTML index.
-../bin/html-windex < windex > acewindex.html
diff --git a/bin/hiding.fmt b/bin/hiding.fmt
deleted file mode 100644
index e77a719aee2..00000000000
--- a/bin/hiding.fmt
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# access control file for ADTs
-#
-# K. Dorn
-#
-
-CSAMERGECXXHXX
-off
-
-CSAHEADER
-on
-
-PUBLIC
-on
-
-PROTECTED
-on
-
-PRIVATE
-on
diff --git a/bin/html-windex b/bin/html-windex
deleted file mode 100755
index 153023a1621..00000000000
--- a/bin/html-windex
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh
-#
-# This script generates automatically to its stdout a windex.html file;
-# this file is useful just after running man2html.
-# All the html man pages must be located under an html directory at the
-# same level as the generated windex.html file.
-#
-
-
-WINDEX=$1
-
-cat <<EOF
- <!-- This is an automatically generated file. Do Not Edit!
- Use windex2html to generate it -->
- <center><h1>ACE Manual Page Index</h1></center>
-<BODY text = "#000000"
-link="#000fff"
-vlink="#ff0f0f"
-bgcolor="#ffffff">
- <p>
-
- This file has been generated from the <A
- HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/man/windex">windex</A>
- file from the <A
- HREF="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</A> package and
- it contains a list of pointers to the manual pages generated by the
- <A HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/bin/README.html">OSE
- documentation tools</A>.
-
- <p>
- <HR>
- <UL>
-EOF
-
-cat $WINDEX | \
- sed -e 's/ / /g' \
- -e 's/^[a-zA-Z0-9_]*/&\.html">/g' \
- -e 's%(3).*-%(3)</a>%g' \
- -e 's/\.PP/<BR>/g' \
- -e 's%^%<li><a HREF="html/%g' \
- -e 's%\\f(CO[a-zA-Z0-9_]*%<CODE>&</B></I></CODE>%g' \
- -e 's%\\f(CO%%g'
-
-echo "</UL>"
diff --git a/bin/info2doc.awk b/bin/info2doc.awk
deleted file mode 100755
index 6e0451fef3f..00000000000
--- a/bin/info2doc.awk
+++ /dev/null
@@ -1,2182 +0,0 @@
-# =============================================================================
-#
-# = DESCRIPTION
-# Awk script which performs the actual conversion from classinfo file
-# to various types of documentation.
-#
-# = AUTHOR(S)
-# Graham Dumpleton
-# K.Dorn
-#
-# = COPYRIGHT
-# Copyright 1991 OTC LIMITED
-# Copyright 1994 DUMPLETON SOFTWARE CONSULTING PTY LIMITED
-#
-# =============================================================================
-
-BEGIN {
- #
- # Set some defaults.
- #
- #device = "text"
-# access["public"] = "on"
-# access["protected"] = "on"
-# access["private"] = "on"
- access["public"] = publ
- access["protected"] = prot
- access["private"] = priv
-
- lower["CLASS"] = "class"
- lower["STRUCT"] = "struct"
- lower["UNION"] = "union"
- lower["class"] = "class"
- lower["struct"] = "struct"
- lower["union"] = "union"
- upper["public"] = "PUBLIC"
- upper["protected"] = "PROTECTED"
- upper["private"] = "PRIVATE"
-
- classfunc = ""
- rettyp = ""
- classname=""
- classtitle=""
- filedate=""
- filename=""
- filename1=""
- origfile=""
- author=""
- classdescription=""
- firsttime = "first"
- nesting_level = 0
-
-# csaprintheader=1
-
- #
- # Check that info file, class have been specified.
- #
- # if ( infile ~ /^$/ || class ~ /^$/ )
- # exit
-
- #
- # Read in info file.
- #
- # FS="\n"; RS=""
- # while ( getline < infile > 0 )
- # lines[++num] = $0
-
- #
- # Prepare for format file.
- #
- FS=" "; RS="\n"
-
- #
- # Find some defaults in info file.
- #
- # findLibrary()
- # findFilename()
-}
-# end of Begin section!!!!!
-
-
-#
-#
-#
-function csa_print_compilation_header_alt()
-{
- if (csaprintheader == "on")
- {
- if ( length( firsttime ) > 3 )
- {
-
- csa_compilation_header=sprintf("\n/*[ Compilation unit "\
- "----------------------------------------------------------\n"\
- "\n"\
- " Component\ \ \ \ \ \ \ : CSA - OSC\n"\
- "\n"\
- " Name\ \ \ \ \ \ \ \ \ \ \ \ : %s.h\n"\
- "\n"\
- " Author : %s\n"\
- "\n"\
- " Language : C++\n"\
- "\n"\
- " Creation Date : %s\n"\
- "\n"\
- " Test State : %%Q%%\n"\
- "\n"\
- " Description : %s\n"\
- " %s\n"\
- "\n"\
- "\n"\
- " Copyright (C) Siemens AG 1995 All Rights Reserved\n"\
- "\n"\
- "--------------------------------------"\
- "---------------------------------------*/\n"\
- "/*] END */\n"\
- "#pragma ident \"%%Z%% %%M%% %%I%% (%%G%%), %%Y%% %%Q%%:"\
- " implementation file for class \n"\
- "%s\"\n"\
- "\n"\
- "#undef __STDC__\n"\
- "#undef __GNUG__\n"\
- "\n",filename1,author,filedate,classtitle,classdescription,classname);
- printf("%s",csa_compilation_header);
- firsttime = ""
- }
- }
-}
-#
-#
-#
-function csa_print_compilation_header()
-{
- if ((csaprintheader == "on" && merge != "on") || (merge == "on" && loop == "1"))
- {
- if ( length( firsttime ) > 3 )
- {
- for ( i=0; i<=num; i++ )
- {
- n = split( lines[i], line, "\n" )
- if (line[1] == "INCLUDE" && line[2] !~ /^.*\.\i/)
- printf( "#include %s\n", line[2])
- }
-
-
- csa_compilation_header=sprintf(vcohxx,filename1,author,filedate,classtitle,classdescription,classname);
- printf("%s",csa_compilation_header);
- firsttime = ""
- }
- }
-}
-
-#
-#
-#
-function csa_print_class_header_alt()
-{
- if (csaprintheader == "on")
- {
- csa_class_header=sprintf("\n/*[ Class ---------------------"\
- "-------------------------------------------\n"\
- "\n"\
- " Name : %s\n"\
- "\n"\
- " Description : %s\n"\
- " %s\n"\
- "\n"\
- "--------------------------------------------"\
- "------------------------------*/\n\n",class,classtitle,classdescription)
-
- if ( device != "text" )
- print( ".nf\n" )
- printf("%s",csa_class_header);
- }
-}
-#
-#
-#
-function csa_print_class_header()
-{
- if (csaprintheader == "on")
- {
- csa_class_header=sprintf(vclhxx,class,classtitle,classdescription)
-
- if ( device != "text" )
- print( ".nf\n" )
- printf("%s",csa_class_header);
- }
-}
-
-#
-#
-#
-function csa_print_class_end()
-{
- if (csaprintheader == "on")
- {
- csa_class_end=sprintf("\n/*] END Class */\n\n")
-
- if ( device != "text" )
- print( ".nf\n" )
- printf("%s",csa_class_end);
- }
-}
-
-#
-#
-#
-function csa_collect_info()
-{
- classdescription = ""
- classtitle = ""
- found = 0
- for ( i=0; i<=num; i++ )
- {
-
- n = split( lines[i], line, "\n" )
-
- csa_get_filedate_and_name()
- csa_get_class_name_and_title(n)
- csa_get_library()
- csa_get_author()
-
-
-
- if ( line[1] == "INFO" &&
- line[2] == "HDR" &&
- line[3] == "DESCRIPTION" &&
- line[4] == class )
- {
- found = 1
- break
- }
-
- }
- if ( found == 1 )
- {
- for ( i=5; i<=n; i++ )
- {
- len = length(line[i])
- comm = substr(line[i],4,len)
- classdescription = classdescription comm "\n "
- }
- }
-
- found = 0
-
- csa_get_origfile_name()
-}
-
-#
-#
-#
-function csa_get_origfile_name()
-{
- len=length(infile)
- origfile=substr(infile,1,len-2)
- origfile = origfile "h"
-}
-
-#
-#
-#
-function csa_get_author()
-{
- if ( line[1] == "INFO" &&
- line[2] == "GLOBAL" &&
- line[3] == "AUTHOR" )
- {
- len=length(line[4])
- author=substr(line[4],4,len)
- }
-}
-
-#
-#
-#
-function csa_get_library()
-{
- if ( line[1] == "INFO" &&
- line[2] == "GLOBAL" &&
- line[3] == "LIBRARY" )
- {
- #library=line[4]
- }
-}
-
-#
-#
-#
-function csa_get_class_name_and_title(n)
-{
- if ( line[1] == "INFO" &&
- line[2] == "HDR" &&
- line[3] == "TITLE" &&
- line[4] == class )
- {
- classname=line[4]
-# classtitle=line[5]
-# len = length(line[5])
-# classtitle = substr(line[5],4,len)
- for ( j=5; j<=n; j++ )
- {
- len = length(line[j])
- comm = substr(line[j],4,len)
- classtitle = classtitle comm "\n "
- }
- }
-}
-
-#
-#
-#
-function csa_get_filedate_and_name()
-{
- if ( line[1] == "CLASS2INFO" )
- {
- filedate=line[2]
- filename=line[3]
- len=length(line[3])
- filename1=substr(line[3],1,(len-2))
- }
-}
-
-#
-#
-#
-function csa_get_()
-{
- ;
-}
-
-#
-#
-#
-function read_ci_file()
-{
- while ( getline < infile > 0 )
- lines[++num] = $0
-}
-
-function read_fvclhxx_file()
-{
- vclhxx1 = "\n"
- while ( getline < fvclhxx > 0 )
- vclhxx1 = vclhxx1 $0 "\n"
- vclhxx = vclhxx1
-}
-
-function read_fvcohxx_file()
-{
- vcohxx1 = "\n"
- while ( getline < fvcohxx > 0 )
- vcohxx1 = vcohxx1 $0 "\n"
- vcohxx = vcohxx1
-}
-
-#
-# currently not used because not necessary (in recursion properly handled!)
-#
-function read_ci_file_and_modify()
-{
- while ( getline < infile > 0 )
- {
- if ($1 ~ "^(CLASS|STRUCT|UNION)$" && $2 ~ "(::|<)")
- {
-#printf("\n----old=|%s|-----\n",$2)
- n = split( $0, line, "\n" )
- len = length($2)
- match( $2, "(::|<).*$")
- $2 = substr( $2,RSTART+2,RLENGTH)
-#printf("\n----new=|%s|-----\n",$2)
-
- line[1] = $1 "\n"
- line[2] = $2
- new = ""
- for (i=1; i<=(n+1) ;i++)
- new = new line[i]
- lines[++num] = new "\n"
- }
- else
- lines[++num] = $0 "\n"
-
- }
-
-# for (i=1; i<=num ;i++)
-# print lines[i]
-}
-
-#
-# Start next pass.
-#
-$1 == "start" {
-
- if ( pass == 0)
- {
- #
- # Check that info file, class have been specified.
- #
- if ( infile ~ /^$/ || class ~ /^$/ )
- exit
-
- #
- # Read in info file.
- #
- FS="\n"; RS=""
-
- read_ci_file()
- FS=" "; RS="\n"
- if (csaprintheader == "on")
- {
- read_fvclhxx_file()
- read_fvcohxx_file()
- }
- #
- # Prepare for format file.
- #
- FS=" "; RS="\n"
-
- #
- # Find some defaults in info file.
- #
- findLibrary()
- findFilename()
- }
-
- pass++
-}
-
-#
-# Sets the output device to use.
-#
-# $1 == "set" && $2 == "device" {
-# device = $3
-# }
-
-#
-# Prevents a section from being printed.
-#
-$1 == "hide" && $2 == "section" {
- section = $3
- for ( i=4; i<=NF; i++ )
- section = " " section
- sections[section] = ""
-}
-
-#
-# Prevents a contract from being printed.
-#
-# Note: a contract will not be displayed if it occurs in a part of the class
-# which has been disabled. For instance, if anything occuring in the private
-# section of a class is being hidden, the no contracts from that section will
-# be displayed either.
-#
-$1 == "hide" && $2 == "contract" {
- contract = $3
- for ( i=4; i<=NF; i++ )
- contract = " " contract
- contracts[contract] = ""
-}
-
-#
-# Specification of whether a part of a class is hidden or not.
-#
-$1 == "set" && $2 in access {
- access[$2] = $3
-}
-
-#
-# Print a prelude. This should produce any stuff necessary to initialise
-# the document.
-#
-pass == "2" && $1 == "print" && $2 == "prelude" {
- "date" | getline date
- split ( date, d, " " )
- date = d[2] " " d[3] ", " d[6]
- if ( device == "text" )
- {
- }
- else if ( device == "troff" )
- {
- print( ".\\\" troff -man %" )
- print( ".\\\"" )
- print( ".\\\" DO NOT EDIT" )
- print( ".\\\"" )
- print( ".\\\" This manual page is automatically generated by class2man." )
- print( ".\\\"" )
- print( ".ds sL " library )
- print( ".ds sV " date )
- print( ".ds sC " class )
- print( ".ds sS 3" )
- print( ".TH \"\\*(sC\" \"\\*(sS\" \"\\*(sV\" \"\\*(sL Library\" \"\\*(sL Reference Manual\"" )
- }
- else if ( device == "mml" )
- {
- print( "<MML>" )
- print( "<Comment *** This file is automatically generated by class2mml.>" )
- print( "<!DefineTag Body>" )
- print( "<!DefineTag Heading1>" )
- print( "<!DefineTag Heading2>" )
- print( "" )
- }
-}
-
-#
-# Print out a title.
-# The title should be generated from the class name and any information
-# in the section labelled 'TITLE" which occurs in the hdr of a class.
-# On pass 1 we simply note that we intend using the 'TITLE' section so
-# that it doesn't get printed out as a seperate section.
-#
-pass == "1" && $1 == "print" && $2 == "title" {
- sections["TITLE"] = ""
-}
-
-#
-# On pass 2 we actually print the title.
-# Note: even if a 'TITLE' section is not found for the class, then the class
-# name at least should be output.
-#
-pass == "2" && $1 == "print" && $2 == "title" {
- found = 0
- for ( i=0; i<=num; i++ )
- {
- n = split( lines[i], line, "\n" )
- if ( line[1] == "INFO" &&
- line[2] == "HDR" &&
- line[3] == "TITLE" &&
- line[4] == class )
- {
- found = 1
- break
- }
- }
- if ( device == "text" )
- {
- if ( found == 1 )
- {
- print( class " " )
- for ( i=5; i<=n; i++ )
- outputLine( line[i] )
- }
- else
- print( class )
- }
- else if ( device == "troff" )
- {
- print( ".PP" )
- print( ".SH \"NAME\"" )
- if ( found == 1 )
- {
- print( class " \\- " )
- for ( i=5; i<=n; i++ )
- outputLine( line[i] )
- }
- else
- print( class )
- }
- else if ( device == "mml" )
- {
- print( "<Heading1>" )
- print( class )
- if ( found == 1 )
- {
- print( "<Body>" )
- for ( i=5; i<=n; i++ )
- outputLine( line[i] )
- }
- }
-}
-
-#
-# On pass 1 we actually store the class description for csa.
-#
-pass == "1" {
- if (csaprintheader == "on")
- csa_collect_info()
-}
-
-#
-# Print a synopsis.
-# This should include a line indicating which header file needs to be included
-# and a description of the members variables and functions in the class.
-# A section of the class should not be output if access["section"] == "off".
-# e.g.: Don't print private stuff if access["private"] == "off".
-#
-#
-# das ist die standard ausgabe! (nur hier!)
-#
-pass == 2 && $1 == "print" && $2 == "synopsis" {
-
-
- if (csaprintheader == "on")
- csa_print_compilation_header()
-
- if ( device == "text" )
- {
- print( "\ "SYNOPSIS"\ " )
- print( "\n" )
- }
- else if ( device == "troff" )
- {
- print( ".PP" )
- print( ".SH \"SYNOPSIS\"" )
- print( ".nf\n" )
- }
- else if ( device == "mml" )
- {
- print( "" )
- print( "<Heading2>")
- print( "SYNOPSIS" )
- printf( "<Body>" )
- printf( "<Plain>" )
- printf( "<LeftIndent 0.1in>" )
- printf( "<FirstIndent 0.1in>" )
- printf( "<Alignment l>" )
- }
-
- #
- # check for includes
- #
- if ( filename != "" && library != "C++" )
- {
- if ( device == "text" )
- {
- if ( merge != "on")
- {
-# printf( "\n#include <%s/%s>\n", library,filename)
-# printf( "\n#include <%s/%s>\n", library,origfile)
-# print( "\n" )
- }
- else
- {
- if ( loop == "1")
- {
-# printf( "\n#include <%s/%s>\n", library,filename)
-# printf( "\n#include <%s/%s>\n", library,origfile)
-# print( "\n" )
- }
- }
- }
- else if ( device == "troff" )
- {
- print( "\\f(CO#include <" library "/" filename ">" )
- print( "" )
- }
- else if ( device == "mml" )
- {
- print( "<Family Courier>#include \\<" library "/" filename "\\>" )
- print( "<HardReturn>" )
- }
-
- if (csaprintheader == "on")
- csa_print_class_header()
-
- }
-
- bases = ""
- baseindex = 0
- numfields = 0
-
- #
- # start searching for loop for output 1 ADTs
- #
- for ( i=0; i<=num; i++ )
- {
- numfields = split( lines[i], line, "\n" )
- if ( line[1] ~ /(CLASS|UNION|STRUCT)/ && line[2] == class )
- {
- type = lower[line[1]]
- baseindex = 3
- #
- #
- # break heisst, jetzt ist richtige klasse gefunden, die von aussen mitgegeben wurde!!!!!!
- #
-
- break
- }
- else if ( \
- line[1] == "TEMPLATE" && \
- line[2] ~ /(class|union|struct)/ && \
- line[3] == class \
- )
- {
- baseindex = 5
- type = "template"
- break
- }
- }
-
- #
- # end of searching for loop for output 1 ADTs
- # ab hier function eingesetzt!
- #
-
-#printf("\nvor parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
- class = parse_and_print_adt(class,class,class,baseindex,type)
-#printf("\nafter parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
-
-
-#
-# bis hier geht parse function
-#
-
-#till end csa_print_class_end()
-
- if (csaprintheader == "on")
- csa_print_class_end()
-
-}
-
-#
-# Print copyright holders. This must break the line before each copyright
-# holder.
-#
-# wird im moment nicht gerufen
-#
-pass == "2" && $1 == "print" && $2 == "copyright" {
- for ( i=0; i<=num; i++ )
- {
- n = split( lines[i], line, "\n" )
- if ( line[1] == "INFO" &&
- line[2] == "GLOBAL" &&
- line[3] == "COPYRIGHT" )
- {
- if ( device == "text" )
- {
- print( "COPYRIGHT" )
- }
- else if ( device == "troff" )
- {
- print( ".PP" )
- print( ".SH COPYRIGHT" )
- }
- else if ( device == "mml" )
- {
- print( "" )
- print( "<Heading2>" )
- print( "COPYRIGHT" )
- printf( "<Body>" )
- printf( "<Plain>" )
- printf( "<LeftIndent 0in>" )
- printf( "<FirstIndent 0in>" )
- printf( "<SpaceAfter 8pt>" )
- }
- start = 4
- for ( k=start; k<=n; k++ )
- {
- if ( k != start && line[k] ~ "[\t ]*Copyright" )
- {
- if ( device == "text" )
- print( "\n" )
- else if ( device == "troff" )
- print( ".br" )
- else if ( device == "mml" )
- printf( "<HardReturn>" )
- }
- outputLine( line[k] )
- }
- break
- }
- }
-}
-
-#
-# Print out any sections which have not been previously printed out and
-# which are not hidden.
-#
-pass == "1" && $1 == "print" && $2 == "section" && $3 == "*" {
- next
-}
-
-pass == "2" && $1 == "print" && $2 == "section" && $3 == "*" {
- for ( i=0; i<=num; i++ )
- {
- n = split( lines[i], line, "\n" )
- if ( line[1] == "INFO" &&
- ( line[2] == "GLOBAL" ||
- ( line[2] == "HDR" && line[4] == class ) ) )
- {
- if ( line[3] in sections )
- continue
- else
- {
- section = line[3]
- sections[section] = ""
-#printf("\noutputSection() - 1 - called!!!!!!!!!!!!");
- outputSection()
- }
- }
- }
-}
-
-#
-# Print out a section.
-# On pass 1 only record the fact that this section will be printed.
-#
-pass == "1" && $1 == "print" && $2 == "section" {
- section = $3
- for ( i=4; i<=NF; i++ )
- section = section " " $i
- sections[section] = ""
-}
-
-#
-# Print out a section.
-# On pass 2 actually print it out.
-#
-pass == "2" && $1 == "print" && $2 == "section" {
- section = $3
- for ( i=4; i<=NF; i++ )
- section = section " " $i
- found = 0
- for ( i=0; i<=num; i++ )
- {
- n = split( lines[i], line, "\n" )
- if ( line[1] == "INFO" &&
- ( line[2] == "GLOBAL" ||
- ( line[2] == "HDR" && line[4] == class ) ) &&
- line[3] == section )
- {
- found = 1
- break
- }
- }
- if ( found == 1 )
- {
-#printf("\noutputSection() - 2 - called!!!!!!!!!!!!");
- outputSection()
- }
-}
-
-#
-# Print out any contracts which have not previously been printed, and
-# which are not hidden.
-#
-# If there are no contracts in the class, then print out sections for the
-# private, protected and public members; thats if they are not being hidden.
-#
-pass == "1" && $1 == "print" && $2 == "contract" && $3 == "\*" {
- next
-}
-
-pass == "2" && $1 == "print" && $2 == "contract" && $3 == "\*" {
- for ( i=0; i<=num; i++ )
- {
- n = split( lines[i], line, "\n" )
-
- if ( line[1] == "INFO" &&
- line[2] == "BODY" &&
- line[4] == class )
- {
- if ( line[3] in contracts )
- continue
- else if ( access[line[5]] == "on" )
- {
- contract = line[3]
- contracts[contract] = ""
-
-#printf("\noutputContract() called!!!!!");
- outputContract()
- }
- }
- }
- i = 0
- for ( j in contracts )
- i++
- if ( i == 0 )
- {
-#printf("\noutputClassSection() -2- called!!!!!!!\n");
- if ( access["public"] == "on" )
- outputClassSection( "public" )
- if ( access["protected"] == "on" )
- outputClassSection( "protected" )
- if ( access["private"] == "on" )
- outputClassSection( "private" )
- }
-}
-
-#
-# Print out a particular contract, regardless of whether it is hidden or
-# not.
-# On pass 1 we only note that the contract will be printed.
-#
-pass == "1" && $1 == "print" && $2 == "contract" {
- contract = $3
- for ( i=4; i<=NF; i++ )
- contract = contract " " $i
- contracts[contract] = ""
-}
-
-pass == "2" && $1 == "print" && $2 == "contract" {
- contract = $3
- for ( i=4; i<=NF; i++ )
- contract = contract " " $i
- found = 0
- for ( i=0; i<=num; i++ )
- {
- n = split( lines[i], line, "\n" )
- if ( line[1] == "INFO" &&
- line[2] == "BODY" &&
- line[4] == class &&
- line[3] == section )
- {
- found = 1
- break
- }
- }
- if ( found == 1 )
- {
-#printf("\noutputContract() called!!!!!");
- outputContract()
- }
-}
-
-#
-# Output a particular section of a class.
-# This ignores whether that part is hidden.
-#
-pass == "2" && $1 == "print" && $3 in access {
-#printf("\noutputClassSection() -1- called!!!!!!!\n");
- outputClassSection( $3 )
-}
-
-#
-# Actually prints out a particular section of a class.
-#
-#
-# wird nie gerufen
-#
-function outputClassSection( part )
-{
- start = 0
- for ( i=0; i<=num; i++ )
- {
- n = split( lines[i], line, "\n" )
- if ( ( line[1] == "FUNC" ||
- line[1] == "MEMBER" ||
- line[1] == "TYPEDEF" ||
- line[1] == "FRIEND" ) &&
- line[2] == class &&
- line[3] == part )
- {
- if ( start == 0 )
- {
- start = 1
- if ( device == "text" )
- {
- printf( "\n %s MEMBERS\n" ,upper[line[3]])
- }
- else if ( device == "troff" )
- {
- print( ".PP" )
- print( ".SH \"" upper[line[3]] " MEMBERS\"" )
- }
- else if ( device == "mml" )
- {
- print( "" )
- print( "<Heading2>" )
- print( upper[line[3]] " MEMBERS" )
- printf( "<Body>" )
- printf( "<Plain>" )
- printf( "<LeftIndent 0in>" )
- printf( "<FirstIndent 0in>" )
- printf( "<SpaceAfter 8pt>" )
- }
- }
- if ( device == "text" )
- {
- print( "\n" )
- }
- else if ( device == "troff" )
- {
- print( ".nf" )
- }
- else if ( device == "mml" )
- {
- printf( "<Alignment l>" )
- }
- outputPrototype( line[4] )
- if ( device == "text" )
- {
- }
- else if ( device == "troff" )
- {
- print( ".fi" )
- print( ".RS 0.25i" )
- }
- else if ( device == "mml" )
- {
- printf( "<Alignment lr>" )
- printf( "<LeftIndent 0.1in>" )
- printf( "<FirstIndent 0.1in>" )
- }
- for ( l=5; l<=n; l++ )
- outputLine( line[l] )
- if ( device == "text" )
- {
- print( "" )
- }
- else if ( device == "troff" )
- {
- print( ".RE" )
- print( "" )
- }
- else if ( device == "mml" )
- {
- printf( "<LeftIndent 0in>" )
- printf( "<FirstIndent 0in>" )
- }
- }
- }
-}
-
-#
-# Once a contract has been found, this prints it out.
-#
-#
-# wird nie gerufen
-#
-function outputContract() {
- if ( device == "text" )
- {
- print( "\ " contract "\ " )
- }
- else if ( device == "troff" )
- {
- print( ".PP" )
- print( ".SH \"" contract "\"" )
- }
- else if ( device == "mml" )
- {
- print( "" )
- print( "<Heading2>" )
- print( contract )
- printf( "<Body>" )
- printf( "<Plain>" )
- printf( "<LeftIndent 0in>" )
- printf( "<FirstIndent 0in>" )
- printf( "<SpaceAfter 8pt>" )
- }
-
- for ( k=6; k<=n; k++ )
- outputLine( line[k] )
-
- # print( "" )
- for ( k=i+1; k<=num; k++ )
- {
- n = split( lines[k], line, "\n" )
- if ( ( line[1] == "INFO" &&
- line[2] == "BODY" &&
- line[4] == class ) ||
- ( line[1] == "END" &&
- line[2] == class ) ||
- ( line[1] == "ACCESS" &&
- line[2] == class ) )
- {
- break
- }
- else
- if ( ( line[1] == "FUNC" ||
- line[1] == "MEMBER" ||
- line[1] == "TYPEDEF" ||
- line[1] == "FRIEND" ) &&
- line[2] == class )
- {
- if ( device == "text" )
- {
- print( "\n" )
- }
- else if ( device == "troff" )
- {
- print( ".nf" )
- }
- else if ( device == "mml" )
- {
- printf( "<Alignment l>" )
- }
- outputPrototype( line[4] )
- if ( device == "text" )
- {
- }
- else if ( device == "troff" )
- {
- print( ".fi" )
- print( ".RS 0.25i" )
- }
- else if ( device == "mml" )
- {
- printf( "<Alignment lr>" )
- printf( "<LeftIndent 0.1in>" )
- printf( "<FirstIndent 0.1in>" )
- }
- for ( l=5; l<=n; l++ )
- outputLine( line[l] )
- if ( device == "text" )
- {
- print( "" )
- }
- else if ( device == "troff" )
- {
- print( ".RE" )
- print( "" )
- }
- else if ( device == "mml" )
- {
- printf( "<LeftIndent 0in>" )
- printf( "<FirstIndent 0in>" )
- }
- }
- else if ( line[1] == "COMMENT" &&
- line[2] == "BODY" &&
- line[3] == class )
- {
- for ( l=5; l<=n; l++ )
- outputLine( line[l] )
- # print( "" )
- }
- }
-}
-
-#
-# Once a section has been found, this prints it out.
-#
-#
-# wird nie gerufen
-#
-function outputSection()
-{
-
- if ( line[2] == "GLOBAL" )
- start = 4
- else
- start = 5
-
- if ( device == "text" )
- {
- print( "\ " section "\ " )
- }
- else if ( device == "troff" )
- {
- print( ".PP" )
- print( ".SH \"" section "\"" )
- }
- else if ( device == "mml" )
- {
- print( "" )
- print( "<Heading2>" )
- print( section )
- if ( line[start] != "" )
- {
- printf( "<Body>" )
- printf( "<Plain>" )
- printf( "<LeftIndent 0in>" )
- printf( "<FirstIndent 0in>" )
- printf( "<Alignment lr>" )
- printf( "<SpaceAfter 8pt>" )
- printf( "<Family Times>" )
- }
- }
-
- blankLine = 0
- for ( k=start; k<=n; k++ )
- outputLine( line[k] )
-}
-
-#
-# Removes comment delimiter from start of line.
-#
-function removeComment( line )
-{
- sub( "^// ?", "", line )
- return line
-}
-
-#
-# Output a line. This checks for various formatting requests and will
-# appropriately expand them.
-#
-function outputLine( line )
-{
- line = removeComment( line )
- if ( inComment == 0 )
- {
- if ( line ~ "^= BEGIN<CODE>" )
- {
- inCode = 1
- if ( device == "text" )
- {
- print( "\n" )
- }
- else if ( device == "troff" )
- {
- print( ".RS 0.25i" )
- print( ".nf\n\\f(CO" )
- }
- else if ( device == "mml" )
- {
- printf( "<Plain>" )
- printf( "<LeftIndent 0.2in>" )
- printf( "<FirstIndent 0.2in>" )
- printf( "<Alignment l>" )
- printf( "<Family Courier>" )
- }
- }
- else if ( line ~ "^= END<CODE>" )
- {
- inCode = -1
- if ( device == "text" )
- {
- print( "\n" )
- }
- else if ( device == "troff" )
- {
- print( "\\fP\n.fi" )
- print( ".RE" )
- }
- else if ( device == "mml" )
- {
- printf( "<LeftIndent 0in>" )
- printf( "<FirstIndent 0in>" )
- printf( "<Alignment lr>" )
- printf( "<Family Times>")
- }
- }
- else if ( line ~ "^= BEGIN<COMMENT>" )
- inComment = 1
- else if ( line ~ "^= BEGIN<INDENT>" )
- {
- if ( device == "text" )
- {
- }
- else if ( device == "troff" )
- print( ".RS 0.25i" )
- else if ( device == "mml" )
- {
- printf( "<LeftIndent 0.2in>" )
- printf( "<FirstIndent 0.2in>" )
- }
- }
- else if ( line ~ "^= END<INDENT>" )
- {
- if ( device == "text" )
- {
- }
- else if ( device == "troff" )
- print( ".RE" )
- else if ( device == "mml" )
- {
- printf( "<LeftIndent 0in>" )
- printf( "<FirstIndent 0in>" )
- }
- }
- else if ( line ~ "^= BEGIN<NOFILL>" )
- {
- inNoFill = 1
- if ( device == "text" )
- {
- }
- else if ( device == "troff" )
- print( ".nf" )
- else if ( device == "mml" )
- printf( "<Alignment l>" )
- }
- else if ( line ~ "^= END<NOFILL>" )
- {
- inNoFill = 0
- if ( device == "text" )
- {
- }
- else if ( device == "troff" )
- print( ".fi" )
- else if ( device == "mml" )
- printf( "<Alignment lr>" )
- }
- else
- {
- if ( inCode > 0 )
- {
- if ( device == "mml" )
- {
- gsub( " ", "\\ ", line )
- gsub( "<", "\\<", line )
- gsub( ">", "\\>", line )
- if ( inCode > 1 )
- line = "<HardReturn>" line
- }
- print( line )
- inCode = inCode + 1
- }
- else
- {
- gsub( "\\\\]>", "]\\fP", line )
- gsub( "\\\\}>", "]\\fP", line )
- gsub( "([^\\\\]|^)<\\[", "&<\\fB", line )
- gsub( "[^\\\\]\\]>", "&>\\fP", line )
- gsub( "<\\[<", "", line )
- gsub( "\\]>>", "", line )
- gsub( "([^\\\\]|^)<\{", "&<\\fI", line )
- gsub( "[^\\\\]}>", "&>\\fP", line )
- gsub( "<\{<", "", line )
- gsub( "}>>", "", line )
- gsub( "([^\\\\]|^)<", "&<\\f(CO", line )
- gsub( "[^\\\\]>", "&>\\fP", line )
- gsub( "<<", "", line )
- gsub( ">>", "", line )
- gsub( "\\\\<", "<", line )
- gsub( "\\\\>", ">", line )
- gsub( "\\\\", "\\\\", line )
- gsub( "\\\\fB", "fB", line )
- gsub( "\\\\fI", "fI", line )
- gsub( "\\\\fP", "fP", line )
- gsub( "\\\\f\\(CO", "f(CO", line )
-
- if ( device == "mml" )
- {
- if ( inNoFill > 0 )
- gsub( " ", "\\ ", line )
-
- gsub( "<", "\\<", line )
- gsub( ">", "\\>", line )
- gsub( "\\\\fP", "<Family Times><Plain>", line )
- gsub( "\\\\fB", "<Bold>", line )
- gsub( "\\\\fI", "<Italic>", line )
- gsub( "\\\\f\\(CO", "<Family Courier>", line )
-
- if ( inNoFill > 0 )
- {
- if ( inNoFill > 1 )
- line = "<HardReturn>" line
- inNoFill = inNoFill + 1
- }
- }
-
- if ( line == "" )
- {
- blankLine = 1
- }
- else
- {
- if ( blankLine == 1 )
- {
- if ( inCode == 0 )
- print( "" )
- blankLine = 0
- if ( inCode == -1 )
- inCode = 0
- }
- print( line )
- }
- }
- }
- }
- else
- {
- if ( line ~ "^= END<COMMENT>" )
- inComment = 0
- }
-}
-
-#
-# Searches for the 'LIBRARY' section and sets 'library' to the value found.
-#
-function findLibrary()
-{
- for ( i=0; i<=num; i++ )
- {
- split( lines[i], line, "\n" )
- if ( line[1] == "INFO" &&
- line[2] == "GLOBAL" &&
- line[3] == "LIBRARY" )
- {
- len=length(line[4])
- libr = substr(line[4],4,len)
- library = removeComment( libr )
- break
- }
- }
- if ( library == "" )
- library = "C++"
-}
-
-#
-# Searches for the 'FILENAME' section and sets 'filename' to the value found.
-#
-function findFilename()
-{
- for ( i=0; i<=num; i++ )
- {
- split( lines[i], line, "\n" )
- if ( line[1] == "INFO" &&
- line[2] == "GLOBAL" &&
- ( line[3] == "FILENAME" ||
- line[3] == "RCSID" ||
- line[3] == "SCCSID" ) )
- {
- filename = removeComment( line[4] )
- if ( line[3] == "RCSID" )
- {
- sub( "^.*\\$Id:[\t ]*", "", filename )
- sub( ",v.*$", "", filename )
- }
- else if ( line[3] == "SCCSID" )
- {
- sub( "^.*@\\(#\\)", "", filename )
- sub( "[\t ]+.*$", "", filename )
- }
- break
- }
- }
-}
-
-#
-# Outputs a prototype, wrapping it if required.
-#
-function outputPrototype( prototype )
-{
- sub( "[\t ]*$", "", prototype )
- if ( prototype !~ "^.*;$" )
- prototype = prototype ";"
-
- if ( device == "text" )
- width = 70
- else if ( device == "troff" )
- width = 70
- else if ( device == "mml" )
- width = 60
-
- if ( length(prototype) > width )
- {
- # multiline enums,functions have no spaces at the beginning, insert it!
- if ( device == "mml" )
- {
- gsub( ">", "\\>", prototype )
- gsub( "<", "\\<", prototype )
- }
- if ( ( funcptr = match( prototype, "^[^(]*\\([^)]*\\)\\(" ) ) !~ "0" )
- match( prototype, "^[^(]*\\([^)]*\\)" )
- else
- match( prototype, "^[^(]*\\(" )
- funcname = substr( prototype, RSTART, RLENGTH )
- if ( prototype ~ "^[^(]*\\(\\)[\t ]*\\(" )
- {
- funcname = funcname ")("
- sub( "^[^(]*\\(\\)[\t ]*\\(", "", prototype )
- }
- else
- {
- if ( funcptr ~ "0" )
- sub( "^[^(]*\\(", "", prototype )
- else
- sub( "^[^(]*\\([^)]*\\)\\(", "", prototype )
- }
- match( prototype, "\\)([\t ]*)?(=[\t ]*0|const[\t ]*(=[\t ]*0)?)?;[\t ]*" )
- functail = substr( prototype, RSTART, RLENGTH )
- sub( "\\)([\t ]*)?(=[\t ]*0|const[\t ]*(=[\t ]*0)?)?;.*$", "", prototype )
- sub( "\\($", "", funcname )
- match( funcname, "^[\t ]*" )
- space = substr( funcname, RSTART, RLENGTH )
- if (funcname != "")
- {
- # multiline enums or long typedefs have no funcname, so do not print it!
- if ( device == "text" )
- {
- printf( funcname )
- printf( "(\n" )
-#printf("\n---funcname=|%s|----\n",funcname);
- }
- else if ( device == "troff" )
- {
- printf( "\\f(CO" funcname )
- printf( "(\n" )
- }
- else if ( device = "mml" )
- {
- gsub( " ", "\\ ", space )
- gsub( " ", "\\ ", funcname )
- printf( "<Family Courier>%s(\n<HardReturn>", funcname )
- }
- }
- narg = 0
- while ( match( prototype, "[^<>,#]*<[^<>]*>" ) )
- {
- # collect the multiple line arguments
- narg++
- arg = substr( prototype, RSTART, RLENGTH )
- sub( "[^<>,#]*<[^<>]*>", "#" narg, prototype )
- fargs["#" narg] = arg
- # Need the following to stop resubstitution of the pattern matched
- # back into the string.
- gsub( "&", "\\\\&", fargs["#" narg] )
- }
- numargs = split( prototype, args, "," )
-#------
- space = ""
- for (z=1; z<=(nesting_level+1); z++)
- space = space " "
-# printf( "%s",outspace)
-#------
-
- for ( m=1; m<=numargs; m++ )
- {
- while ( match( args[m], "#[0-9]+" ) )
- {
- arg = substr( args[m], RSTART, RLENGTH )
- sub( arg, fargs[arg], args[m] )
- }
- sub( "[\t ]*", "", args[m] )
-
- # print one argument
-
-# printf( "%s %s", space, args[m] )
- printf( "%s%s", space, args[m] )
- if ( m == numargs )
- {
- # print after the last argument
-
- if ( device == "text" )
- print( "" )
- else if ( device == "troff" )
- print( "" )
- else if ( device == "mml" )
- printf( "\n<HardReturn>" )
- }
- else
- {
- # print after each argument of a line
-
- if ( device == "text" )
- print( "," )
- else if ( device == "troff" )
- print( "," )
- else if ( device == "mml" )
- printf( ",\n<HardReturn>" )
- }
- }
- # print after all arguments of a multiline are printed
-
- if ( device == "text" )
- print( space functail "\ " )
- else if ( device == "troff" )
- print( space functail "\\fP" )
- else if ( device == "mml" )
- print( space functail "<Family Times>" )
-
- }
- else # prototype < width
- {
- # not multiline enums,functions have spaces at the beginning already!
- if ( device == "mml" )
- {
- gsub( ">", "\\>", prototype )
- gsub( "<", "\\<", prototype )
- }
- if ( device == "text" )
- print( prototype "\ " )
- else if ( device == "troff" )
- print( "\\f(CO" prototype "\\fP" )
- else if ( device == "mml" )
- {
- gsub( " ", "\\ ", prototype )
- print( "<Family Courier>" prototype "<Family Times>" )
- }
- }
-}
-
-#=============================================================
-# neue rkursive parse function fuer nested ADTs
-#=============================================================
-function parse_and_print_adt (baseandsubclass, class, oldclass, baseindex, type)
-{
- # 3.11.95
- bases = ""
-
- nesting_level++
- printf( "\n")
-# printf("\nclass=%s oldclass=%s nesting_level=%s\n",class,oldclass,nesting_level);
- if ( baseindex != 0 )
- {
- for ( i=baseindex; i<=numfields; i++ )
- {
- if ( bases == "" )
- bases = line[i]
- else
- bases = bases ", " line[i]
- }
- }
-
- outspace = ""
- for (z=1; z<nesting_level; z++)
- outspace = outspace " "
- printf( "%s",outspace)
-
- if ( type == "template" )
- {
- #
- # ADT == template
- #
- for ( i=0; i<=num; i++ )
- {
- split( lines[i], line, "\n" )
-
-# if ( line[1] == "TEMPLATE" && line[3] == class )
- if ( line[1] == "TEMPLATE" && (line[3] == class || line[3] == baseandsubclass) )
- break
- }
- if ( device == "text" )
- printf( "template%s\n",line[4] )
- else if ( device == "troff" )
- printf( "template%s\n",line[4] )
- else if ( device == "mml" )
- {
- sub( "<", "\\<", line[4] )
- sub( ">", "\\>", line[4] )
- printf( "<HardReturn>template%s\n",line[4] )
- }
-# typestat = line[2] " " line[3]
- typestat = line[2] " " class
-
- outspace = ""
- for (z=1; z<nesting_level; z++)
- outspace = outspace " "
- printf( "%s",outspace)
-
- if ( device == "text" )
- printf( "%s", typestat )
- else if ( device == "troff" )
- printf( "%s", typestat )
- else if ( device == "mml" )
- printf( "<HardReturn>%s", typestat )
- }
- else
- {
- #
- # ADT != template
- #
- typestat = type " " class
- if ( device == "mml" )
- printf( "<HardReturn>" )
- printf( "%s", typestat )
- }
-
- if ( bases != "" )
- {
- #
- # analyse if ADT has base classes
- #
- typestat = typestat " : "
- printf( " : " )
- if ( length(typestat) + length(bases) > 70 )
- {
- print( "" )
- if ( device == "mml" )
- printf( "<HardReturn>" )
- narg = 0
- while ( match( bases, "[^<>,# ]*<[^<>]*>" ) )
- {
- narg++
- arg = substr( bases, RSTART, RLENGTH )
- sub( "[^<>,# ]*<[^<>]*>", "#" narg, bases )
- bargs["#" narg] = arg
- # Need the following to stop resubstitution of the pattern matched
- # back into the string.
- gsub( "&", "\\\\&", bargs["#" narg] )
- }
- numbases = split( bases, base, "," )
- for ( m=1; m<=numbases; m++ )
- {
- while ( match( base[m], "#[0-9]+" ) )
- {
- arg = substr( base[m], RSTART, RLENGTH )
- sub( arg, bargs[arg], base[m] )
- }
- sub( "^[\t ]*", "", base[m] )
- if ( device == "mml" )
- {
- gsub( "<", "\\<", base[m] )
- gsub( ">", "\\>", base[m] )
- }
- if ( device == "text" )
- printf( " %s", base[m] )
- else if ( device == "troff" )
- printf( " %s", base[m] )
- else
- printf( "\\ \\ %s", base[m] )
- if ( m == numbases )
- print( "" )
- else
- {
- print( "," )
- if ( device == "mml" )
- printf( "<HardReturn>" )
- }
- }
- }
- else
- {
- if ( device == "mml" )
- {
- gsub( "<", "\\<", bases )
- gsub( ">", "\\>", bases )
- }
- print( bases )
- }
- }
- else
- {
- #
- # ADT has no base classes
- #
- printf( "\n" )
- }
-
-#till start if (csaprintheader == "on") csa_print_class_end()
-
- outspace = ""
- for (z=1; z<nesting_level; z++)
- outspace = outspace " "
- if ( device == "text" )
- print( outspace "{\ " )
- else if ( device == "troff" )
- print( outspace "{\\fP" )
- else if ( device == "mml" )
- print( outspace "<HardReturn>{<Family Times>")
- if ( access["public"] == "on" )
- {
- #
- # collecting loop over the public lines of 1 ADT
- #
- start = 0
- for ( i=0; i<=num; i++ )
- {
- split( lines[i], line, "\n" )
-
- #
- # 3.11.95 check outermost access
- #
- if ( line[1] == "ACCESS")
- {
- outeraccess = line[3]
- #printf("\n----- outeraccess = |%s| --------\n",outeraccess)
- }
-
- #
- # start for nesting ADT
- #
- if ( line[1] == "CLASS" || line[1] == "STRUCT" || line[1] == "UNION" )
- {
- #
- # check for a normal nested ADT
- #
- if ( line[2] ~ "(::|<)" && lastaccess == "public" && outeraccess == "public")
- {
- if (line[2] ~ "::")
- {
- len = length(line[2])
- match( line[2], "(::|<).*$")
- newclass = substr( line[2],RSTART+2,RLENGTH)
- thisclass = substr( line[2],1,RSTART-1)
- if (class == thisclass)
- {
- #
- # hier is a nested class, struct, or union found!!!!!!!
- #
-
- basesubclass = line[2]
- #printf("\n----basesubclass=|%s|-----\n",basesubclass)
- #printf("\n----thisclass=|%s|---------newclass=|%s|-----\n",thisclass,newclass)
- #printf("\n----RECURSION--class=|%s|--line[1]=|%s|--line[2]=|%s|---\n", \
- #class,line[1],line[2]);
-
- nesttype = lower[line[1]]
- nestbaseindex = 3
- #printf("\nvor parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
- #printf("\ni=%s num=%s line[1]=|%s| line[2]=|%s| line[3]=|%s|\n", \
- #i,num,line[1],line[2],line[3]);
- save_i = i
- class = parse_and_print_adt(basesubclass,newclass,thisclass,nestbaseindex,nesttype)
- i = save_i
- #printf("\nafter parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
- #printf("\ni=%s num=%s line[1]=|%s| line[2]=|%s| line[3]=|%s|\n", \
- #i,num,line[1],line[2],line[3]);
- start = 1
- continue
- }
- }
- }
- }
- else
- {
- #
- # check for a TEMPLATE nested ADT
- #
- if ( line[1] == "TEMPLATE" && line[2] ~ /(class|union|struct)/ && lastaccess == "public" && outeraccess == "public")
- {
- len = length(line[3])
- match( line[3], "(::|<).*$")
- newclass = substr( line[3],RSTART+2,RLENGTH)
- thisclass = substr( line[3],1,RSTART-1)
- if (class == thisclass)
- {
- #
- # hier is a nested class, struct, or union found!!!!!!!
- #
-
- basesubclass = line[3]
- #printf("\n----basesubclass=|%s|-----\n",basesubclass)
- #printf("\n----thisclass=|%s|---------newclass=|%s|-----\n",thisclass,newclass)
- #printf("\n---RECURSION--class=|%s|--line[1]=|%s|--line[2]=|%s|--line[3]=|%s|---\n", \
- #class,line[1],line[2],line[3]);
-
- nesttype = "template"
- nestbaseindex = 5
- #printf("\nvor parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
- #printf("\ni=%s num=%s line[1]=|%s| line[2]=|%s| line[3]=|%s|\n", \
- #i,num,line[1],line[2],line[3]);
- save_i = i
- class = parse_and_print_adt(basesubclass,newclass,thisclass,nestbaseindex,nesttype)
- i = save_i
- #printf("\nafter parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
- #printf("\ni=%s num=%s line[1]=|%s| line[2]=|%s| line[3]=|%s|\n", \
- #i,num,line[1],line[2],line[3]);
- start = 1
- continue
- }
- }
- }
- #
- # end for nesting ADT
- #
- #
- # now print the protoypes of the public ADT
- #
- if ( ( line[1] == "MEMBER" ||
- line[1] == "FUNC" ||
- line[1] == "TYPEDEF" ||
- line[1] == "ENUM" ||
- line[1] == "FRIEND" ) &&
- line[2] == class &&
- line[3] == "public" )
- {
- outspace = ""
- for (z=1; z<nesting_level; z++)
- outspace = outspace " "
- lastaccess = "public"
- if ( start == 0 )
- {
- start = 1
- if ( device == "text" )
- print( outspace "\ \n" outspace "public:\n")
- else if ( device == "troff" )
- print( outspace " \\f(COpublic:\\fP")
- else if ( device == "mml" )
- print( outspace "<HardReturn><Family Courier>\\ \\ public:<Family Times>" )
- }
- outspace = ""
- for (z=1; z<=nesting_level; z++)
- outspace = outspace " "
- if ( device == "text" )
- {
- outputPrototype( outspace line[4] )
- }
- else if ( device == "troff" )
- outputPrototype( outspace line[4] )
- else
- {
- printf( "<HardReturn>" )
- outputPrototype( outspace line[4] )
- }
- }
- }
- }
- if ( access["protected"] == "on" )
- {
- #
- # collecting loop over the protected lines of 1 ADT
- #
- start = 0
- for ( i=0; i<=num; i++ )
- {
- split( lines[i], line, "\n" )
-
- #
- # 3.11.95 check outermost access
- #
- if ( line[1] == "ACCESS")
- {
- outeraccess = line[3]
- #printf("\n----- outeraccess = |%s| --------\n",outeraccess)
- }
-
- #
- # start for nesting ADT
- #
- if ( line[1] == "CLASS" || line[1] == "STRUCT" || line[1] == "UNION" )
- {
- #
- # check for a normal nested ADT
- #
- if ( line[2] ~ "(::|<)" && lastaccess == "protected" && outeraccess == "protected")
- {
- if (line[2] ~ "::")
- {
- len = length(line[2])
- match( line[2], "(::|<).*$")
- newclass = substr( line[2],RSTART+2,RLENGTH)
- thisclass = substr( line[2],1,RSTART-1)
- if (class == thisclass)
- {
- #
- # hier is a nested class, struct, or union found!!!!!!!
- #
-
- basesubclass = line[2]
- #printf("\n----basesubclass=|%s|-----\n",basesubclass)
- #printf("\n----thisclass=|%s|---------newclass=|%s|-----\n",thisclass,newclass)
- #printf("\n----RECURSION--class=|%s|--line[1]=|%s|--line[2]=|%s|---\n", \
- #class,line[1],line[2]);
-
- nesttype = lower[line[1]]
- nestbaseindex = 3
- #printf("\nvor parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
- #printf("\ni=%s num=%s line[1]=|%s| line[2]=|%s| line[3]=|%s|\n", \
- #i,num,line[1],line[2],line[3]);
- save_i = i
- class = parse_and_print_adt(basesubclass,newclass,thisclass,nestbaseindex,nesttype)
- i = save_i
- #printf("\nafter parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
- #printf("\ni=%s num=%s line[1]=|%s| line[2]=|%s| line[3]=|%s|\n", \
- #i,num,line[1],line[2],line[3]);
- start = 1
- continue
- }
- }
- }
- }
- else
- {
- #
- # check for a TEMPLATE nested ADT
- #
- if ( line[1] == "TEMPLATE" && line[2] ~ /(class|union|struct)/ && lastaccess == "protected" && outeraccess == "protected")
- {
- len = length(line[3])
- match( line[3], "(::|<).*$")
- newclass = substr( line[3],RSTART+2,RLENGTH)
- thisclass = substr( line[3],1,RSTART-1)
- if (class == thisclass)
- {
- #
- # hier is a nested class, struct, or union found!!!!!!!
- #
-
- basesubclass = line[3]
- #printf("\n----basesubclass=|%s|-----\n",basesubclass)
- #printf("\n----thisclass=|%s|---------newclass=|%s|-----\n",thisclass,newclass)
- #printf("\n---RECURSION--class=|%s|--line[1]=|%s|--line[2]=|%s|--line[3]=|%s|---\n", \
- #class,line[1],line[2],line[3]);
-
- nesttype = "template"
- nestbaseindex = 5
- #printf("\nvor parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
- #printf("\ni=%s num=%s line[1]=|%s| line[2]=|%s| line[3]=|%s|\n", \
- #i,num,line[1],line[2],line[3]);
- save_i = i
- class = parse_and_print_adt(basesubclass,newclass,thisclass,nestbaseindex,nesttype)
- i = save_i
- #printf("\nafter parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
- #printf("\ni=%s num=%s line[1]=|%s| line[2]=|%s| line[3]=|%s|\n", \
- #i,num,line[1],line[2],line[3]);
- start = 1
- continue
- }
- }
- }
- #
- # end for nesting ADT
- #
- #
- # now print the protoypes of the public ADT
- #
- if ( ( line[1] == "MEMBER" ||
- line[1] == "FUNC" ||
- line[1] == "TYPEDEF" ||
- line[1] == "ENUM" ||
- line[1] == "FRIEND" ) &&
- line[2] == class &&
- line[3] == "protected" )
- {
- outspace = ""
- for (z=1; z<nesting_level; z++)
- outspace = outspace " "
- lastaccess = "protected"
- if ( start == 0 )
- {
- start = 1
- if ( device == "text" )
- print( outspace "\ \n" outspace "protected:\n")
- else if ( device == "troff" )
- print( outspace " \\f(COprotected:\\fP")
- else if ( device == "mml" )
- print(outspace "<HardReturn><Family Courier>\\ \\ protected:<Family Times>" )
- }
- outspace = ""
- for (z=1; z<=nesting_level; z++)
- outspace = outspace " "
- if ( device == "text" )
- outputPrototype( outspace line[4] )
- else if ( device == "troff" )
- outputPrototype( outspace line[4] )
- else
- {
- printf( "<HardReturn>" )
- outputPrototype( outspace line[4] )
- }
- }
- }
- }
- if ( access["private"] == "on" )
- {
- #
- # collecting loop over the private lines of 1 ADT
- #
- start = 0
- for ( i=0; i<=num; i++ )
- {
- split( lines[i], line, "\n" )
-
- #
- # 3.11.95 check outermost access
- #
- if ( line[1] == "ACCESS")
- {
- outeraccess = line[3]
- #printf("\n----- outeraccess = |%s| --------\n",outeraccess)
- }
-
- #
- # start for nesting ADT
- #
- if ( line[1] == "CLASS" || line[1] == "STRUCT" || line[1] == "UNION" )
- {
- #
- # check for a normal nested ADT
- #
- if ( line[2] ~ "(::|<)" && lastaccess == "private" && outeraccess == "private")
- {
- if (line[2] ~ "::")
- {
- len = length(line[2])
- match( line[2], "(::|<).*$")
- newclass = substr( line[2],RSTART+2,RLENGTH)
- thisclass = substr( line[2],1,RSTART-1)
- if (class == thisclass)
- {
- #
- # hier is a nested class, struct, or union found!!!!!!!
- #
-
- basesubclass = line[2]
- #printf("\n----basesubclass=|%s|-----\n",basesubclass)
- #printf("\n----thisclass=|%s|---------newclass=|%s|-----\n",thisclass,newclass)
- #printf("\n----RECURSION--class=|%s|--line[1]=|%s|--line[2]=|%s|---\n", \
- #class,line[1],line[2]);
-
- nesttype = lower[line[1]]
- nestbaseindex = 3
- #printf("\nvor parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
- #printf("\ni=%s num=%s line[1]=|%s| line[2]=|%s| line[3]=|%s|\n", \
- #i,num,line[1],line[2],line[3]);
- save_i = i
- class = parse_and_print_adt(basesubclass,newclass,thisclass,nestbaseindex,nesttype)
- i = save_i
- #printf("\nafter parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
- #printf("\ni=%s num=%s line[1]=|%s| line[2]=|%s| line[3]=|%s|\n", \
- #i,num,line[1],line[2],line[3]);
- start = 1
- continue
- }
- }
- }
- }
- else
- {
- #
- # check for a TEMPLATE nested ADT
- #
- if ( line[1] == "TEMPLATE" && line[2] ~ /(class|union|struct)/ && lastaccess == "private" && outeraccess == "private")
- {
- len = length(line[3])
- match( line[3], "(::|<).*$")
- newclass = substr( line[3],RSTART+2,RLENGTH)
- thisclass = substr( line[3],1,RSTART-1)
- if (class == thisclass)
- {
- #
- # hier is a nested class, struct, or union found!!!!!!!
- #
-
- basesubclass = line[3]
- #printf("\n----basesubclass=|%s|-----\n",basesubclass)
- #printf("\n----thisclass=|%s|---------newclass=|%s|-----\n",thisclass,newclass)
- #printf("\n---RECURSION--class=|%s|--line[1]=|%s|--line[2]=|%s|--line[3]=|%s|---\n", \
- #class,line[1],line[2],line[3]);
-
- nesttype = "template"
- nestbaseindex = 5
- #printf("\nvor parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
- #printf("\ni=%s num=%s line[1]=|%s| line[2]=|%s| line[3]=|%s|\n", \
- #i,num,line[1],line[2],line[3]);
- save_i = i
- class = parse_and_print_adt(basesubclass,newclass,thisclass,nestbaseindex,nesttype)
- i = save_i
- #printf("\nafter parse_and_print_adt: class=%s nesting_level=%s",class,nesting_level);
- #printf("\ni=%s num=%s line[1]=|%s| line[2]=|%s| line[3]=|%s|\n", \
- #i,num,line[1],line[2],line[3]);
- start = 1
- continue
- }
- }
- }
- #
- # end for nesting ADT
- #
- #
- # now print the protoypes of the public ADT
- #
- if ( ( line[1] == "MEMBER" ||
- line[1] == "FUNC" ||
- line[1] == "TYPEDEF" ||
- line[1] == "ENUM" ||
- line[1] == "FRIEND" ) &&
- line[2] == class &&
- line[3] == "private" )
- {
- outspace = ""
- for (z=1; z<nesting_level; z++)
- outspace = outspace " "
- lastaccess = "private"
- if ( start == 0 )
- {
- start = 1
- if ( device == "text" )
- print( outspace "\ \n" outspace "private:\n")
- else if ( device == "troff" )
- print( outspace " \\f(COprivate:\\fP")
- else if ( device == "mml" )
- print(outspace "<HardReturn><Family Courier>\\ \\ private:<Family Times>" )
- }
- outspace = ""
- for (z=1; z<=nesting_level; z++)
- outspace = outspace " "
- if ( device == "text" )
- outputPrototype( outspace line[4] )
- else if ( device == "troff" )
- outputPrototype( outspace line[4] )
- else
- {
- printf( "<HardReturn>" )
- outputPrototype( outspace line[4] )
- }
- }
- }
- }
- outspace = ""
- for (z=1; z<nesting_level; z++)
- outspace = outspace " "
- if ( device == "text" )
- {
- print( outspace "};" )
- print( "\n" )
- }
- else if ( device == "troff" )
- {
- print( outspace "\\f(CO};" )
- print( "\\fP\n.fi" )
- }
- else if ( device == "mml" )
- {
- print( outspace "<HardReturn><Family Courier>};<Family Times>" )
- }
- nesting_level--
- return oldclass
-}
diff --git a/bin/info2doc.fmt b/bin/info2doc.fmt
deleted file mode 100644
index ef0b0331543..00000000000
--- a/bin/info2doc.fmt
+++ /dev/null
@@ -1,23 +0,0 @@
-start
-hide section FILENAME
-hide section COPYRIGHT
-print prelude
-print title
-print synopsis
-print section CLASS TYPE
-print section AUDIENCE
-print section DESCRIPTION
-print section EXAMPLE
-print contract *
-print section *
-print section NOTES
-print section PORTABILITY
-print section SEE ALSO
-print section LIBRARY
-print section VERSION
-print section DATE RELEASED
-print section RCSID
-print section SCCSID
-print section AUTHOR(S)
-print copyright
-end
diff --git a/bin/info2head b/bin/info2head
deleted file mode 100755
index 15ee9ae0f1e..00000000000
--- a/bin/info2head
+++ /dev/null
@@ -1,166 +0,0 @@
-#! /bin/sh
-# =============================================================================
-#
-# = DESCRIPTION
-# Front end to awk script for generating manual pages from classinfo
-# files.
-#
-# = AUTHOR(S)
-# Graham Dumpleton
-# K. Dorn
-#
-# = COPYRIGHT
-# Copyright 1991 OTC LIMITED
-# Copyright 1994 DUMPLETON SOFTWARE CONSULTING PTY LIMITED
-#
-# =============================================================================
-
-OSE_HOST=
-
-OSE_RELEASE_NAME=
-export OSE_RELEASE_NAME
-
-OSE_ROOT=${OSE_ROOT-$ACE_ROOT}
-export OSE_ROOT
-
-OSE_VERSION_ROOT=$OSE_ROOT
-export OSE_VERSION_ROOT
-
-BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin"
-LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/bin"}
-
-AWK="${AWK-gawk}"
-
-
-if test "$AWK" = "gawk"
-then
- VARG="-v"
-fi
-
-EXT="3"
-
-#
-# Error.
-#
-ERROR()
-{
- echo "`basename $0`: $1" >&2
- shift
- while test $# != "0"
- do
- echo $1 >&2
- shift
- done
- exit 1
-}
-
-#
-# Usage message.
-#
-USAGE()
-{
- ERROR "Usage: `basename $0` file.ci"
-}
-
-#
-# Check usage.
-#
-if test $# != "1" -o "'basename $1 .ci'" = "$1"
-then
- USAGE
-fi
-
-#
-# Check for awk file etc.
-#
-INFO2DOC=$LIBDIR/info2doc.awk
-MANFMT=$LIBDIR/info2head.fmt
-HIDINGFMT=$LIBDIR/hiding.fmt
-
-if test ! -f $HIDINGFMT
-then
- ERROR "Can't find $HIDINGFMT"
-fi
-
-if test ! -f $INFO2DOC
-then
- ERROR "Can't find $INFO2DOC"
-fi
-
-if test ! -f $MANFMT
-then
- ERROR "Can't find $MANFMT"
-fi
-
-
-
-ADTS=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^(CLASS|STRUCT|UNION)$" && $2 !~ "(::|<)" {
- printf( "%s\n", $2 )
-}
-$1 ~ "^TEMPLATE$" && $3 !~ "::" {
- printf( "%s\n", $3 )
-}' $1`
-
-
-VPUBL=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PUBLIC$" {
- if ( $2 ~ "on" )
- printf("%s","publ=on");
- else
- printf("%s","publ=");
-}' $HIDINGFMT`
-
-VPROT=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PROTECTED$" {
- if ( $2 ~ "on" )
- printf("%s","prot=on");
- else
- printf("%s","prot=");
-}' $HIDINGFMT`
-
-VPRIV=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PRIVATE$" {
- if ( $2 ~ "on" )
- printf("%s","priv=on");
- else
- printf("%s","priv=");
-}' $HIDINGFMT`
-
-echo " $VPUBL $VPROT $VPRIV "
-
-
-# $VARG publ=on $VARG prot= $VARG priv= \
-# $VARG $VPUBL $VARG $VPROT $VARG $VPRIV \
-if test ! -z "$ADTS"
-then
- for ADT in $ADTS
- do
- echo "$ADT"
-
- echo "making $ADTS.hxx file ..."
- $AWK -f $INFO2DOC \
- $VARG $VPUBL $VARG $VPROT $VARG $VPRIV \
- $VARG pass=0 $VARG device=text $VARG infile=$1 \
- $VARG class=$ADT \
- $MANFMT $MANFMT > $ADT.$EXT
-# troff -a $ADT.$EXT > $ADT.hxx
- cp $ADT.$EXT $ADT.hxx
- echo "$ADTS.hxx file done!"
-# echo "removing $ADTS.$EXT file ..."
- \rm $ADT.$EXT
-# echo "file $ADTS.$EXT file removed!"
- done
-fi
diff --git a/bin/info2head.fmt b/bin/info2head.fmt
deleted file mode 100644
index 87eb1c8b1d0..00000000000
--- a/bin/info2head.fmt
+++ /dev/null
@@ -1,23 +0,0 @@
-start
-hide section FILENAME
-hide section COPYRIGHT
-hide prelude
-hide title
-print synopsis
-hide section CLASS TYPE
-hide section AUDIENCE
-hide section DESCRIPTION
-hide section EXAMPLE
-hide contract *
-hide section *
-hide section NOTES
-hide section PORTABILITY
-hide section SEE ALSO
-hide section LIBRARY
-hide section VERSION
-hide section DATE RELEASED
-hide section RCSID
-hide section SCCSID
-hide section AUTHOR(S)
-hide copyright
-end
diff --git a/bin/info2headsrc b/bin/info2headsrc
deleted file mode 100755
index 9b6bfcfcf77..00000000000
--- a/bin/info2headsrc
+++ /dev/null
@@ -1,326 +0,0 @@
-#! /bin/sh
-# =============================================================================
-#
-# = DESCRIPTION
-# Front end to awk script for generating <class>.hxx and <class>.hxx files
-# from classinfo files.
-#
-# = AUTHOR(S)
-# K. Dorn
-#
-#
-# =============================================================================
-
-OSE_HOST=
-
-OSE_RELEASE_NAME=
-export OSE_RELEASE_NAME
-
-OSE_ROOT=${OSE_ROOT-$ACE_ROOT}
-export OSE_ROOT
-
-OSE_VERSION_ROOT=$OSE_ROOT
-export OSE_VERSION_ROOT
-
-BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin"
-LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/bin"}
-
-AWK="${AWK-gawk}"
-
-
-if test "$AWK" = "gawk"
-then
- VARG="-v"
-fi
-
-EXT="3"
-
-#
-# Error.
-#
-ERROR()
-{
- echo "`basename $0`: $1" >&2
- shift
- while test $# != "0"
- do
- echo $1 >&2
- shift
- done
- exit 1
-}
-
-#
-# Usage message.
-#
-USAGE()
-{
- ERROR "Usage: `basename $0` file.ci"
-}
-
-#
-# Check usage.
-#
-if test $# != "1" -o "'basename $1 .ci'" = "$1"
-then
- USAGE
-fi
-
-
-#
-# Check for awk file etc.
-#
-INFO2SRC=$BINDIR/info2src.awk
-INFO2DOC=$LIBDIR/info2doc.awk
-MANFMT=$LIBDIR/info2head.fmt
-HIDINGFMT=$LIBDIR/hiding.fmt
-VENDORFMT=$LIBDIR/vendor.fmt
-
-if test ! -f $VENDORFMT
-then
- ERROR "Can't find $VENDORFMT"
-fi
-
-if test ! -f $HIDINGFMT
-then
- ERROR "Can't find $HIDINGFMT"
-fi
-
-if test ! -f $INFO2DOC
-then
- ERROR "Can't find $INFO2DOC"
-fi
-
-if test ! -f $MANFMT
-then
- ERROR "Can't find $MANFMT"
-fi
-
-ADTS=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^(CLASS|STRUCT|UNION)$" && $2 !~ "(::|<)" {
- printf( "%s\n", $2 )
-}
-$1 ~ "^TEMPLATE$" && $3 !~ "::" {
- printf( "%s\n", $3 )
-}' $1`
-
-
-
-VMERGE=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^CSAMERGECXXHXX$" {
- if ( $2 ~ "on" )
- printf("%s","merge=on");
- else
- printf("%s","merge=");
-}' $HIDINGFMT`
-
-VCSA=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^CSAHEADER$" {
- if ( $2 ~ "on" )
- printf("%s","csaprintheader=on");
- else
- printf("%s","csaprintheader=");
-}' $HIDINGFMT`
-
-VPUBL=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PUBLIC$" {
- if ( $2 ~ "on" )
- printf("%s","publ=on");
- else
- printf("%s","publ=");
-}' $HIDINGFMT`
-
-VPROT=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PROTECTED$" {
- if ( $2 ~ "on" )
- printf("%s","prot=on");
- else
- printf("%s","prot=");
-}' $HIDINGFMT`
-
-VPRIV=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PRIVATE$" {
- if ( $2 ~ "on" )
- printf("%s","priv=on");
- else
- printf("%s","priv=");
-}' $HIDINGFMT`
-
-
-
-
-VCOCXX=`$AWK '
-BEGIN {
- FS=""; RS=""
-}
-/VENDOR_COMPILATION_HEADER_CXX_START/, /VENDOR_COMPILATION_HEADER_CXX_END/ {
-sub("^VENDOR_COMPILATION_HEADER_CXX_START\n","",$0)
-sub("VENDOR_COMPILATION_HEADER_CXX_END$","",$0)
-
-gsub( / \\\" /, "999", $0 )
-gsub( "\"\\[\t ]*", "234", $0 )
-gsub( "234\\\n", "345", $0 )
-gsub( /234.\n/, "456", $0 )
-gsub( /456[\t ]*234/, "567", $0 )
-gsub( /567/, "", $0 )
-gsub( /234/, "", $0 )
-gsub( /345/, "", $0 )
-gsub( "999", "\"", $0 )
-
-print $0
-}' $VENDORFMT`
-
-
-VMECXX=`$AWK '
-BEGIN {
- FS=""; RS=""
-}
-/VENDOR_METHOD_HEADER_CXX_START/, /VENDOR_METHOD_HEADER_CXX_END/ {
-sub("^VENDOR_METHOD_HEADER_CXX_START\n","",$0)
-sub("VENDOR_METHOD_HEADER_CXX_END$","",$0)
-
-gsub( / \\\" /, "999", $0 )
-gsub( "\"\\[\t ]*", "234", $0 )
-gsub( "234\\\n", "345", $0 )
-gsub( /234.\n/, "456", $0 )
-gsub( /456[\t ]*234/, "567", $0 )
-gsub( /567/, "", $0 )
-gsub( /234/, "", $0 )
-gsub( /345/, "", $0 )
-gsub( "999", "\"", $0 )
-
-print $0
-}' $VENDORFMT`
-
-VCOHXX=`$AWK '
-BEGIN {
- FS=""; RS=""
-}
-/VENDOR_COMPILATION_HEADER_HXX_START/, /VENDOR_COMPILATION_HEADER_HXX_END/ {
-sub("^VENDOR_COMPILATION_HEADER_HXX_START\n","",$0)
-sub("VENDOR_COMPILATION_HEADER_HXX_END$","",$0)
-
-gsub( / \\\" /, "999", $0 )
-gsub( "\"\\[\t ]*", "234", $0 )
-gsub( "234\\\n", "345", $0 )
-gsub( /234.\n/, "456", $0 )
-gsub( /456[\t ]*234/, "567", $0 )
-gsub( /567/, "", $0 )
-gsub( /234/, "", $0 )
-gsub( /345/, "", $0 )
-gsub( "999", "\"", $0 )
-
-print $0
-}' $VENDORFMT`
-
-
-VCLHXX=`$AWK '
-BEGIN {
- FS=""; RS=""
-}
-/VENDOR_CLASS_HEADER_HXX_START/, /VENDOR_CLASS_HEADER_HXX_END/ {
-sub("^VENDOR_CLASS_HEADER_HXX_START\n","",$0)
-sub("VENDOR_CLASS_HEADER_HXX_END$","",$0)
-
-gsub( / \\\" /, "999", $0 )
-gsub( "\"\\[\t ]*", "234", $0 )
-gsub( "234\\\n", "345", $0 )
-gsub( /234.\n/, "456", $0 )
-gsub( /456[\t ]*234/, "567", $0 )
-gsub( /567/, "", $0 )
-gsub( /234/, "", $0 )
-gsub( /345/, "", $0 )
-gsub( "999", "\"", $0 )
-
-print $0
-}' $VENDORFMT`
-
-
-echo " $VCOCXX " > vcocxx.txt
-echo " $VMECXX " > vmecxx.txt
-echo " $VCOHXX " > vcohxx.txt
-echo " $VCLHXX " > vclhxx.txt
-
-
-
-echo " $VPUBL $VPROT $VPRIV $VCSA $VMERGE"
-
-#
-# get from *.ci file the classes that should separated
-# and make the <class>.hxx and <class>.cxx files
-#
-if test ! -z "$ADTS"
-then
- LASTADT=""
- LOPCNT=1
- BASEFILENAME=`basename $1`
- HXXMERGEFILE=`echo $BASEFILENAME | sed -e 's/\..*$//'`.mhxx
- CXXMERGEFILE=`echo $BASEFILENAME | sed -e 's/\..*$//'`.mcxx
- rm -f $HXXMERGEFILE
- rm -f $CXXMERGEFILE
- for ADT in $ADTS
- do
- if test "$LASTADT" != "$ADT"
- then
- echo "loop = $LOPCNT"
- echo "$ADT"
-
- echo "making $ADTS.hxx file ..."
- $AWK -f $INFO2DOC \
- $VARG fvclhxx=vclhxx.txt \
- $VARG fvcohxx=vcohxx.txt \
- $VARG $VPUBL $VARG $VPROT $VARG $VPRIV $VARG $VCSA $VARG $VMERGE \
- $VARG pass=0 $VARG device=text $VARG infile=$1 \
- $VARG class=$ADT $VARG loop=$LOPCNT\
- $MANFMT $MANFMT > $ADT.hxx
- echo "$ADTS.hxx file done!"
- if test "$VMERGE" = "merge=on"
- then
- echo "merging $ADT.hxx into $HXXMERGEFILE"
- cat $ADT.hxx >> $HXXMERGEFILE
- fi
-
- echo "making $ADTS.cxx file ..."
- $AWK -f $INFO2SRC \
- $VARG fvmecxx=vmecxx.txt \
- $VARG fvcocxx=vcocxx.txt \
- $VARG $VPUBL $VARG $VPROT $VARG $VPRIV $VARG $VCSA $VARG $VMERGE \
- $VARG infile=$1 $VARG classext=$ADT $VARG mode=single $VARG loop=$LOPCNT\
- $1 > $ADT.cxx
- echo "$ADTS.cxx file done!"
- if test "$VMERGE" = "merge=on"
- then
- echo "merging $ADT.cxx into $CXXMERGEFILE"
- cat $ADT.cxx >> $CXXMERGEFILE
- fi
-
- LOPCNT=`expr $LOPCNT + 1`
- LASTADT=$ADT
- fi
- done
-fi
-#
-# remove temporary vendor files
-#
-rm -f vcocxx.txt
-rm -f vmecxx.txt
-rm -f vcohxx.txt
-rm -f vclhxx.txt
diff --git a/bin/info2man b/bin/info2man
deleted file mode 100755
index e38551c68ff..00000000000
--- a/bin/info2man
+++ /dev/null
@@ -1,169 +0,0 @@
-#! /bin/sh
-# =============================================================================
-#
-# = DESCRIPTION
-# Front end to awk script for generating manual pages from classinfo
-# files.
-#
-# = AUTHOR(S)
-# Graham Dumpleton
-# K. Dorn
-#
-# = COPYRIGHT
-# Copyright 1991 OTC LIMITED
-# Copyright 1994 DUMPLETON SOFTWARE CONSULTING PTY LIMITED
-#
-# =============================================================================
-
-OSE_HOST=
-
-OSE_RELEASE_NAME=
-export OSE_RELEASE_NAME
-
-OSE_ROOT=${OSE_ROOT-$ACE_ROOT}
-export OSE_ROOT
-
-OSE_VERSION_ROOT=$OSE_ROOT
-export OSE_VERSION_ROOT
-
-BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin"
-LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/bin"}
-
-AWK="${AWK-gawk}"
-
-if test "$AWK" = "gawk"
-then
- VARG="-v"
-fi
-
-EXT="3"
-
-#
-# Error.
-#
-ERROR()
-{
- echo "`basename $0`: $1" >&2
- shift
- while test $# != "0"
- do
- echo $1 >&2
- shift
- done
- exit 1
-}
-
-#
-# Usage message.
-#
-USAGE()
-{
- ERROR "Usage: `basename $0` file.ci"
-}
-
-#
-# Check usage.
-#
-if test $# != "1" -o "'basename $1 .ci'" = "$1"
-then
- USAGE
-fi
-
-#
-# Check for awk file etc.
-#
-INFO2MAN=$LIBDIR/info2doc.awk
-MANFMT=$LIBDIR/info2doc.fmt
-HIDINGFMT=$LIBDIR/hiding.fmt
-
-if test ! -f $HIDINGFMT
-then
- ERROR "Can't find $HIDINGFMT"
-fi
-
-if test ! -f $INFO2MAN
-then
- ERROR "Can't find $INFO2MAN"
-fi
-
-if test ! -f $MANFMT
-then
- ERROR "Can't find $MANFMT"
-fi
-
-
-
-
-ADTS=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^(CLASS|STRUCT|UNION)$" && $2 !~ "(::|<)" {
- printf( "%s\n", $2 )
-}
-$1 ~ "^TEMPLATE$" && $3 !~ "::" {
- printf( "%s\n", $3 )
-}' $1`
-
-
-
-VCSA=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^CSAHEADER$" {
- if ( $2 ~ "on" )
- printf("%s","csaprintheader=off");
- else
- printf("%s","csaprintheader=off");
-}' $HIDINGFMT`
-
-VPUBL=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PUBLIC$" {
- if ( $2 ~ "on" )
- printf("%s","publ=on");
- else
- printf("%s","publ=");
-}' $HIDINGFMT`
-
-VPROT=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PROTECTED$" {
- if ( $2 ~ "on" )
- printf("%s","prot=on");
- else
- printf("%s","prot=");
-}' $HIDINGFMT`
-
-VPRIV=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PRIVATE$" {
- if ( $2 ~ "on" )
- printf("%s","priv=on");
- else
- printf("%s","priv=");
-}' $HIDINGFMT`
-
-echo " $VPUBL $VPROT $VPRIV $VCSA "
-
-
-
-if test ! -z "$ADTS"
-then
- for ADT in $ADTS
- do
- echo "$ADT"
-
- $AWK -f $INFO2MAN \
- $VARG $VPUBL $VARG $VPROT $VARG $VPRIV $VARG $VCSA \
- $VARG pass=0 $VARG device=troff $VARG infile=$1 \
- $VARG class=$ADT $MANFMT $MANFMT > $ADT.$EXT
- done
-fi
diff --git a/bin/info2mml b/bin/info2mml
deleted file mode 100755
index d38ac0f814a..00000000000
--- a/bin/info2mml
+++ /dev/null
@@ -1,166 +0,0 @@
-#! /bin/sh
-# =============================================================================
-#
-# = DESCRIPTION
-# Front end to awk script for generating Frame mml from classinfo
-# files.
-#
-# = AUTHOR(S)
-# Graham Dumpleton
-# K. Dorn
-#
-# = COPYRIGHT
-# Copyright 1991 OTC LIMITED
-# Copyright 1994 DUMPLETON SOFTWARE CONSULTING PTY LIMITED
-#
-# =============================================================================
-
-OSE_HOST=
-
-OSE_RELEASE_NAME=
-export OSE_RELEASE_NAME
-
-OSE_ROOT=${OSE_ROOT-$ACE_ROOT}
-export OSE_ROOT
-
-OSE_VERSION_ROOT=$OSE_ROOT/$OSE_RELEASE_NAME
-export OSE_VERSION_ROOT
-
-BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin"
-LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/bin"}
-
-AWK="${AWK-gawk}"
-
-if test "$AWK" = "gawk"
-then
- VARG="-v"
-fi
-
-EXT="mml"
-
-#
-# Error.
-#
-ERROR()
-{
- echo "`basename $0`: $1" >&2
- shift
- while test $# != "0"
- do
- echo $1 >&2
- shift
- done
- exit 1
-}
-
-#
-# Usage message.
-#
-USAGE()
-{
- ERROR "Usage: `basename $0` file.ci"
-}
-
-#
-# Check usage.
-#
-if test $# != "1" -o "'basename $1 .ci'" = "$1"
-then
- USAGE
-fi
-
-#
-# Check for awk file etc.
-#
-INFO2MAN=$LIBDIR/info2doc.awk
-HIDINGFMT=$LIBDIR/hiding.fmt
-MANFMT=$LIBDIR/info2doc.fmt
-
-
-if test ! -f $HIDINGFMT
-then
- ERROR "Can't find $HIDINGFMT"
-fi
-
-if test ! -f $INFO2MAN
-then
- ERROR "Can't find $INFO2MAN"
-fi
-
-if test ! -f $MANFMT
-then
- ERROR "Can't find $MANFMT"
-fi
-
-ADTS=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^(CLASS|STRUCT|UNION)$" && $2 !~ "(::|<)" {
- printf( "%s\n", $2 )
-}
-$1 ~ "^TEMPLATE$" && $3 !~ "::" {
- printf( "%s\n", $3 )
-}' $1`
-
-
-VCSA=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^CSAHEADER$" {
- if ( $2 ~ "on" )
- printf("%s","csaprintheader=off");
- else
- printf("%s","csaprintheader=off");
-}' $HIDINGFMT`
-
-VPUBL=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PUBLIC$" {
- if ( $2 ~ "on" )
- printf("%s","publ=on");
- else
- printf("%s","publ=");
-}' $HIDINGFMT`
-
-VPROT=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PROTECTED$" {
- if ( $2 ~ "on" )
- printf("%s","prot=on");
- else
- printf("%s","prot=");
-}' $HIDINGFMT`
-
-VPRIV=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PRIVATE$" {
- if ( $2 ~ "on" )
- printf("%s","priv=on");
- else
- printf("%s","priv=");
-}' $HIDINGFMT`
-
-echo " $VPUBL $VPROT $VPRIV $VCSA "
-
-
-
-if test ! -z "$ADTS"
-then
- for ADT in $ADTS
- do
- echo "$ADT"
-
- $AWK -f $INFO2MAN \
- $VARG $VPUBL $VARG $VPROT $VARG $VPRIV $VARG $VCSA \
- $VARG pass=0 $VARG device=mml $VARG infile=$1 \
- $VARG class=$ADT $MANFMT $MANFMT > $ADT.$EXT
- done
-fi
diff --git a/bin/info2src b/bin/info2src
deleted file mode 100755
index c165b336341..00000000000
--- a/bin/info2src
+++ /dev/null
@@ -1,133 +0,0 @@
-#! /bin/sh
-# =============================================================================
-#
-# = DESCRIPTION
-# Script to combine class2info and info2src.
-#
-# = AUTHOR(S)
-# Graham Dumpleton
-# K. Dorn
-#
-# = COPYRIGHT
-# Copyright 1991 OTC LIMITED
-#
-# =============================================================================
-
-OSE_HOST=
-
-OSE_RELEASE_NAME=
-export OSE_RELEASE_NAME
-
-OSE_ROOT=${OSE_ROOT-$ACE_ROOT}
-export OSE_ROOT
-
-OSE_VERSION_ROOT=$OSE_ROOT/$OSE_RELEASE_NAME
-export OSE_VERSION_ROOT
-
-BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin"
-LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/bin"}
-
-AWK="gawk"
-
-#
-# Error.
-#
-ERROR()
-{
- echo "`basename $0`: $1" >&2
- shift
- while test $# != "0"
- do
- echo $1 >&2
- shift
- done
- exit 1
-}
-
-#
-# Usage message.
-#
-USAGE()
-{
- ERROR "Usage: `basename $0` file.ci"
-}
-
-if test $# != "1" -o "'basename $1 .ci'" = "$1"
-then
- USAGE
-fi
-
-#
-# Check for awk file.
-#
-INFO2SRC=$BINDIR/info2src.awk
-HIDINGFMT=$LIBDIR/hiding.fmt
-
-file=`basename $1`
-base="`echo $file | sed -e 's/\..*$//'`"
-
-if test ! -f $INFO2SRC
-then
- ERROR "Can't find $INFO2SRC"
-fi
-
-if test ! -f $HIDINGFMT
-then
- ERROR "Can't find $HIDINGFMT"
-fi
-
-
-VCSA=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^CSAHEADER$" {
- if ( $2 ~ "on" )
- printf("%s","csaprintheader=on");
- else
- printf("%s","csaprintheader=");
-}' $HIDINGFMT`
-
-VPUBL=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PUBLIC$" {
- if ( $2 ~ "on" )
- printf("%s","publ=on");
- else
- printf("%s","publ=");
-}' $HIDINGFMT`
-
-VPROT=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PROTECTED$" {
- if ( $2 ~ "on" )
- printf("%s","prot=on");
- else
- printf("%s","prot=");
-}' $HIDINGFMT`
-
-VPRIV=`$AWK '
-BEGIN {
- FS="\n"; RS=""
-}
-$1 ~ "^PRIVATE$" {
- if ( $2 ~ "on" )
- printf("%s","priv=on");
- else
- printf("%s","priv=");
-}' $HIDINGFMT`
-
-echo " $VPUBL $VPROT $VPRIV $VCSA "
-
-
-# $VARG publ=on $VARG prot=on $VARG priv=on \
-echo "making $base.cxx file ..."
-$AWK -f $INFO2SRC \
- $VARG $VPUBL $VARG $VPROT $VARG $VPRIV $VARG $VCSA \
- $VARG infile=$1 $VARG classext= $VARG mode=multiple \
- $1 > $base.cxx
-echo "$base.cxx file done!"
diff --git a/bin/info2src.awk b/bin/info2src.awk
deleted file mode 100755
index 1a8b19ae964..00000000000
--- a/bin/info2src.awk
+++ /dev/null
@@ -1,630 +0,0 @@
-# =============================================================================
-#
-# = DESCRIPTION
-# Awk script to convert classinfo description file to src stubs.
-#
-# = AUTHOR(S)
-# Graham Dumpleton
-# K. Dorn
-#
-# = COPYRIGHT
-# Copyright 1991 OTC LIMITED
-#
-# =============================================================================
-
-BEGIN {
-# separator = "/* ------------------------------"\
-# "------------------------------------------- */"
- separator = ""
- csa_method_trailer=sprintf("\n/*] END Method */\n\n")
- FS="\n"; RS=""
- firsttime = "first"
- templ=""
- blank=" "
- classfunc = ""
- rettyp = ""
- classname=""
- classtitle=""
- filedate=""
- filename=""
- filename1=""
- author=""
- classdescription=""
- methoddescription=""
-
-# csaprintheader=1
-
-# accpubl = "off"
-# accprot = "off"
-# accpriv = "off"
-}
-#
-# variable von awk sind nicht in begin zuweisbar!
-#
-{
- accmergecxxhxx = merge
- accloop = loop
- accpubl = publ
- accprot = prot
- accpriv = priv
-#printf("\nmerge=%s loop=%s csaprintheader=%s firsttime=%s\n",merge,loop,csaprintheader,firsttime);
-}
-
-function csa_print_compilation_header_alt()
-{
- if ( length( firsttime ) > 3 )
- {
-
- csa_compilation_header=sprintf("\n/*[ Compilation unit "\
- "----------------------------------------------------------\n"\
- "\n"\
- " Component : CSA - OSC\n"\
- "\n"\
- " Name : %s.[Ci]\n"\
- "\n"\
- " Author : %s\n"\
- "\n"\
- " Language : C++\n"\
- "\n"\
- " Creation Date : %s\n"\
- "\n"\
- " Test State : %%Q%%\n"\
- "\n"\
- " Description : %s\n"\
- "\n"\
- "\n"\
- " Copyright (C) Siemens AG 1995 All Rights Reserved\n"\
- "\n"\
- "--------------------------------------"\
- "---------------------------------------*/\n"\
- "/*] END */\n"\
- "#pragma ident \"%%Z%% %%M%% %%I%% (%%G%%), %%Y%% %%Q%%:"\
- " implementation file for class \n"\
- "%s\"\n"\
- "\n"\
- "#undef __STDC__\n"\
- "#undef __GNUG__\n"\
- "\n",filename1,author,filedate,classdescription,names[$2]);
- printf("%s",csa_compilation_header);
- firsttime = ""
- }
-}
-
-function csa_print_compilation_header()
-{
- if ((csaprintheader == "on" && merge != "on") || (merge == "on" && loop == "1"))
- {
- if ( length( firsttime ) > 3 )
- {
- FS=" "; RS="\n"
- read_fvmecxx_file()
- read_fvcocxx_file()
- FS="\n"; RS=""
-
- #csa_compilation_header=sprintf(vcocxx,filename1,author,filedate,classdescription,names[$2]);
-csa_compilation_header=sprintf(vcocxx,filename1,author,filedate,classdescription,classname);
- printf("%s",csa_compilation_header);
- firsttime = ""
- }
- }
- else if (csaprintheader == "on" && merge == "on" && loop != "1" && length( firsttime ) > 3)
- {
- FS=" "; RS="\n"
- read_fvmecxx_file()
- read_fvcocxx_file()
- FS="\n"; RS=""
- firsttime = ""
- }
-}
-
-function csa_print_method_header_alt()
-{
- prrettyp = ""
- if (rettyp != "")
- prrettyp=sprintf("type = %s",rettyp);
- else
- prrettyp=sprintf("-");
-
- csa_method_header=sprintf("\n/*[ Method ---------------------"\
- "-------------------------------------------\n"\
- "\n"\
- " Name : %s\n"\
- "\n"\
- " Description : %s\n"\
- "\n"\
- " Return : %s\n"\
- "\n"\
- "--------------------------------------------"\
- "------------------------------*/\n\n",classfunc,methoddescription,prrettyp)
- printf("%s",csa_method_header);
-}
-
-function csa_print_method_header()
-{
- if (csaprintheader == "on")
- {
- prrettyp = ""
- if (rettyp != "")
- prrettyp=sprintf("type = %s",rettyp);
- else
- prrettyp=sprintf("-");
-
- csa_method_header=sprintf(vmecxx,classfunc,methoddescription,prrettyp)
- printf("%s",csa_method_header);
- }
-}
-
-function csa_print_method_trailer()
-{
- if (csaprintheader == "on")
- {
- csa_method_trailer=sprintf("/*] END Method */\n")
- printf("\n%s\n",csa_method_trailer);
- }
-}
-
-function csa_get_method_description()
-{
- n = split( $0, line, "\n" )
- methoddescription=""
- for ( i=5; i<=n; i++ )
- {
- len = length(line[i])
- comm = substr(line[i],4,len)
- methoddescription = methoddescription comm "\n "
- }
-}
-
-
-function read_fvmecxx_file()
-{
- vmecxx1 = "\n"
- while ( getline < fvmecxx > 0 )
- vmecxx1 = vmecxx1 $0 "\n"
- vmecxx = vmecxx1
-}
-
-function read_fvcocxx_file()
-{
- vcocxx1 = "\n"
- while ( getline < fvcocxx > 0 )
- vcocxx1 = vcocxx1 $0 "\n"
- vcocxx = vcocxx1
-}
-
-
-#
-# hier laueft er durch mit allen zeilen
-#
-
-$1 ~ /CLASS2INFO/ {
- filedate=$2
- filename=$3
- len=length($3)
- filename1=substr($3,1,(len-2))
-}
-
-$1 ~ /INFO/ && $2 ~ /GLOBAL/ && $3 ~ /LIBRARY/ {
- library=$4
- len=length(library)
- library=substr(library,4,len)
- if ( merge != "on")
- printf( "#include <%s/%s>\n", library, filename )
- else
- if ( loop == "1")
- printf( "#include <%s/%s>\n", library, filename )
-}
-
-$1 ~ /INFO/ && $2 ~ /GLOBAL/ && $3 ~ /AUTHOR/ {
- l=length($4)
- author=substr($4,4,l)
-}
-
-$1 ~ /INFO/ && $2 ~ /HDR/ && $3 ~ /TITLE/ {
- classname=$4
- classtitle=$5
-}
-
-$1 ~ /INFO/ && $2 ~ /HDR/ && $3 ~ /DESCRIPTION/ {
- n = split( $0, line, "\n" )
- classdescription=""
- for ( i=5; i<=n; i++ )
- {
- len = length(line[i])
- comm = substr(line[i],4,len)
- classdescription = classdescription comm "\n "
- }
-# if (csaprintheader == "on")
-# csa_print_compilation_header()
-}
-
-$1 ~ /INCLUDE/ {
- if ( merge != "on")
- printf( "#include %s\n", $2)
-# else
-# if ( loop == "1")
-# printf( "#include %s\n", $2)
-}
-
-#
-# neu mit nested classes
-#
-$1 ~ /(CLASS|STRUCT|UNION)/ {
- nestedclass = ""
- nested = ""
- templnested = ""
- containerclass = ""
- if ( $2 ~ "(::|<)" )
- {
- len = length($2)
- match( $2, "(::|<).*$")
- newclass = substr( $2,RSTART+2,RLENGTH)
- thisclass = substr( $2,1,RSTART-1)
- if (thisclass == classext)
- {
- nestedclass = newclass
- nested = "on"
- containerclass = thisclass
- class = newclass $3 # 23.10.95
- }
- else
- nestedclass = ""
- }
- else
- {
- names[$2] = $2
- }
-}
-
-#
-# neu mit nested classes
-#
-$1 ~ /TEMPLATE/ {
- templnestedclass = ""
- nested = ""
- templnested = ""
- if ( $2 ~ /(class|union|struct)/ && $3 ~ "(::|<)" )
- {
- len = length($3)
- match( $3, "(::|<).*$")
- templnewclass = substr( $3,RSTART+2,RLENGTH)
- templthisclass = substr( $3,1,RSTART-1)
- if (templthisclass == classext)
- {
- templnestedclass = templnewclass
- nestedtempl = $4
-#printf("\n------nestedtempl=%s----\n",nestedtempl);
- class = templnewclass $4
- nestedtemplclass = templnewclass $4
- nested = "on"
- templnested = "on"
- containerclass = templthisclass
- }
- else
- templnestedclass = ""
- }
- else
- {
- class = $3 $4
- templclass = $3 $4
- args[$3] = $4
- templ=$4
- # This needs extra work.
- #
- # macht aus: <class hans,class otto> folgendes:
- # <hans,otto>
-
- sub( "<[\t ]*(class)[\t ]+", "<", class )
- sub( ",[\t ]*(class)[\t ]+", ",", class )
-
- names[$3] = class
- }
-}
-
-#
-# neu nested classes, achtung: nur level1 moeglich, da keine rekursion!
-#
-$1 ~ /END/ && $2 == class{
- nested= ""
- templnested= ""
-}
-
-#
-# alt ohne nested classes
-#
-#$1 ~ /(CLASS|STRUCT|UNION)/ {
-# names[$2] = $2
-#}
-
-#
-# alt ohne nested classes
-#
-#$1 ~ /TEMPLATE/ {
-# class = $3 $4
-# templclass = $3 $4
-# args[$3] = $4
-# templ=$4
-# # This needs extra work.
-#
-# macht aus: <class hans,class otto> folgendes:
-# <hans,otto>
-#
-# sub( "<[\t ]*(class)[\t ]+", "<", class )
-# sub( ",[\t ]*(class)[\t ]+", ",", class )
-
-# names[$3] = class
-#}
-
-
-$1 ~ /FUNC/ {
- prototype = $4
- class = $2
- hiding = $3
- if ( (((hiding == "private") && (accpriv == "on") ) || ((hiding == "public") && (accpubl == "on") ) || ((hiding == "protected") && (accprot == "on") )) && ((mode != "single") || ((mode == "single") && ((classext == class) || (class == nestedclass) || (class == templnestedclass))) ))
- {
-# printf("\nclassext=%s\n",classext);
-# printf("\nclass =%s\n",class);
-# printf("\nhiding=%s\n",hiding);
- csa_print_compilation_header()
- # Filter out inline functions.
- flinline=0
- if ( prototype ~ /^[\t ]*inline[\t ]+/ )
- {
- flinline=1
-#printf("\n######inline####\n");
-# next
- sub( "^[\t ]*inline[\t ]+", "", prototype )
- }
- # Filter out pure virtual functions: wenn prototype "= 0 ;" enthaelt!
- flpurevirt=0
- if ( prototype ~ /[\t ]*=[\t ]*0[\t ]*;[\t ]*$/ )
- {
- flpurevirt=1
- next
- }
- # Strip out unwanted bits "static oder virtual".
- flstatic=0
- if ( prototype ~ /^[\t ]*static[\t ]+/ )
- {
- flstatic=1
- }
- flvirtual=0
- if ( prototype ~ /^[\t ]*virtual[\t ]+/ )
- {
- flvirtual=1
- }
- sub( "^[\t ]*(static|virtual)[\t ]+", "", prototype )
-# suchstring ersetzen src/zielstring
- # Strip out unwanted bits ";
- # blank und tab" am ende der methode.
- sub( ";[\t ]*$", "", prototype )
- # Strip out unwanted bits : 1. default werte der methode aus class def und comma.
-# gsub( "[\t ]*\\(=[^(=][^,=]*,", ",", prototype )
-# gsub( "[\t ]*\\(=[^(=][^,=]*\\)", ")", prototype )
-
-#neu
- if ( prototype !~ /[\t \&\*]*operator[^a-zA-Z0-9]+/ )
- {
-#neu
- # Strip out unwanted bits : 1. default werte der methode aus class def und comma, aber nicht bei
- # operator funs , wegen deren "=" !
- gsub( "[\t ]*=[^(=][^,=]*,", ",", prototype )
- gsub( "[\t ]*=[^(=][^,=]*\\)", ")", prototype )
-#neu
- }
-#neu
-
-#printf("\nprototype=|%s|\n",prototype);
-
- # Put in class name.
- floperator=0
- if ( prototype ~ /[\t \&\*]*operator[^a-zA-Z0-9]+/ )
- {
- #
- # operator funcs
- #
- floperator=1
-#printf("\noperatorfunc|%s|\n",prototype);
- match( prototype, "[^\t \&\*]*operator" )
- typoper = substr( prototype, 1,RSTART-1)
-#printf("\ntypoper=|%s|\n",typoper);
- wholelen=length(prototype)
- restoper = substr( prototype, RSTART, wholelen)
-#printf("\nrestoper=|%s|\n",restoper);
- len=length(restoper)
- restoper1 = substr( restoper, 9, len )
- match( restoper1, "[^\t ].*$" ) # trimstring fuer anf des feldes
- restoper2 = substr( restoper1, RSTART, RLENGTH )
-#printf("\nrestoper2=|%s|\n",restoper2);
- len=length(restoper2) # pvar++
- restoper3 = substr( restoper2,2, len )
-#printf("\nrestoper3=|%s|\n",restoper3);
- match( restoper3, "\\(.*$" ) # gebe naechsten string der
- # mit ( anfaengt bis zum ende
- decl = substr( restoper3, RSTART, RLENGTH )
-#printf("\nparas=|%s| s=%d l=%d\n",decl,RSTART,RLENGTH);
- parstart=index(restoper,decl)
- restoperfun=substr(restoper,1,parstart-1)
-#printf("\nrestoperfun=|%s|\n",restoperfun);
-
-#neu
- # Strip out unwanted bits : 1. default werte der methode aus class def und comma.
- gsub( "[\t ]*=[^(=][^,=]*,", ",", decl )
- gsub( "[\t ]*=[^(=][^,=]*\\)", ")", decl )
- restoper=restoperfun decl
-#printf("\nneu restoper=|%s|\n",restoper);
-#neu
-
-
-if (nested == "on" )
- prototype=typoper containerclass "::" class "::" restoper
-else
- prototype=typoper class "::" restoper
-#printf("\nprototype=|%s|\n",prototype);
-
-if (nested == "on" )
- classfunc = containerclass "::" class "::" restoperfun
-else
- classfunc = class "::" restoperfun
-#printf("\nclassfunc=|%s|\n",classfunc);
- rettyp = typoper
-#printf("\nrettyp=|%s|\n",rettyp);
- funcname = classfunc
-#printf("\n7|%s|\n",funcname);
- }
- else
- {
- #
- # other functions
- #
- match( prototype, "[^\t ]*\\(.*$" )
- decl = substr( prototype, RSTART, RLENGTH )
-
-#-----neu start, damit 0-n blanks zwischen "func-name" und "(" stehen koennen!
- match( decl, "\\(.*$" )
- decl = substr( decl, RSTART, RLENGTH )
- parstart=index(prototype,decl)
- typfuncn=substr(prototype,1,parstart-1)
- sub( "[\t ]*$", "", typfuncn )
- prototype = ""
- prototype = typfuncn " " decl
-#printf("\nprototypeneu=|%s|\n",prototype);
-#printf("\ntypfuncnneu=|%s|\n",typfuncn);
-#printf("\ndeclneu=|%s|\n",decl);
-
-
- match( prototype, "[^\t ]*\\(.*$" )
- decl = substr( prototype, RSTART, RLENGTH )
-#-----neu end
-
-#printf("\ndecl=|%s|\n",decl);
- parstart=index(prototype,decl)
- typfuncn=substr(prototype,1,parstart-1)
-
- nitems=split(typfuncn,typfuncitems,"[\t \&\*]")
- sub( "[\t ]*$", "", typfuncn )
- funcn = typfuncitems[nitems-1]
- funstart=index(typfuncn,funcn)
- typ=substr(typfuncn,1,funstart-1)
-#printf("\ntypfuncn=|%s|\n",typfuncn);
-#printf("\nfuncn=|%s|\n",funcn);
-#printf("\ntyp=|%s|\n",typ);
-if (nested == "on" )
- sub( "^", typ containerclass "::" class "::" funcn, decl )
-else
- sub( "^", typ class "::" funcn, decl )
- prototype=decl
-#printf("\nprototype=|%s|\n",prototype);
- classfunc = ""
-if (nested == "on" )
- sub( "^", containerclass "::" class "::" funcn, classfunc )
-else
- sub( "^", class "::" funcn, classfunc )
-#printf("\nclassfunc=|%s|\n",classfunc);
- rettyp = ""
- sub( "^", typ, rettyp )
-#printf("\nrettyp=|%s|\n",rettyp);
-#printf("\n6|%s|\n",prototype);
- match( prototype, "^[^(]*\\(" )
- funcname = substr( prototype, RSTART, RLENGTH )
-#printf("\n7|%s|\n",funcname);
- }
-
- # Output it.
-
- if (firsttime == "")
- {
- csa_get_method_description()
-# if (csaprintheader == "on")
- csa_print_method_header()
-
- if ( length(prototype) > 75 )
- {
- match( prototype, "^[^(]*\\(" )
- funcname = substr( prototype, RSTART, RLENGTH )
- if ( prototype ~ "^[^(]*\\(\\)[\t ]*\\(" )
- {
- funcname = funcname ")("
- sub( "^[^(]*\\(\\)[\t ]*\\(", "", prototype )
- }
- else
- sub( "^[^(]*\\(", "", prototype )
-
- if ( templclass ~ "<" && templnested == "" && nested == "")
- {
- printf( "template%s\n", templ)
- }
- if ( templnested == "on")
- {
- printf( "template%s\n", nestedtempl )
- }
- printf( "%s\n", funcname )
-
- match( prototype, "\\)([\t ]*const)?[\t ]*$" )
- functail = substr( prototype, RSTART, RLENGTH )
- sub( "\\)([\t ]* const)?[\t ]*$", "", prototype )
- narg = 0
- while ( match( prototype, "[^<>,#]*<[^<>]*>" ) )
- {
- narg++
- arg = substr( prototype, RSTART, RLENGTH )
- sub( "[^<>,#]*<[^<>]*>", "#" narg, prototype )
- fargs["#" narg] = arg
- # Need the following to stop resubstitution of the pattern matched
- # back into the string.
- gsub( "&", "\\\\&", fargs["#" narg] )
- }
- numargs = split( prototype, args, "," )
- for ( m=1; m<=numargs; m++ )
- {
- while ( match( args[m], "#[0-9]+" ) )
- {
- arg = substr( args[m], RSTART, RLENGTH )
- sub( arg, fargs[arg], args[m] )
- }
- sub( "[\t ]*", "", args[m] )
- printf( " %s", args[m] )
- if ( m == numargs )
- {
- print( "" )
- }
- else
- print( "," )
- }
- if (flinline == 1)
- printf("/* inline */\n");
-# printf( "%s\n%s{\n}\n\n%s\n", functail,csa_method_trailer, separator )
- printf( "%s\n", functail)
-# csa_print_method_trailer()
-# printf( "{\n}\n\n%s\n", separator )
- }
- else
- {
- if (flinline == 1)
- printf("/* inline */\n");
-
- if ( templclass ~ "<" && templnested == "" && nested == "")
- {
- printf( "template%s\n", templ )
- }
- if ( templnested == "on")
- {
- printf( "template%s\n", nestedtempl )
- }
-# printf( "%s\n%s{\n}\n\n%s\n", prototype,csa_method_trailer, separator )
- printf( "%s\n", prototype)
-# csa_print_method_trailer()
-# printf( "{\n}\n\n%s\n", separator )
- }
- csa_print_method_trailer()
- if (rettyp != "" && rettyp != "void " && rettyp != "void")
- printf( "{\n\treturn((%s)0);\n}\n\n%s\n",rettyp, separator )
- else
- printf( "{\n}\n\n%s\n", separator )
-
- }
- # end of firsttime
- }
- # end of if
-}
-#end of FUNC
diff --git a/bin/make_release b/bin/make_release
index 1c3dde320ef..6cc0c78309c 100755
--- a/bin/make_release
+++ b/bin/make_release
@@ -38,6 +38,15 @@ my $long_usage=" -? option prints this message\n" .
$ENV{'SIGNATURE'} ||
die "$0: must set your SIGNATURE environment variable\n";
+&can_run('perl -V') ||
+ die "$0: perl should be in your path\n";
+
+&can_run('dot -V') ||
+ die "$0: dot should be in your path\n";
+
+&can_run('doxygen --version | grep -q 1.2.3') ||
+ die "$0: doxygen should be in your path\n";
+
my $hostname;
chomp ($hostname = $ENV{'HOSTNAME'} || `uname -n`);
unless ("$hostname" eq 'ace') {
@@ -264,12 +273,12 @@ if ($update_versions && "$kit" ne 'ace+tao') {
die "$0: unable to mkdir $stage_dir/ACE_wrappers/man\n";
mkdir "ACE_wrappers/man/man3", 0755 ||
die "$0: unable to mkdir $stage_dir/ACE_wrappers/man/man3\n";
- mkdir "ACE_wrappers/man/html", 0755 ||
- die "$0: unable to mkdir $stage_dir/ACE_wrappers/man/html\n";
}
if ($generate_man_pages) {
- &ex ("cd ACE_wrappers && bin/generate_man_pages") &&
- die "$0: failed to generate man pages in $stage_dir/ACE_wrappers\n";
+ &ex ("cd ACE_wrappers && bin/generate_doxygen.pl -is_release -exclude_tao")
+ && die "$0: failed to generate ACE man pages in $stage_dir\n";
+ &ex ("cd ACE_wrappers/man && catman -w -M .")
+ && die "$0: failed to generate man page index in $stage_dir\n";
}
&ex ("cd ACE_wrappers && $make ACE-INSTALL") &&
die "$0: failed make ACE-INSTALL in $stage_dir/ACE_wrappers\n";
@@ -281,6 +290,11 @@ if ($update_versions && "$kit" ne 'ace+tao') {
&ex ("cd ACE_wrappers/TAO && $make INSTALL orbsvcs/README") &&
die "$0: failed make INSTALL TAO/orbsvcs/README in " .
"$stage_dir/ACE_wrappers/TAO\n";
+
+ if ($generate_man_pages) {
+ &ex ("cd ACE_wrappers && bin/generate_doxygen.pl -is_release -exclude_ace")
+ && die "$0: failed to generate TAO man pages in $stage_dir\n";
+ }
}
$status = &create_kit ();
@@ -732,3 +746,17 @@ sub ex ()
system ("$command");
}
}
+
+########
+######## Verify that a command can be executed, return 1 on sucess
+########
+sub can_run {
+ my $command = shift;
+
+ open (RUN, "$command 2>&1 |")
+ || return 0;
+ while (<RUN>) {}
+ close(RUN)
+ || return 0;
+ return 1;
+}
diff --git a/bin/man2html b/bin/man2html
deleted file mode 100755
index e2b51561270..00000000000
--- a/bin/man2html
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/bin/sh
-
-OSE_HOST=
-
-OSE_RELEASE_NAME=
-export OSE_RELEASE_NAME
-
-OSE_ROOT=${OSE_ROOT-$ACE_ROOT}
-export OSE_ROOT
-
-OSE_VERSION_ROOT=$OSE_ROOT
-export OSE_VERSION_ROOT
-
-BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin"
-LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/bin"}
-
-#
-# Error.
-#
-ERROR()
-{
- echo "`basename $0`: $1" >&2
- shift
- while test $# != "0"
- do
- echo $1 >&2
- shift
- done
- exit 1
-}
-
-#
-# Usage message.
-#
-USAGE()
-{
- ERROR "Usage: `basename $0` files"
-}
-
-#
-# Check usage.
-#
-if test "$#" = "0"
-then
- USAGE
-fi
-
-while test "$#" != "0"
-do
- INPUT=$1
- BASENAME=`basename $INPUT | sed -e 's/\(.*\)\.[^.]*$/\1/'`
- OUTPUT=${BASENAME}.html
-
- if test -f ${INPUT}
- then
- echo ${BASENAME}
- cat ${INPUT} |
- sed -e 's/\\-/-/g' \
- -e 's/\\ / /g' \
- -e 's/\\[0&]/ /g' \
- -e 's/&/\&amp;/g' \
- -e 's/</\&lt;/g' \
- -e 's/>/\&gt;/g' \
- -e 's/\\|//g' \
- -e 's/\\e/\\/g' |
- gawk -f ${LIBDIR}/man2html1.awk |
- sed -e 's^\\fB\([^\\]*\)\\fR^<B>\1</B></I>^g' \
- -e 's^\\f(CO\(.[^\\]*\)\\fR^<CODE>\1</CODE>^g' \
- -e 's^\\fI\(.[^\\]*\)\\fR^<I>\1</I></B>^g' \
- -e 's^\\fB^<B>^g' \
- -e 's^\\f(CO^<CODE>^g' \
- -e 's^\\fI^<I>^g' \
- -e 's^\\f[RP]^</B></I></CODE>^g' \
- -e 's/^.[LP]P/<P>/' \
- -e 's/^.br/<BR>/' \
- -e 's/^\.DS.*/<pre>/' \
- -e 's$^\.DE.*$</pre>$' \
- -e 's/^\.nf */<pre>/' \
- -e 's$^\.fi *$</pre>$' \
- -e 's$^\.BE *$</pre><HR>$' \
- -e 's/^\.RS.*/<UL>/' \
- -e 's$^\.RE.*$</UL>$' \
- -e 's/^$/<P>/g' \
- -e 's^\.SH *"*\([^"]*\)"*^</pre><H2>\1</H2>^' \
- -e '/^\.[a-zA-Z]*.*/d' |
- gawk -f ${LIBDIR}/man2html2.awk > ${OUTPUT}
- fi
- shift
-done
diff --git a/bin/man2html1.awk b/bin/man2html1.awk
deleted file mode 100644
index a3546ee1378..00000000000
--- a/bin/man2html1.awk
+++ /dev/null
@@ -1,139 +0,0 @@
-#!/usr/bin/gawk
-
-
-# defining macros - eat them
-/^\.de.*/ {
- getline
- while ( $0 !~ "^\.\.$" )
- {
- getline
- }
- getline
- }
-
-# eat [nt]roff comments
-$0 ~ /['.][\/\\]"/ || $1 == "'" { next }
-
-# remove sidebar macros
-$1 == ".VS" || $1 == ".VE" || $1 == ".AS" { next }
-
-
-# handle first .SH as special case - .SH NAME
-/^.SH *NAME */ {
- getline
- while ( $0 ~ /\.[a-zA-Z].*/ ) # eat dot-cmd following title
- {
- getline
- }
- print "<TITLE>" $0 "</TITLE>"
- print "<H1>" $0 "</H1>\n"
- next
-
-#-e 's/^.SH *NAME */{N;s#.*\n\(.*\)#<H1>\1</H1>#;}' \
- }
-
-
-# Convert .IP Paragraphs upto next .cmd to hanging indents
-# using <DL></DL> pairs without intervening <LI>
-
-/^\.IP */ {
- if ( inIP > 0 )
- {
- print "</DL>"
- }
- inIP = 1
- startIP = 1
- print "<DL>"
- match($0, /".*"/ )
- if ( RSTART > 0 )
- {
- arg = substr( $0, RSTART+1, RLENGTH-2)
-
- print "<DT> " arg
- }
- else if ( length( $2 ) > 0 )
- {
- print "<DT> " $2
- }
- next
- }
-
-$0 ~ /^\.[a-zA-Z]*/ && inIP > 0 {
- inIP = 0
- print "</DL>"
- }
-
-# Convert
-# .TP
-# Line1
-# line 2 - n
-# .Any
-#
-# to
-# <DL>
-# <DT> Line1
-# <DD> lines 2 - n
-# <DT>
-
-/^\.TP */ {
- if ( inTP > 0 )
- {
- print "</DL>"
- }
- inTP = 1
- print "<DL>"
- next
- }
-
-inTP == 1 && $1 !~ /\.[a-zA-Z]*/ {
- print "<DT> " $0
- inTP = 2
- next
- }
-
-inTP == 2 && $1 !~ /\.[a-zA-Z]*/{
- print "</I></B>" # Belt and suspenders
- print "<DD> " $0
- inTP = 3
- next
- }
-
-$0 ~ /^\.[a-zA-Z]*/ && inTP > 0 {
- inTP = 0
- print "</DL>"
- }
-
-
-
-$1 == ".AP" {
- $1=""
- print "<DL >"
- print "<DT> " $2 "\t\t" $3 "\t\t("$4")"
- inTP = 2
- next
- }
-
-# make a blank line
-$1 == ".sp" {
- print "<BR>"
- next # print "<BR>"
- }
-
-
-$1 == ".ta" { next }
-
-# just pass everything else on
-
- {
- if ( startIP > 0 )
- {
- print "<DD> " $0
- startIP = 0
- }
- else
- {
- print $0
- }
- }
-
-
diff --git a/bin/man2html2.awk b/bin/man2html2.awk
deleted file mode 100644
index 149c939ce18..00000000000
--- a/bin/man2html2.awk
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/gawk
-
-$0 ~ "</pre><H2>SEE ALSO</H2>" {
- print $0
- getline
- while ( $0 !~ "^<P>$" && $0 !~ "^[ \t]*$" ) {
- gsub("OTC[_a-zA-Z0-9]*_[_a-zA-Z0-9]*","<A HREF=\"&.html\">&</A>",$0)
- gsub("OUX[_a-zA-Z0-9]*_[_a-zA-Z0-9]*","<A HREF=\"&.html\">&</A>",$0)
- gsub("OTK[_a-zA-Z0-9]*_[_a-zA-Z0-9]*","<A HREF=\"&.html\">&</A>",$0)
- print $0
- if ( getline <= 0 )
- $0 = ""
- }
- if ( $0 !~ "^[ \t]*$" )
- print $0
-}
-
-{ print $0 }
diff --git a/bin/vendor.fmt b/bin/vendor.fmt
deleted file mode 100755
index a780d430fec..00000000000
--- a/bin/vendor.fmt
+++ /dev/null
@@ -1,101 +0,0 @@
-#
-# vendor description header control file for ADTs
-# please insert your company name in the field <vendor>
-#
-# K. Dorn
-#
-
-VENDOR_COMPILATION_HEADER_CXX_START
-"\n/*[ Compilation unit "\
- "----------------------------------------------------------\n"\
- "\n"\
- " Component : CSA - OSC\n"\
- "\n"\
- " Name : %s.[Ci]\n"\
- "\n"\
- " Author : %s\n"\
- "\n"\
- " Language : C++\n"\
- "\n"\
- " Creation Date : %s\n"\
- "\n"\
- " Test State : %%Q%%\n"\
- "\n"\
- " Description : %s\n"\
- "\n"\
- "\n"\
- " Copyright (C) <Vendor> 1995 All Rights Reserved\n"\
- "\n"\
- "--------------------------------------"\
- "---------------------------------------*/\n"\
- "/*] END */\n"\
- "#pragma ident \" %%Z%% %%M%% %%I%% (%%G%%), %%Y%% %%Q%%:"\
- " implementation file for class "\
- "%s \" \n "\
- "\n"\
- "\n"
-VENDOR_COMPILATION_HEADER_CXX_END
-
-
-VENDOR_METHOD_HEADER_CXX_START
-"\n/*[ Method ---------------------"\
- "-------------------------------------------\n"\
- "\n"\
- " Name : %s\n"\
- "\n"\
- " Description : %s\n"\
- "\n"\
- " Return : %s\n"\
- "\n"\
- "--------------------------------------------"\
- "------------------------------*/\n\n"
-VENDOR_METHOD_HEADER_CXX_END
-
-
-VENDOR_COMPILATION_HEADER_HXX_START
-"\n/*[ Compilation unit "\
- "----------------------------------------------------------\n"\
- "\n"\
- " Component : CSA - OSC\n"\
- "\n"\
- " Name : %s.h\n"\
- "\n"\
- " Author : %s\n"\
- "\n"\
- " Language : C++\n"\
- "\n"\
- " Creation Date : %s\n"\
- "\n"\
- " Test State : %%Q%%\n"\
- "\n"\
- " Description : %s\n"\
- "\n %s\n"\
- "\n"\
- "\n"\
- " Copyright (C) <Vendor> 1995 All Rights Reserved\n"\
- "\n"\
- "--------------------------------------"\
- "---------------------------------------*/\n"\
- "/*] END */\n"\
- "#pragma ident \" %%Z%% %%M%% %%I%% (%%G%%), %%Y%% %%Q%%:"\
- " implementation file for class "\
- "%s \" \n "\
- "\n"\
- "\n"
-VENDOR_COMPILATION_HEADER_HXX_END
-
-VENDOR_CLASS_HEADER_HXX_START
-"\n/*[ Class ---------------------"\
- "-------------------------------------------\n"\
- "\n"\
- " Name : %s\n"\
- "\n"\
- " Description : %s\n"\
- "\n %s\n"\
- "\n"\
- "--------------------------------------------"\
- "------------------------------*/\n\n"
-VENDOR_CLASS_HEADER_HXX_END
-
-
-