Browse Prior Art Database

Automatic Macro Parameter Checking

IP.com Disclosure Number: IPCOM000084306D
Original Publication Date: 1975-Oct-01
Included in the Prior Art Database: 2005-Mar-02
Document File: 2 page(s) / 36K

Publishing Venue

IBM

Related People

Melkun, BF: AUTHOR

Abstract

Operating system services (such as GETMAIN or READ) may have two levels of interface definition, i.e., the detailed, specific instructions (e.g., SVC 10) and the more usable symbolic language interface (e.g., {GETMAIN R LV (X) }). The language form may be provided through use of the macro facility of a system development language, such as PL/S. The developers of these macros currently write the code to check the correctness of the parameters of the macro. This consumes programming time and the time of the macro's users, since macro code executes slowly.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

Page 1 of 2

Automatic Macro Parameter Checking

Operating system services (such as GETMAIN or READ) may have two levels of interface definition, i.e., the detailed, specific instructions (e.g., SVC 10) and the more usable symbolic language interface (e.g., {GETMAIN R LV (X) }). The language form may be provided through use of the macro facility of a system development language, such as PL/S. The developers of these macros currently write the code to check the correctness of the parameters of the macro. This consumes programming time and the time of the macro's users, since macro code executes slowly.

The checks that have to be made follow patterns, relating to the optionality, requirement and count of the parameters. A solution to the problem of the macro developer's and user's cost is to define additional macro language facilities, which simplify the checking by letting the macro processor do more. In particular, this can be done by modifying the development language macro statement.

The current PL/S macro statement has the form:

(Image Omitted)

This allows an invocation to have or not have a positional parameter list (MACLIST) and to have or not have the indicated keyword parameters, with or without lists. All checking of this kind is the responsibility of the macro developer in the actual macro code.

The improved macro statement is shown in the attached drawing wherein the options have the following meanings: NOMACLIST - Prohibits any positional parameter list. MACLIST - Allows a positional parameter list (default...