Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Dynamic Selection of Generic Operators

IP.com Disclosure Number: IPCOM000044935D
Original Publication Date: 1983-Jan-01
Included in the Prior Art Database: 2005-Feb-06
Document File: 2 page(s) / 14K

Publishing Venue

IBM

Related People

Gladney, HM: AUTHOR [+2]

Abstract

This invention relates to a method for resolving ambiguous indices in CASE-like statements at translation/execution time as an alternative to the fine-grained typing imposed on the source code in ALGOL (PASCAL)- languages. The method includes generating and maintaining a list of substitution instances of preselected external symbols occurring in a source code symbol string, building a linked list marking the position of the instance in the string at compile time; and at run/execution time inserting a substitution pointer at each of the "pause points" in the object code obtained by traversing the list.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 2

Dynamic Selection of Generic Operators

This invention relates to a method for resolving ambiguous indices in CASE- like statements at translation/execution time as an alternative to the fine-grained typing imposed on the source code in ALGOL (PASCAL)- languages. The method includes generating and maintaining a list of substitution instances of preselected external symbols occurring in a source code symbol string, building a linked list marking the position of the instance in the string at compile time; and at run/execution time inserting a substitution pointer at each of the "pause points" in the object code obtained by traversing the list.

The essence of the method is to search by multilevel indexing. The indices are calculated and substituted for external identifiers as each program segment is loaded.

The elements of the method are (1) to make a generic selection statically (during compilation) whenever possible, (2) to replace each occurrence of an external symbol by an integer index whenever any program is loaded, (3) to maintain a table of translations from external symbols to internal indices, (4) to build a tree in which each internal node contains an array of pointers to the other nodes, and (5) whenever a generic operation must be dynamically made, to descend the tree by indexing at each node, using the indices which have replaced the external symbols.

In this section there are described the machine elements of an "optimal" selection of a specific member of a generic operator set.

An e-name is the external representation of a name as specified by a programmer. Abstraction may be bound to e-names in libraries. In the method the data structure will have two parts - a library name and a local part (a name within a library). An 1-name is a name chosen to denote the common meaning in an executable program of an abstraction that had different e-names in each of several libraries in which it was referred to. An i-name is an index chosen as part of a program loading. There is exactly one...