.\" 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 Turns on printing when processing certain objects, where 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 enable warning .TP .B -i disable warning, where 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).