FEDEX_PLUS(1)
π FEDEX_PLUS(1) π
okay bestie, welcome to the General Commands Manual for FEDEX_PLUS(1) β buckle up, she's a whole classic β¨
β¨ NAME β¨
exp2cxx β the EXPRESS compiler and translator π«Ά
πΈ SYNOPSIS πΈ
exp2cxx [ options ] [ express-file ]
Command Arguments:
optionsβ see OPTIONS below, bestie πexpress-fileβ the name of an EXPRESS file
π DESCRIPTION π
So exp2cxx is built on top of the NIST EXPRESS compiler fedex, no cap. What she does is take an EXPRESS file and translate it into C++ code plus a class library. That C++ library comes with classes for representing all the types and entities in your input EXPRESS file, and a dictionary describing those classes. The translation leans on base classes that live in the NIST STEP Class Library. Iconic behavior honestly.
Real talk though: exp2cxx does not create C++ representations of the rules, procedures, or any EXPRESS constructs other than schemas, types and entities. She supports multiple schemas inside a single file, and complex entities too. And the code she generates can be integrated with orbix and ObjectStore. Obsessed.
Team her up with the NIST STEP Class Library and you get a "C++ working form" of an EXPRESS schema π. exp2cxx was designed to be used alongside a graphical data editing system (peep dataprobe(1)), but care was taken to keep exp2cxx separate so she can also be a component of other software systems. Main character energy.
The exp2cxx compiler makes two passes through the EXPRESS file:
- First pass β
exp2cxxreads the syntax of the EXPRESS file and detects any errors π - Second pass β
exp2cxxconverts the EXPRESS code into C++ source code β¨
The C++ source code gets generated in files in the directory where exp2cxx was run, and the files are named according to the schema names in the input EXPRESS file. Cute and predictable.
π OPTIONS π
-s|Sβ tellsexp2cxxto 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 0describes this further).-p<object>β turns on printing when processing certain objects, where<object>may be:eβ entitypβ procedurerβ rulefβ functiontβ typesβ schema or file#β pass #Eβ everything (all of the above)
-w<warning>β enable warning-i<warning>β disable warning, where<warning>may be:noneallcircular_subtypecircular_selectentity_as_typedowncastunknown_subtype
ngl, if you give her no arguments at all on the command line, a list and description of the options available get sent to stdout. She just tells you what's up πββοΈ
π₯ 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 π¦
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.
1e 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). yeah. that's the whole section bestie, we don't make the rules π
and that's the tea, babe β¨ this little legend comes to you from the General Commands Manual, dated 19 November 1997 β stay slay, stay compiled ππ π
π¦ where this page comes from
- fedora 43: stepcode-devel 0.8.2^20260209git74b6fe4-1.fc43 Β· BSD-3-Clause
- fedora 44: stepcode-devel 0.8.2^20260209git74b6fe4-1.fc44 Β· BSD-3-Clause
- nixos 26.05: stepcode 0.8.2-unstable-2026-02-09
- nixpkgs unstable: stepcode 0.8.2-unstable-2026-02-09
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms