The new IBM Enterprise PL/I for z/OS compiler has many new features and advantages,
including the following:
- FETCH improvements:
- FETCHed routines may FETCH other routines
- FETCHed routines can perform same I/O as MAIN
- FETCHed routines may have their own CONTROLLED
- 31 digit DECIMAL and PICTURE precision
- Increased limits:
- internal and external names may have up to 100 characters
- no compiler limit on the number of FILEs and CONTROLLED variables
- up to 4095 parameters allowed per PROCEDURE
- Support for many new 390 instructions (such as AHI and ALCR)
- Support for writeable reentrant static and DLLs
- Easier compatibility and interoperability with C/C++
- Better integer support:
- maximum precision of 63 for signed FIXED BIN
- UNSIGNED attribute supported (with a maximum precision of 64)
- signed FIXED BIN(7) mapped to one byte (as is UNSIGNED FIXED
BIN(8))
- Many powerful new language features, including:
- PACKAGEs (the ANSI alternative to secondary ENTRYs)
- DO FOREVER (as a good alternate to DO WHILE( 1 = 1 ); )
- Delimiting strings with " (double quotes)
- Using underscores to make constants more readable (e.g. "0011_0101"b
)
- Compound assignments (e.g. x += 1;)
- RESIGNAL (for more powerful exception handling)
- Many powerful new attributes, including:
- ABNORMAL (like volatile in C)
- NONASSIGNABLE (like const in C)
- BYVALUE
- LIMITED ENTRY (for C function pointers)
- ORDINAL (for strongly-typed enums)
- RESERVED (for C-like static)
- UNION
- UNSIGNED
- VALUE (for named constants)
- VARYINGZ (for C-style null-terminated strings)
- Over 100 new built-in functions, including:
- HEX and HEXIMAGE (for debugging)
- PROCNAME and SOURCELINE (for tracing)
- PLIMOVE, PLIFILL and COMPARE (like memcpy, memset and memcmp)
- IAND, IOR, IEOR and NOT (for bitwise integer operations)
- COPY (the "nice" REPEAT as defined by ANSI)
- Full z/OS UNIX System Services support, including
- Source, object and listing files in HFS
- I/O to HFS files
- Improved macro facility:
- Deck file preserves case of source
- Macro variables may now be arrays
- Many more built-in functions supported
- Support for the ANSWER statement
- WHILE,UNTIL and LOOP keywords supported in %DO statements
- SELECT statement supported (in open code and in macros)
- ITERATE statement supported
- LEAVE statement supported
- REPLACE statement supported
- Support for Multithreading
- Support for UTF-16 Unicode
- Support for IEEE floating-point
- SAX-style XML parsing
- XML generation
- Integrated CICS Preprocessor
- Integrated SQL Preprocessor
For more information on these items see the PL/I Language Reference and the Enterprise PL/I for z/OS Programming Guide.
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)