Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  EXP2CXX (1)


exp2cxx - EXPRESS compiler and translater


See Also


exp2cxx [ options ] [ express-file ]

Command Arguments:

options - see OPTIONS below

express-file - the name of an EXPRESS file


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.


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


exp2cxx sends the following to stdout subject to the options specified when executed:

- a statement indicating that the Express schema is being

- 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





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.

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

\Architecture 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.

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


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 (, the Manufacturing Systems Integration Division publications page ( or by anonymous ftp from (see pub/subject/sc4/national/usa/nist/docs/readme.txt to determine the appropriate file to download).


See fedex(1).

Search for    or go to Top of page |  Section 1 |  Main Index

--> FEDEX_PLUS (1) 19 November 1997

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.