[go: up one dir, main page]

0% found this document useful (0 votes)
155 views15 pages

Integrated Language Environment: AS/400 E-Series I-Series

The document discusses IBM's Integrated Language Environment (ILE) on AS/400 systems. ILE introduced a new family of compilers that support modular programming with procedures, modules, and programs. It allows static binding between procedures for improved performance compared to traditional dynamic binding. ILE provides a common environment that integrates multiple languages and allows traditional and modular programming approaches.

Uploaded by

raju
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
155 views15 pages

Integrated Language Environment: AS/400 E-Series I-Series

The document discusses IBM's Integrated Language Environment (ILE) on AS/400 systems. ILE introduced a new family of compilers that support modular programming with procedures, modules, and programs. It allows static binding between procedures for improved performance compared to traditional dynamic binding. ILE provides a common environment that integrates multiple languages and allows traditional and modular programming approaches.

Uploaded by

raju
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 15

Integrated Language

Environment
AS/400
e-series
I-series

What is ILE
New family of compilers
New RPG language
Support for ILE CL
Enhanced COBOL Compiler
ILE C/400 compiler from V2R3

System Support for new compilers


Static binding any to any
Better application control
Via job structure
More consistency across languages
Co-existence with existing applications.

Programmer Productivity
Modular programming with good performance
Code reuse
Faster compiles
Workload distribution

Significant new language function


Bindable subroutine packages
New debugger
With source view

Original Program Model

Dynamic program call (simplicity)


Single entry point
Language controls runtime behavior
One compilation = one program
Variables visible across entire program
Resources Shared across a job

Integrated Language Environment


Dynamic or static binding
Significant new language function (especially
RPG)
One environment ingrates all ILE languages
Both traditional and procedure based (like C)
Environment provides runtime behaviour
OPM still available

ILE Components

New Concepts for ILE

Procedures
Modules and programs
Static binding
Service programs
Activation Groups
Run unit
Application isolation

Code optimization
Source view debugger

Procedures
Piece of Source code with an entry point
Not an AS/400 object
Definition varies by language
ILE RPG,ILE CL, ILE Cobol one per run unit
ILE C Many per compilation unit (function Definition)

Procedure name is always same as the


containing module name for rpg / cl /cobol
Called with new call bound procedure syntax
Procedures appear on the stack.

Modules

*Module object type


Object type for ILE
Contains translated but not runnable code
Must be bound into a program to run
Input is a source member
Contains one procedure for ILE RPG 400,ILE
CL and ILE COBOL/400 of the same name
Contains 1-many procedures or ILE C /400
with different names
Created with CRTXXXMOD

Programs

*PGM Object type


Either an OPM program (CRTXXXPGM)
Or an ILE Program (CRTPGM, CRTBNDXXX)
ILE *PGMs Contain one or more modules
One external entry point (Called the program
entry procedure or PEP)
Called with Dynamic CALL program Syntax

Dynamic Binding
All Calls at runtime = Dynamic binding

Static Binding
Program Creation: CRTPGM with module list
CALL

*MODULE X

*MODULE Y

Prc x:

PRC Y:

Call PRC Y

CallB P2

*Module Z
PRC P1
PRC P2

Bound Call to procedure name


Faster performance than todays call
Bind by copy Static call
Bind by reference static call

Dynamic Call vs Static call


RPG
CL
COBOL
CL

ILE Static Call


CallB
CALLPRC
CALL LINKAGE
Function call
procname()

OPM or ILE Dynamic Call


CALL
CALL
CALL
#PRAGMA
LINKAGE(pgmname.OS)

Important Differences to note are:


An ILE Static call runs a procedure not a program
Bound Call
Static
By reference

Simple Program Creation


CRTBNDxxx(CL RP CBL C)
1. Create Module
2. Automatically binds
3. Creates Program Object
One step Compile / Bind for simple *PGM
objects
Module object deleted
IBM Supplied default CRTBNDxxx
DFTACTGRP(*YES) ensures program runs in
OPM-Compatibility mode.

Service Program
*SRVPGM object type
A collection of commonly used modules
packaged together
A Kind of subroutine Library
Uses fast static call static bind by reference
Cannot be called dynamically
Multiple entry points

You might also like