git-svn-id: svn://svn.code.sf.net/p/brlcad/code/brlcad/trunk@57349 2f96ce8b-6d43-0410-b8df-bffccc660ffb
164 lines
4.7 KiB
Groff
164 lines
4.7 KiB
Groff
.\" This manual was prepared by United States Government employees as a
|
|
.\" part of their official duties and is, therefore, a work of the U.S.
|
|
.\" Government and not subject to copyright.
|
|
.\"
|
|
.\" $Id: exp2cxx.1,v 2.1.0.2 1998/02/27 23:54:30 sauderd Exp $
|
|
.TH FEDEX_PLUS 1 "19 November 1997"
|
|
.SH NAME
|
|
exp2cxx - EXPRESS compiler and translater
|
|
.SH SYNOPSIS
|
|
exp2cxx [ options ] [ express-file ]
|
|
.nf
|
|
|
|
Command Arguments:
|
|
|
|
options - see OPTIONS below
|
|
|
|
express-file - the name of an EXPRESS file
|
|
|
|
.fi
|
|
.SH DESCRIPTION
|
|
.LP
|
|
exp2cxx is based on the NIST EXPRESS compiler fedex. exp2cxx
|
|
translates an EXPRESS file into C++ code and a class library. The C++
|
|
library includes classes for representing all the types and entities
|
|
in the input EXPRESS file, and a dictionary for describing those
|
|
classes. The translation depends on base classes provided in the NIST
|
|
STEP Class Library.
|
|
|
|
exp2cxx does not create C++ representations of the rules,
|
|
procedures, or any EXPRESS constructs other than schemas, types and
|
|
entities. It supports multiple schemas contained in a single file and
|
|
complex entities. It generates code which can be integrated with
|
|
orbix and ObjectStore.
|
|
|
|
Combined with the NIST STEP Class Library, the translator provides a
|
|
"C++ working form" of an EXPRESS schema. exp2cxx was designed for
|
|
use together with a graphical data editing system (see dataprobe(1)),
|
|
but care has been taken to keep exp2cxx separate so that it can be
|
|
used as a component of other software systems.
|
|
|
|
The exp2cxx compiler makes two passes through the EXPRESS file. In
|
|
the first pass exp2cxx reads the syntax of the EXPRESS file and
|
|
detects any errors. In the second pass exp2cxx converts the
|
|
EXPRESS code into C++ source code. The C++ source code is generated
|
|
in files in the directory in which exp2cxx was run. The files are
|
|
named according to the schema names in the input EXPRESS file.
|
|
|
|
.SH OPTIONS
|
|
.TP
|
|
.B -s|S
|
|
Tells exp2cxx to use only single-inheritance, rather than multiple
|
|
inheritance.
|
|
.TP
|
|
.B -c|C
|
|
Generates C++ classes for use with CORBA (Orbix).
|
|
.TP
|
|
.B -l|L
|
|
Prints logging code in the generated C++ classes.
|
|
.TP
|
|
.B -v
|
|
Produces a version description.
|
|
.TP
|
|
.B -d
|
|
Turns on debugging ("-d 0" describes this further).
|
|
.TP
|
|
.B -p<object>
|
|
Turns on printing when processing certain objects, where <object>
|
|
may be,
|
|
- e entity
|
|
- p procedure
|
|
- r rule
|
|
- f function
|
|
- t type
|
|
- s schema or file
|
|
- # pass #
|
|
- E everything (all of the above)
|
|
.TP
|
|
.B -w<warning>
|
|
enable warning
|
|
.TP
|
|
.B -i<warning>
|
|
disable warning, where <warning> may be,
|
|
- none
|
|
- all
|
|
- circular_subtype
|
|
- circular_select
|
|
- entity_as_type
|
|
- downcast
|
|
- unknown_subtype
|
|
.PD
|
|
|
|
.RE
|
|
If no arguments are given in the command line, a list and description
|
|
of the options available are sent to stdout.
|
|
|
|
.SH OUTPUT
|
|
exp2cxx sends the following to stdout subject to the options
|
|
specified when executed:
|
|
|
|
- a statement indicating that the Express schema is being
|
|
compiled
|
|
|
|
- If errors in input encountered, a detailed list of errors
|
|
and/or warnings including
|
|
- filename
|
|
- line number
|
|
- description of error/warning
|
|
|
|
- If no errors encountered,
|
|
- a statement indicating that there were no errors
|
|
in input
|
|
- a statement indicating that the C++ source code
|
|
is being generated
|
|
- any warnings/errors detected while converting to
|
|
C++
|
|
|
|
.fi
|
|
.SH SEE ALSO
|
|
.LP
|
|
fedex(1)
|
|
.LP
|
|
dataprobe(1)
|
|
.LP
|
|
mkProbe(1)
|
|
.LP
|
|
ISO 10303-11:1994
|
|
.I
|
|
\Industrial Automation Systems and Integration -- Product Data \
|
|
Representation and Exchange -- Part 11: Description Methods: The \
|
|
EXPRESS Language Reference Manual.
|
|
.LP
|
|
.I
|
|
\The NIST EXPRESS Toolkit - Design and Implementation, \
|
|
Engineering Data Management: Key to Success in a Global Market, \
|
|
Proc. of the 1993 ASME Intl. Computers in Engineering Conference,
|
|
August 8-12, 1993, San Diego, pp. 167-180.
|
|
.LP
|
|
.I
|
|
\Validation Testing System: Reusable Software Component Design, NISTIR 4937, Morris, K.C., Sauderd, D., Ressler, S., October 1992.
|
|
.LP
|
|
.I
|
|
\Architecture for the Validation Testing System Software, NISTIR 4742, Morris, K.C., January 1992.
|
|
.LP
|
|
.I
|
|
\The NIST EXPRESS Toolkit: Using Applications, NISTIR 5206, Libes, D., June 1993.
|
|
.LP
|
|
.I
|
|
\Fed-X: The NIST EXPRESS Translator, NISTIR 4822, Libes, D., April 1992.
|
|
|
|
.SH NOTE
|
|
.LP
|
|
All NISTIR documents may be obtained through the National Technical
|
|
Information Service (NTIS), Springfield VA 22161, USA. Postscript
|
|
files may be obtained from the STEP Class Library web page
|
|
(http://www.nist.gov/scl), the Manufacturing Systems Integration
|
|
Division publications page
|
|
(http://www.mel.nist.gov/msidlibrary/pubs.htm) or by anonymous ftp
|
|
from ftp.cme.nist.gov (see
|
|
pub/subject/sc4/national/usa/nist/docs/readme.txt to determine the
|
|
appropriate file to download).
|
|
|
|
.SH BUGS
|
|
See fedex(1).
|
|
|