Feedback


5686-A01 IBM C for VSE/ESA Version 1 (C for VSE)

IBM EMEA Sales Manual
Revised:  September 16, 2003.

Table of contents  Document options 
Abstract Technical Description
Product Positioning Planning Information
Highlights Publications
Description Security, Auditability, and Control
 
Printable version
 

 
Abstract

IBM C for VSE/ESA Version 1 (C for VSE) joins IBM COBOL for VSE/ESA and IBM PL/I for VSE/ESA as the newest member of the Language Environment for VSE/ESA family of compilers.

C for VSE works either with the recently announced Language Environment for VSE/ESA Version 1 Release 4 (LE for VSE) or with the new C Language Run-Time Support of VSE/ESA Version 2 Release 2. LE for VSE is optionally delivered with VSE/ESA Version 2 Release 2 or can be installed with VSE/ESA Version 2 Release 1 and VSE/ESA Version 1 Release 4. C for VSE supports the 31-bit virtual addressing of VSE/ESA.

C for VSE supports a common and optional interactive source level Debug Tool, within a Full Function Offering, allowing for easier debugging of C applications.

C for VSE provides the capability of Interlanguage Communication so that it can call or be called from COBOL for VSE, PL/I for VSE, or Assembler.

C for VSE is year-2000 ready so that you can write applications for the year 2000 and beyond.

C for VSE introduces the support of packed decimal (fixed-point decimal) data as a native C data type allowing for easier access to business-oriented enterprise data.

C for VSE is based on AD/Cycle C/370 and brings the proven strength and quality of the IBM C/370 family of compilers to the VSE/ESA environment. A new standards-conforming compiler, C for VSE, can be used to create, modify, test, and debug your mission critical applications for the VSE/ESA platform.
Back to top
 

Product Positioning

Few programming languages have the flexibility of the C language. This general-purpose, high function programming language has become popular with application developers worldwide. C for VSE contains the same capabilities as other modern structured programming languages, and also provides bit manipulation capability, making it an excellent assembly language substitute for commercial accounts. Conforming to the ANSI C standard and the ISO C standard, C for VSE is a programming language suited to portable application development, enabling a choice of development and target execution environments.

The C language is a language known by a large number of programmers, especially recent computer science graduates, and is an ideal alternative or second language to be used with COBOL, PL/I, or Assembler. C for VSE can be used for developing a wide range of applications in areas including banking and finance, manufacturing, graphics, engineering and scientific, communications, and many more.

C for VSE is positioned as a replacement product for IBM C/370 V2 on the VSE/ESA platform. This new C compiler supports the 31-bit virtual addressing of the VSE/ESA operating system. C for VSE is also strategically positioned to fully exploit the benefits offered by the recently announced LE for VSE.

For VSE customers who are currently creating application programs in a single programming language, C for VSE, working in conjunction with LE for VSE, extends the interlanguage communication (ILC) capability to include interlanguage calls between COBOL for VSE, PL/I for VSE, C for VSE, and Assembler. C for VSE is now positioned to offer the flexibility of writing mixed-language applications that can exploit the strengths of all the programming languages in the family of Language Environment for VSE/ESA compilers.

C for VSE supports the same powerful common Source Level Debugger that is offered with the other programming languages in the Language Environment for VSE/ESA family. Only one debugger is required to debug applications in all three programming languages.

C for VSE is year-2000 ready and will let you to modify existing applications or produce new applications for the year 2000 and beyond.
Back to top
 

Highlights

  • IBM C for VSE/ESA Version 1, which works with recently announced Language Environment for VSE/ESA Version 1 Release 4, has the following features:

    • Common interactive source level debugger

    • Interlanguage communication (ILC) with COBOL for VSE, PL/I for VSE, and Assembler

    • Year-2000 ready

    • Packed decimal data type for easier access to enterprise data

    • Online books with softcopy examples

  • Conforms to the ANSI/ISO 9899:1990 (1992) C language standard for higher portability.

Back to top
 
Description

C for VSE is the newest addition to the C/370 family of IBM compilers. The C/370 family of compilers now support the VSE/ESA, MVS/ESA, VM/ESA, and OS/390 mainframe platforms.

C for VSE is based on IBM AD/Cycle C/370 for MVS and VM. C for VSE works in conjunction with LE for VSE and adds a number of new features and functions to those that exist in its predecessor product, IBM C/370 Version 2 Release 1.

Support of Language Environment for VSE/ESA:

The C for VSE compiler works in conjunction with LE for VSE. LE for VSE provides a common language environment that supports both compilation and execution of applications with run-time libraries serving multiple programming languages. LE for VSE provides a common execution environment and library of run-time services that include callable services, common exception handling, a library of intrinsic math routines, and storage management. As an option, C users may use the C Language Run-Time Support that is contained in VSE/ESA Version 2 Release 2.

Interlanguage Communication:

C for VSE, in conjunction with LE for VSE, provides Interlanguage Communication (ILC) capability. Applications written in C for VSE can call or be called by other Language Environment supported languages such as COBOL for VSE, PL/I for VSE and also Assembler. This means that an application originally written in one language can be extended or enhanced in another. Application developers now have the flexibility to use C for VSE in applications where the unique features of the C language are required or when the programmer is most familiar with the C language.

DSECT Utility:

LE for VSE includes the DSECT utility which provides additional help to programmers when creating mixed C and Assembler programs. The DSECT utility converts descriptive data produced by IBM High Level Assembler into C for VSE data structure declarations for the sharing of data between C for VSE and assembler programs.

Source Level Debug Tool:

C for VSE offers the same powerful Source Level Debugger that is also offered with the COBOL for VSE and PL/I for VSE compilers. The debugger is combined with the C for VSE compiler in a full function package. An optional alternate function package consists of the compiler without the debugger. For COBOL for VSE, PL/I for VSE, or C for VSE users, only one debugger is required as the common debug facilities can be used by all three programming languages.

The interactive source level debugger featured in C for VSE allows programmers to debug their applications as they are executing in their native host environments, such as CICS. The debugger contains functions such as:

  • Viewing source listing and stepping through the source one statement at a time

  • Setting dynamic breakpoints, which can be simple or conditional based on other values in the program

  • Monitoring the value of program variables

  • Modifying program and variable storage

  • Performing frequency analysis to display statistical information about your program

  • Debugging mixed-language applications from a single debug session

An entire debug session can also be recorded in a log file. Using this log file, the complete history of the debug session can be subsequently reviewed and further analyzed. The programmer can also replay the entire debug session from a script file. Used in this way, the debugger becomes a valuable regression testing tool when making future changes to the applications. Application developers may find the log/replay function particularly useful for regression testing of the application when making changes that may be necessary to support Year-2000.

Year-2000 Ready:

The C for VSE compiler is year-2000 ready. It can handle dates and date fields for the year 2000 and beyond. In addition, date fields in listings and reports are all year-2000 conformant. Using C for VSE with LE for VSE, programmers can write applications for the year 2000 and beyond.

Packed Decimal Data Type-Access to Enterprise Data:

Decimal data is widely used in business applications and is supported in the COBOL, PL/I, and Assembler languages. C for VSE introduces the support of packed decimal (fixed-point decimal) data as a native C data type. This simplifies the manipulation of this data type for business-oriented applications, and the passing of this data type between applications written in C for VSE and other programming languages. Fixed-point decimal arithmetic operations can now be performed without translation of data into standard C data types. This data type allows for expressions with up to 31 digits of precision enabling full exploitation of the System/370 and System/390 native hardware support for decimal data calculations.

Coded Character Set:

With C for VSE, international coded character set (codepage) support is now included. The compiler can process C syntax characters, such as square brackets, in source files without the use of trigraphs or alternative characters.

The genxlt and iconv Code Set Conversion Utilities:

Additional code set support is provided by the genxlt and iconv utilities that are shipped with LE for VSE. Genxlt generates the translation tables required by iconv to perform code set translation from one code set encoding to another. These utilities are especially useful when working with national language support (internationlization) within your C for VSE applications.

localedef Utility:

This utility is new to LE for VSE and further supports internationalization of your C for VSE applications. Because the localedef utility is included with LE for VSE, it also supports internationalization of COBOL for VSE and PL/I for VSE applications. The localedef utility allows you to create locales for use with your C for VSE, COBOL for VSE, or PL/I for VSE applications. A locale is a definition of each country or culture that a program must recognize, such as: coded character sets (codepage), national language options, rules and symbols for monetary information, and time zones. With the addition of the locale definition facilities, the C compiler solution now provides more comprehensive support for customizing the language and culture-sensitive behavior of applications.

Softcopy Examples:

Shipping of samples and examples from books in the product library is new. Programmers can now easily incorporate these samples in their programs.

C Language Standard:

C for VSE conforms to the ANSI/ISO 9899:1990 (1992) C language standard. Conformance to the ANSI/ISO standards gives the source code written for the C for VSE compiler the advantage of a high level of portability to other IBM C compilers.

Popular Features and Functions:

C for VSE is built on the strengths of the C/370 family of products and offers many features and functions that are in common with its predecessor, IBM C/370 Version 2 Release 1:

  • CHECKOUT compile-time option, to help programmers identify common programming errors and potential problems.

  • INLINE compile-time option, to specify that the compiler places the code for the function at the point of the call. This reduces the overhead of making function calls and exposes these functions to the optimizer.

  • LONGNAME support, so that external names can be mixed case and up to 255 characters in length. This helps with portability of the application across platforms.

  • MEMORY compile-time option, which increases compilation speed with the use of a memory file in place of a work file.

  • An optimizer to create efficient applications.

  • Fully program reentrant, so that a program can be run simultaneously by many users.

C for VSE is a state of the art, language-centered environment that application developers can use to create, modify, test, and debug mission critical applications targeted to execute on the VSE/ESA platform.
Back to top
 

Technical Description
Operating Environment Hardware Requirements Software Requirements


Operating Environment

Hardware Requirements

IBM C for VSE/ESA Version 1 and its generated object code can be executed on any System/370 or System/390 processor supported by the operating systems listed below.

Software Requirements

Required Licensed Programs:

The IBM C for VSE/ESA licensed program and its generated object programs run under the following System/370 and System/390 programming systems:

  • VSE/ESA Version 1 Release 4 (5750-ACD)
  • VSE/ESA Version 2 (5690-VSE)

One of the following is required for the compilation and execution of a C application using C for VSE or its generated object programs:

  • Language Environment for VSE/ESA Version 1 Release 4 (5686-094)

  • The C Language Run-Time support that is provided as part of VSE/ESA Version 2 Release 2 (5690-VSE).

These programs provide the required execution environment and library of C run-time services. The compiler is not required for application execution.

The following is required for customizing C for VSE:

  • High Level Assembler for MVS and VM and VSE Release 2 (5696-234)

Optional Licensed Programs:

C for VSE, in conjunction with IBM LE for VSE (5686-094) or the C Language Run-Time Support that is provided as part of VSE/ESA Version 2 Release 2, will support the following IBM licensed programs (later releases are supported unless otherwise indicated):

  • CICS/VSE Version 2 Release 3 (5686-026)
  • DFSORT/VSE Version 3 Release 2 (5746-SM3)
  • DOS/VS Sort/Merge Version 2 Release 5 (5746-SM2)
  • DL/I DOS/VS Release 10 (5746-XX1)
  • QMF/VSE Version 3 Release 2 (5648-061)
  • SQL/DS Version 3 Release 4 (5688-103)

Interlanguage Communication:

The C for VSE compiler supports interlanguage communication to and from applications written using any of the following IBM licensed programs (later releases are supported unless otherwise indicated):

  • High Level Assembler for MVS and VM and VSE Release 2 (5696-234)
  • IBM COBOL for VSE/ESA (5686-068)
  • IBM VS COBOL II Release 4 (5668-958, 5688-023, 5688-022)

    • VS COBOL II support is provided only with object code that is relinked with Language Environment for VSE/ESA
  • IBM PL/I for VSE/ESA (5686-069)
  • Cross System Product/Application Execution (CSP/AE) Version 3 Release 3 (5668-814) for calls with programs running under this program.

Back to top
 
Planning Information

Customer Responsibilities

Not applicable.

Compatibility

Source level compatibility:

C/370 Version 2 Release 1, 5688-187 (VSE feature) source code is fully compatible with C for VSE.

Considerations for applications compiled with C/370 Version 2 Release 1, 5688-187 (VSE feature) that will execute with Language Environment for VSE/ESA Version 1 Release 4, are documented in the IBM C for VSE/ESA Migration Guide (SC09-2423).
Back to top
 

Publications

IBM C for VSE/ESA Full Function Offering: A memo and one copy of the following publications are supplied automatically with the basic machine-readable material:

  • IBM C for VSE/ESA Version 1 Release 1 Licensed Program Specifications (GC09-2421)
  • IBM C for VSE/ESA Version 1 Release 1 Installation and Customization Guide (GC09-2422)
  • IBM C for VSE/ESA Version 1 Release 1 Migration Guide (SC09-2423)
  • IBM C for VSE/ESA Version 1 Release 1 User's Guide (SC09-2424)
  • IBM C for VSE/ESA Version 1 Release 1 Language Reference (SC09-2425)
  • IBM C for VSE/ESA Version 1 Release 1 Diagnosis Guide (GC09-2426)
  • Debug Tool User's Guide and Reference (SC26-8797)
  • Debug Tool Installation and Customization Guide (SC26-8798)

All of the above publications may be ordered by using one bill of forms number, SBOF-7227.

IBM C for VSE/ESA Alternate Function Offering: A memo and one copy of the following publications are supplied automatically with the basic machine-readable material:

  • IBM C for VSE/ESA Version 1 Release 1 Licensed Program Specifications (GC09-2421)
  • IBM C for VSE/ESA Version 1 Release 1 Installation and Customization Guide (GC09-2422)
  • IBM C for VSE/ESA Version 1 Release 1 Migration Guide (SC09-2423)
  • IBM C for VSE/ESA Version 1 Release 1 User's Guide (SC09-2424)
  • IBM C for VSE/ESA Version 1 Release 1 Language Reference (SC09-2425)
  • IBM C for VSE/ESA Version 1 Release 1 Diagnosis Guide (GC09-2426)

All of the above publications may be ordered by using one bill of forms number, SBOF-7228.

Additional copies of unlicensed publications are available for a fee after product availability. These copies may be ordered from your IBM representative, through the system library subscription service (SLSS) or by direct order.

Note: For further information on programming with IBM C for VSE/ESA refer to the publications: "C Run-Time Programming Guide" (SC33-6688) and "C Run-Time Library Reference" (SC33-6689). These are included in the VSE/ESA Version 2 Release 2 announcement letter. Refer to Software Announcement 296-137, dated April 23, 1996.

Displayable Softcopy Publications

IBM C for VSE/ESA Version 1 Release 1 manuals are offered in displayable softcopy form on CD-ROM in the VSE Collection Kit (SK2T-0060).

Additional copies can be ordered using 5636-PUB.

All unlicensed manuals are included except for: "IBM C for VSE/ESA Licensed Program Specifications" (GC09-2421).

These displayable manuals can be used with the BookManager (TM) READ licensed programs in any of the supported environments. Terms and Conditions for use of the machine-readable files are shipped with the files.
Back to top
 

Security, Auditability, and Control

This program uses the security and auditability features of the host hardware and operating systems.

User management is responsible for evaluation, selection, and implementation of security features, administrative procedures, and appropriate controls in application systems and communication facilities.

Trademarks

(R), (TM), * Trademark or registered trademark of International Business Machines Corporation.

** Company, product, or service name may be a trademark or service mark of others.
 © IBM Corporation 2003.