Browse Prior Art Database

Generic Operator Selection

IP.com Disclosure Number: IPCOM000050715D
Original Publication Date: 1982-Dec-01
Included in the Prior Art Database: 2005-Feb-10
Document File: 3 page(s) / 27K

Publishing Venue

IBM

Related People

Gladney, HM: AUTHOR [+3]

Abstract

This invention relates to a method for selecting a member of a set of operators whenever an operator is to be invoked by an executing process such that a selection can either be made statically or dynamically.

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 53% of the total text.

Page 1 of 3

Generic Operator Selection

This invention relates to a method for selecting a member of a set of operators whenever an operator is to be invoked by an executing process such that a selection can either be made statically or dynamically. The method steps comprise (1) statically executing bindings on a symbol table defining the mapping between operation signatures and code body pointers at translation time when the types of operands are sufficiently specified; (2) saving selected classes of symbol table information such as signatures and types beyond translation/execution time; (3) during object code execution, if a deferred decision is encountered, searching the saved table in order to resolve binding decisions and loading information obtained from the search from the secondary to primary storage and linking to it; and (4) if the search fails, making it possible to augment the search table and symbol table entry and retry.

Illustratively, the following module INVOKER is applicable to any type of operand X. INVOKER includes the invocation of an operator referred to by the generic name OP, one of whose arguments is X and an invocation of STAT, which may or may not be the same as OP, all of whose arguments are of types which can be determined by scanning the text of INVOKER. Here OP and STAT are the names of sets of operators. Parenthetically, each set has a member for every distinct set of operand types that may be encountered. The particular set member to be used is a function of the operand types. The operator sets are dynamically extensible.

The object of the method is to make possible a translation of this program which does not depend on the set of types that X may assume and in which the invocation of STAT does not suffer execution performance penalties because of the machinery required for the invocation of OP.

INVOKER : PROC( ... X:ANY...) RETURNS ( ...) ; DCL Y:SOMETYPE; ... OP( ... X...) . . . ... ... ... STAT( ... Y ...) . . .

END INVOKER;.

Slightly different strategies may be employed for compiled applic...