Skip to content

Commit

Permalink
Rename fedex_python and fedex_plus to exp2python and exp2cxx respecti…
Browse files Browse the repository at this point in the history
…vely.
  • Loading branch information
starseeker committed Aug 29, 2013
1 parent 76e2b2b commit 5126b48
Show file tree
Hide file tree
Showing 105 changed files with 248 additions and 248 deletions.
12 changes: 6 additions & 6 deletions CMakeLists.txt
Expand Up @@ -79,11 +79,11 @@ OPTION_WITH_DEFAULT(SC_BUILD_SHARED_LIBS "Build shared libs" ON )
# don't build static libs by default
OPTION_WITH_DEFAULT(SC_BUILD_STATIC_LIBS "Build static libs" OFF)

OPTION_WITH_DEFAULT(SC_PYTHON_GENERATOR "Compile fedex_python" ON)
OPTION_WITH_DEFAULT(SC_CPP_GENERATOR "Compile fedex_plus" ON)
OPTION_WITH_DEFAULT(SC_PYTHON_GENERATOR "Compile exp2python" ON)
OPTION_WITH_DEFAULT(SC_CPP_GENERATOR "Compile exp2cxx" ON)

OPTION_WITH_DEFAULT(SC_MEMMGR_ENABLE_CHECKS "Enable sc_memmgr's memory leak detection" OFF)
OPTION_WITH_DEFAULT(SC_TRACE_FPRINTF "Enable extra comments in generated code so the code's source in fedex_plus may be located" OFF)
OPTION_WITH_DEFAULT(SC_TRACE_FPRINTF "Enable extra comments in generated code so the code's source in exp2cxx may be located" OFF)

if(NOT DEFINED SC_SDAI_ADDITIONAL_EXES_SRCS )
set( SC_SDAI_ADDITIONAL_EXES_SRCS "" CACHE STRING "Source files for additional executables to be linked with SDAI libs" )
Expand Down Expand Up @@ -386,8 +386,8 @@ include_directories(
ADD_SUBDIRECTORY(src/base)
ADD_SUBDIRECTORY(src/express)
ADD_SUBDIRECTORY(src/exppp)
ADD_SUBDIRECTORY(src/fedex_plus)
ADD_SUBDIRECTORY(src/fedex_python)
ADD_SUBDIRECTORY(src/exp2cxx)
ADD_SUBDIRECTORY(src/exp2python)
ADD_SUBDIRECTORY(src/clstepcore)
ADD_SUBDIRECTORY(src/cleditor)
ADD_SUBDIRECTORY(src/cldai)
Expand All @@ -404,7 +404,7 @@ ADD_SUBDIRECTORY(doc)

# this is for testing - 'make core' builds everything that isn't generated
add_custom_target( core )
add_dependencies( core stepdai check-express stepeditor fedex_plus )
add_dependencies( core stepdai check-express stepeditor exp2cxx )

if(NOT SC_IS_SUBBUILD)
###############################################################################
Expand Down
56 changes: 28 additions & 28 deletions NEWS
Expand Up @@ -31,7 +31,7 @@ New since v0.5:
* Add AP219, AP238, PDM schema, AP203a1, syntax highlighting files
* Improvements to CMake files, mostly from Cliff @ BRL-CAD (#143, #163, #181)
* Allow runtime bounds for aggregates (discovered with AP209e2) (#166)
* fedex_plus fprintf's can be traced with -DSCL_TRACE_FPRINTF=ON (#176)
* exp2cxx fprintf's can be traced with -DSCL_TRACE_FPRINTF=ON (#176)
************************************************************************
Release 0.5 (Feb 23, 2012)

Expand All @@ -42,7 +42,7 @@ New since v0.4:
with the exception of AP209 CD, are parsed without error. Enums are
now in their own dictionary. Allow indexing on aggregates, generics,
and binaries.
* Changes to fedex_plus that improve the generated c++ - use a
* Changes to exp2cxx that improve the generated c++ - use a
namespace, break up large static strings, make EXPRESS multiple
inheritance work by not printing multiple copies of inherited members.
All schemas now compile without error, but there are numerous warnings.
Expand All @@ -55,7 +55,7 @@ Release 0.4 (Nov 13, 2011)

New since v0.3:
* Improve p21read performance by ~30%
* Improve fedex_plus performance by ~4300% (!)
* Improve exp2cxx performance by ~4300% (!)
* A variable defined in a LOCAL is not required to have a type label
(affected ap242,210e3,209)
* Enums and entities are allowed to have the same names
Expand All @@ -81,7 +81,7 @@ Release 0.2 (Oct 1, 2011)
What's new since v0.1?

* Retrieve aggregate type from the underlying type (issue #4)
* Fix aggregate select types naming convention in fedex_plus (issue #59)
* Fix aggregate select types naming convention in exp2cxx (issue #59)
* Fix several segfaults and double free's in p21read (issue #63)
* Fix several file read/write bugs in p21read, including
* don't write '$' for empty string
Expand Down Expand Up @@ -113,7 +113,7 @@ What's new since the SCL 3.2 release in 1998?
* Bring SCL closer to alignment with modern coding standards - replace
String class with std::string, fix all GCC warnings
* Builds on Linux, OSX, and Windows; requires mingw on Windows.
* Add debugging option -d 9 -l nnn -u nnn to fedex_plus. This limits
* Add debugging option -d 9 -l nnn -u nnn to exp2cxx. This limits
parser debug output to a specified range of lines in the schema.

For a detailed list of changes, see
Expand Down Expand Up @@ -194,7 +194,7 @@ REFERENCE FROM clauses, global rules, PROCEDUREs, and
FUNCTIONS. Information about these objects is available but validation
based on it is not performed.

- enhanced fedex_plus C++ code generator to generate the necessary
- enhanced exp2cxx C++ code generator to generate the necessary
dictionary objects for the above EXPRESS constructs for a particular
schema. Also enhanced schema dictionary code generation to add
information necessary to generate an EXPRESS schema (i.e. which
Expand Down Expand Up @@ -332,14 +332,14 @@ namespace or prefix as is necessary. To change the SDAI namespace name
or prefix name the macro definition for SDAI_ could be changed in
the sclprefixes.h file.

The early bound access functions that are generated by fedex_plus from
The early bound access functions that are generated by exp2cxx from
EXPRESS defined entities have been updated to the latest version of
Part 23's C++ binding to SDAI. A previous early bound function defined
as "const SdaiLabel Name()" would now be defined according to Part 23 as
"const SdaiLabel name_()". *notice* that application schema defined
types are not yet defined in a namespace. Compatibility with previous
versions of SCL early bound functions has been maintained via the -a
fedex_plus option.
exp2cxx option.

-----------------------------------------------------
SDAI Session Schema objects implemented (model_contents, extents, etc)
Expand All @@ -349,7 +349,7 @@ Several classes and types defined as part of SDAI Part 23's Session
Schema have been implemented (where before they mostly had stub
functions). These have been implemented for use with or without the
ObjectStore object oriented database. Model_contents_<schema_name> is
now being generated by fedex_plus allowing Entity_extents to be
now being generated by exp2cxx allowing Entity_extents to be
maintained for entities as desired.

-----------------------------------------------------
Expand All @@ -365,7 +365,7 @@ database.

The SCL application, fedex_os, uses an application schema written in
EXPRESS to generate additional code needed for use with ObjectStore.
Fedex_os is used in conjunction with fedex_plus for generating the C++
Fedex_os is used in conjunction with exp2cxx for generating the C++
necessary to implement your application schema.

Although building SCL libraries for use with ObjectStore is
Expand Down Expand Up @@ -410,7 +410,7 @@ schema. The generation of IDL schemas by fedex_idl is according to
STEP's Part 26 Interface Definition Language binding to the SDAI. The
Orbix IDL compiler is then used to generate the client and server code
necessary for communication through an Orbix ORB. The SCL application,
fedex_plus, would then be run with the -c option on your application's
exp2cxx, would then be run with the -c option on your application's
EXPRESS schema to generate the server implementation objects required
to build an Orbix server (it uses the TIE approach). You would be
required to write the C++ main() function for the server code.
Expand Down Expand Up @@ -457,15 +457,15 @@ MULTIPLE SCHEMA SUPPORT

A library and Data Probe can now be generated for an EXPRESS file
containing multiple schemas. This is done primarily by dividing the
source code generated by fedex_plus into separate files. Separate
source code generated by exp2cxx into separate files. Separate
files are generated for each schema contained in the EXPRESS file. In
addition, often schemas are dependent on one another. This will be
the case if the schemas use and reference entities and types from each
other. If, for example, entity X in schema A is a subtype of entity Y
in schema B, X will not be processed until B in schema Y is processed.
Other such cases of interdependence occur if an entity in schema A
contains as an attribute an enumeration or select type defined in
another schema. To address such cases, fedex_plus may process a
another schema. To address such cases, exp2cxx may process a
schema in multiple passes. At each pass, only the objects in the
schema which are not dependent on not-yet-processed objects in other
schemas are processed. At each successive pass through the schemas as
Expand All @@ -477,16 +477,16 @@ B which is a supertype of C, etc.).
For an EXPRESS file with multiple dependent schemas, it is advisable
to organize the file with bottom-up design. Schemas containing the
simpler, building block types and entities should appear first. By
doing so, when fedex_plus begins processing the more complex schemas,
doing so, when exp2cxx begins processing the more complex schemas,
there will be fewer cases in which the parser will encounter not-yet-
defined objects from other schemas. (The objects which are referenced
the most will have already been defined.) This will minimize the
number of times fedex_plus is required to divide output files.
number of times exp2cxx is required to divide output files.

One known case of interdependence which fedex_plus is not able to
One known case of interdependence which exp2cxx is not able to
support occurs if say select A has select B as an item, and select B
has select A as an item. (This is unsupported even if A and B are in
the same schema.) fedex_plus has no way in which it can generate
the same schema.) exp2cxx has no way in which it can generate
compilable source code for the selects because each is dependent on
the other. In addition, this would cause the parser to fall into an
endless loop, so we strongly discourage it. ;-)
Expand Down Expand Up @@ -598,18 +598,18 @@ see below, next section.)
level, bypassing STEPfile. STEPentity will allow the initialization
but will place a warning in its errorDesc field.)

3. fedex_plus may be compiled with the flag COMPLEX_INFO. If this
flag is turned on, fedex_plus prints out (to `cout') a large amount of
3. exp2cxx may be compiled with the flag COMPLEX_INFO. If this
flag is turned on, exp2cxx prints out (to `cout') a large amount of
detail on the complex entities it finds and their overall structure.
This is useful to see how fedex interpreted the complex information of
an EXPRESS file, and to get a simple graphical view of the supertype-
subtype hierarchy of the file.

fedex_plus's makefile contains the commented-out line,
exp2cxx's makefile contains the commented-out line,

#USER_DEFS = -DCOMPLEX_INFO

If this line is uncommented, a fedex_plus executable will be built
If this line is uncommented, a exp2cxx executable will be built
which prints such information.

Limitations
Expand Down Expand Up @@ -646,12 +646,12 @@ the renaming of an individual entity places it out of order, the nodes
will be printed out of order.

4. "Diamond inheritance" is not handled automatically and must be
fixed by hand in the code generated by fedex_plus. (See
fixed by hand in the code generated by exp2cxx. (See
whatsnew.2-1.txt, section "Multiple Inheritance".)

5. Selects between aggregates: A select containing two aggregate
choices of the same type (e.g., ARRAY and ARRAY, as opposed to ARRAY
and SET) will cause fedex_plus to generate code which cannot be
and SET) will cause exp2cxx to generate code which cannot be
compiled.

6. Problem with sparcworks compiler version 4.0(?) - operator int() =
Expand Down Expand Up @@ -692,14 +692,14 @@ ANY OTHER PARTY.
What's new in the STEP Class Library and Data Probe release 2.1
June 1995

This release of the STEP Class Library (SCL), fedex_plus code
This release of the STEP Class Library (SCL), exp2cxx code
generator, and Data Probe also contains the latest releases of the
fedex syntax and semantic checker, the NIST Express Toolkit (also new
on SOLIS as of June 12, 1995), and the Express Pretty Printer Toolkit.
The NIST Express Toolkit and fedex have been updated to handle the IS
version of Express and various problems have been fixed as a result of
pre-validation conformance testing. Following is an overview of
what's new in the STEP Class Library (and hence fedex_plus) and the
what's new in the STEP Class Library (and hence exp2cxx) and the
Data Probe.

--------------------
Expand Down Expand Up @@ -775,10 +775,10 @@ inheritance hierarchy. This will not have an adverse affect on the
implemementation. The user may choose to use the current or previous
method of handling multiple inheritance. The current method is the
default behavior. The previous method is obtained by supplying the
-s (or -S) option with the fedex_plus code generator or the mkProbe
-s (or -S) option with the exp2cxx code generator or the mkProbe
script.

When the fedex_plus code generator is generating the C++ class library
When the exp2cxx code generator is generating the C++ class library
representation of a schema, it outputs information calling attention
to the cases of multiple inheritance.

Expand Down Expand Up @@ -1038,7 +1038,7 @@ functions.
--------
Attributes of type Boolean and aggregate of Boolean were previously
implemented using the Logical and Logicals classes (respectively).
The fedex_plus code generator now generates classes Boolean and
The exp2cxx code generator now generates classes Boolean and
Booleans to implement attributes of type Boolean and aggregate of
Boolean respectively.

Expand Down
6 changes: 3 additions & 3 deletions data/CMakeLists.txt
Expand Up @@ -40,7 +40,7 @@ FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
# read the schema name from a line like 'SCHEMA AUTOMOTIVE_DESIGN;'
file(STRINGS ${SCHEMA_FILE} SCHEMA_STATEMENT LIMIT_COUNT 1 REGEX "^SCHEMA .*")
string(REGEX REPLACE "^SCHEMA \(.*\)\;$" "\\1" SCHEMA_N ${SCHEMA_STATEMENT} )
string(TOUPPER ${SCHEMA_N} SCHEMA_LONG_NAME) #fedex_plus always uses upper case for file names
string(TOUPPER ${SCHEMA_N} SCHEMA_LONG_NAME) #exp2cxx always uses upper case for file names
get_filename_component( SCHEMA_SN ${SCHEMA_FILE} NAME )
string( REGEX REPLACE "\(.*\).[Ee][Xx][Pp]" "\\1" SCHEMA_SHORT_NAME ${SCHEMA_SN} )

Expand All @@ -64,10 +64,10 @@ FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
COMMAND ${CMAKE_COMMAND} ARGS -E make_directory ${SCHEMA_OUTPUT_DIR}
COMMENT "Creating ${SCHEMA_OUTPUT_DIR} for schema ${SCHEMA_SHORT_NAME}")
add_custom_command( OUTPUT ${FEDEX_OUT}
COMMAND fedex_plus ARGS ${SCHEMA_FILE}
COMMAND exp2cxx ARGS ${SCHEMA_FILE}
DEPENDS ${SCHEMA_FILE} ${SCHEMA_OUTPUT_DIR}
WORKING_DIRECTORY ${SCHEMA_OUTPUT_DIR}
COMMENT "Running fedex_plus for ${SCHEMA_SHORT_NAME}..."
COMMENT "Running exp2cxx for ${SCHEMA_SHORT_NAME}..."
VERBATIM )
add_custom_target( generate_cpp_${SCHEMA_SHORT_NAME} DEPENDS ${FEDEX_OUT} SOURCES ${FEDEX_OUT} )

Expand Down
Expand Up @@ -3,7 +3,7 @@ SCHEMA step_merged_cad_schema;
(* this is a MODIFIED version of the merged schema
* original is at http://www.steptools.com/support/stdev_docs/stpcad/step_merged_cad_schema.exp
*
* modified to eliminate fedex_plus errors. To view changes, use one of
* modified to eliminate exp2cxx errors. To view changes, use one of
* - `git log -p data/STEPTools_merged_schema/step_merged_cad_schema.exp`
* - http://github.com/stepcode/stepcode/commits/master/data/STEPTools_merged_schema
*)
Expand Down
2 changes: 1 addition & 1 deletion doc/CMakeLists.txt
@@ -1,7 +1,7 @@
SET(sc_MANS
man/man1/dataprobe.1
man/man1/fedex.1
man/man1/fedex_plus.1
man/man1/exp2cxx.1
man/man1/mkProbe.1
)

Expand Down
4 changes: 2 additions & 2 deletions doc/doxyassist.xml
Expand Up @@ -132,7 +132,7 @@
<input>./src/clutils</input>
<input>./src/exppp</input>
<input>./src/express</input>
<input>./src/fedex_plus</input>
<input>./src/exp2cxx</input>
<input>./src/test</input>-->
<!-- A list of files/paths to exclude. Add one <exclude> tag per path to
exclude. This will automatically be expanded to exclude input directories
Expand Down Expand Up @@ -240,7 +240,7 @@
<project>
<name>Fedex Plus</name>
<version> </version>
<input>./src/fedex_plus</input>
<input>./src/exp2cxx</input>
</project>
<project>
<name>Tests</name>
Expand Down
2 changes: 1 addition & 1 deletion doc/man/man1/dataprobe.1
Expand Up @@ -33,7 +33,7 @@ Data Probe - STEP editing tool
.LP
The Validation Testing System (VTS) Data Probe software is a program
for browsing and editing data corresponding to a conceptual model
described using the language Express. A separate program (fedex_plus)
described using the language Express. A separate program (exp2cxx)
reads in a schema and generates source code to represent the schema in
C++. This code is linked with the libraries in the STEP Class Library
to create a schema specific editor. The editor is X Windows based and
Expand Down
26 changes: 13 additions & 13 deletions doc/man/man1/fedex_plus.1
Expand Up @@ -2,12 +2,12 @@
.\" part of their official duties and is, therefore, a work of the U.S.
.\" Government and not subject to copyright.
.\"
.\" $Id: fedex_plus.1,v 2.1.0.2 1998/02/27 23:54:30 sauderd Exp $
.\" $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
fedex_plus - EXPRESS compiler and translater
exp2cxx - EXPRESS compiler and translater
.SH SYNOPSIS
fedex_plus [ options ] [ express-file ]
exp2cxx [ options ] [ express-file ]
.nf

Command Arguments:
Expand All @@ -19,36 +19,36 @@ Command Arguments:
.fi
.SH DESCRIPTION
.LP
fedex_plus is based on the NIST EXPRESS compiler fedex. fedex_plus
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.

fedex_plus does not create C++ representations of the rules,
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. fedex_plus was designed for
"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 fedex_plus separate so that it can be
but care has been taken to keep exp2cxx separate so that it can be
used as a component of other software systems.

The fedex_plus compiler makes two passes through the EXPRESS file. In
the first pass fedex_plus reads the syntax of the EXPRESS file and
detects any errors. In the second pass fedex_plus converts the
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 fedex_plus was run. The files are
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 fedex_plus to use only single-inheritance, rather than multiple
Tells exp2cxx to use only single-inheritance, rather than multiple
inheritance.
.TP
.B -c|C
Expand Down Expand Up @@ -94,7 +94,7 @@ If no arguments are given in the command line, a list and description
of the options available are sent to stdout.

.SH OUTPUT
fedex_plus sends the following to stdout subject to the options
exp2cxx sends the following to stdout subject to the options
specified when executed:

- a statement indicating that the Express schema is being
Expand Down

0 comments on commit 5126b48

Please sign in to comment.