Chapter Contents

Previous

Next
Overview of the SAS/C Cross-Platform Compiler and C++ Development System

Executable Files

The SAS/C Cross-Platform system is composed of the executable files shown in Names of Executable Files.

Names of Executable Files
Functional Name Filename
CICS command preprocessor ccp
C compiler driver sascc370
C++ driver sasCC370
C++ translator cxx
parser lc1
code generator lc2
global optimizer go
object module dissembler omd
ar370 archive manager ar370
prelinker (default) cool
prelinker clink

Note:    There are several additional executable files for the utility programs provided with the SAS/C Cross-Platform Compiler.  [cautionend]


Executable Files Description

Like most compilers, the SAS/C Cross-Platform Compiler and C++ Development System performs the compilation in a series of phases.

The compiler drivers, sascc370 and sasCC370 , control the compilation, invoking the other executable files and passing them options during the various phases.

The CICS command preprocessor recognizes CICS commands embedded in your C and C++ source. The preprocessor translates these commands into appropriate function calls for communication with CICS.

The global optimizer, prelinker, and object module disassembler are enabled by compiler options and, like the parser and code generator, their execution is controlled by the compiler driver.

The global optimizer, go , performs advanced optimizations such as merging common subexpressions and eliminating code that is never executed, constant propagation, and strength reduction. The global optimizer also allocates registers, placing the most highly used variables for each section of code in registers. This eliminates any need for you to select and specify register variables.

The object module disassembler, omd , is a useful debugging tool that provides a copy of the assembler code generated for a C or C++ program. In addition to running the object module disassembler at compile time, it can also be invoked independent of the driver.

The prelinker, cool , is an object code preprocessor that merges CSECTs based on references to external variables. It provides the same functionality as the SAS/C COOL utility on the mainframe.

The C++ translator, cxx ; parser, lc1 ; and code generator, lc2 , are called by the compiler and C++ drivers to perform the actual compilation of the source code. Together, they handle the parsing, semantics analysis, instruction selection, and code emission phases of compilation.

The ar370 archive utility is used to generate groups of files that are combined into a single archive file.

See Using the Global Optimizer and the Object Module Disassembler for more information about go and omd .


Library and Header Files

The SAS/C Cross-Platform Compiler and C++ Development System requires that the resident portions of the SAS/C and C++ libraries be located on the host workstation. The standard C and C++ header files must also be located on the host workstation. Optionally, you can specify additional header files as described in Using the SAS/C Cross-Platform Compiler and C++ Development System. The transient portion of the SAS/C and C++ Libraries is located on the target mainframe.


Input and Output Files

Input to the SAS/C Cross-Platform Compiler and C++ Development System is provided as C source code, C++ source code, or previously compiled object files. The output is either in the form of unlinked or prelinked object files. Output files for the object module disassembler and the debugger may also be generated. The input and output files are described in greater detail in Using the SAS/C Cross-Platform Compiler and C++ Development System.


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.