FEDEX_PLUS(1)

NAME
exp2cxx - EXPRESS compiler and translator

SYNOPSIS
exp2cxx [ options ] [ express-file ]
Command Arguments:
    options - see OPTIONS below
    express-file - the name of an EXPRESS file

DESCRIPTION

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.

OPTIONS

-s|S
    Tells exp2cxx to use only single-inheritance, rather than multiple inheritance.

-c|C
    Generates C++ classes for use with CORBA (Orbix).

-l|L
    Prints logging code in the generated C++ classes.

-v  Produces a version description.

-d  Turns on debugging ("-d 0" describes this further).

-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)

-w<warning>
    enable warning

-i<warning>
    disable warning, where <warning> may be,
       - none
       - all
       - circular_subtype
       - circular_select
       - entity_as_type
       - downcast
       - unknown_subtype
If no arguments are given in the command line, a list and description of the options available are sent to stdout.

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++

SEE ALSO

fedex(1)

dataprobe(1)

mkProbe(1)

ISO 10303-11:1994 Industrial Automation Systems and Integration -- Product Data Representation and Exchange -- Part 11: Description Methods: The EXPRESS Language Reference Manual.

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.

lidation Testing System: Reusable Software Component Design, NISTIR 4937, Morris, K.C., Sauderd, D., Ressler, S., October 1992.

e for the Validation Testing System Software, NISTIR 4742, Morris, K.C., January 1992.

The NIST EXPRESS Toolkit: Using Applications, NISTIR 5206, Libes, D., June 1993.

d-X: The NIST EXPRESS Translator, NISTIR 4822, Libes, D., April 1992.

NOTE

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).

BUGS
See fedex(1).