Browse Prior Art Database

Inter-Platform Component Interface

IP.com Disclosure Number: IPCOM000112311D
Original Publication Date: 1994-Apr-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 4 page(s) / 116K

Publishing Venue

IBM

Related People

Anderson, B: AUTHOR [+3]

Abstract

Disclosed is a study of language capabilities for the purpose of defining a set of coding standards by which callable routines can be developed such that these routines can be accessed by other routines written in other languages. The process developed (i.e., set of rules) as a result of this study is known as the Inter-Platform Component Interface (IPCI).

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 49% of the total text.

Inter-Platform Component Interface

      Disclosed is a study of language capabilities for the purpose
of defining a set of coding standards by which callable routines can
be developed such that these routines can be accessed by other
routines written in other languages.  The process developed (i.e.,
set of rules) as a result of this study is known as the
Inter-Platform Component Interface (IPCI).

      The study focused on language capabilities directly associated
with calling a function.  The data is presented in two tables,
documented below.  Each table lists a set of topics (and the
abbreviations for the topics) and shows the capabilities of a
language with respect to that topic.

Data structures allowed (STRCT ALLWD) - does the language allow the
declaration of a data structure.  (A data structure is the
combination of two or more data items declared under a single
variable name.)

Data size/length function (STRCT SIZE) - does the language provide a
function or macro to determine the size of a variable.

Access to pointers (PTR ACC) - does the language allow the programmer
to access/manipulate pointers.

Pointer passing support (PASS PTR) - does the language allow the
passing of pointers on a function call.

Maximum number of parameters on a function call (MAX PARMS) -maximum
number of parameters allowed on a function call.

Calling conventions (CALLING CONVENT) - calling convention used on a
function call by the language.

Display support (DISPLAY DATA) - how the langauge allows a program to
present data to a user.

Passing of different variable type (PASS VAR) - does the language
allow different types of data on the call (e.g., pointer, integer).

Macro support (MACRO SUPRT) - does the language support the use of
macros.

Passing literal values (PASS LITERAL) - does the language support the
passing of literal values on a function call.  Automatic terminators
(AUTO TERM) - does the language automatically place a terminator at
the end of each string.

TABLE NOTES:

note1 - only for string data

note2 - REXX/MVS - 20, REXX/VM - 10

note3 - in REXX, parameters are passed as object with each object
        having two parameters on the stack:  a pointer followed by
        a length value.

note4 -  parameter list should be less than 4K.

note5 -  knows the length of each string

note6 -  YES but NO for Cobol/SAA (System Application Architecture*)

      One of the areas studied is the ability to pass a parameter on
a function call and have the receiver understand the length of that
parameter.  The following describes how this could be done by
language.

o   MOST languages      C, FORTRAN, BASIC, Pascal, and PLI compilers
    all provide a length function.  C provides a run-time string
    length function.  Lengths of passed parameters can be determined
    for these languages.

o   REXX                     REXX passes the length of each parameter
    as the next parameter.

o   C...