Browse Prior Art Database

ALMS - ANALYTIC LANGUAGE MANIPULATION SYSTEM

IP.com Disclosure Number: IPCOM000128851D
Original Publication Date: 1963-Aug-01
Included in the Prior Art Database: 2005-Sep-19
Document File: 3 page(s) / 18K

Publishing Venue

Software Patent Institute

Related People

Blackwell, Frederick W.: AUTHOR [+3]

Abstract

ALMS is a system which permits operations to be performed upon analytic language forms with relative ease. It has been successfully applied to such tasks as the differentiation and factoring of algebraic expressions and the analysis of simple English sentences. Input consists of phrases to be transformed together with equivalences which describe operations upon these phrases. The program converts these to binary list structures, performs the matching and substitution described by the equivalences, and transforms the results into familiar form for output. Programs in ALMS are themselves organized as binary list structures, and permit recursive subroutine hierarchies and dynamic memory allocation.

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

Page 1 of 3

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

ALMS - ANALYTIC LANGUAGE MANIPULATION SYSTEM [ title ]

Frederick W. Blackwell

Space Technology Laboratories, Inc. Redondo Beach, California

ABSTRACT

ALMS is a system which permits operations to be performed upon analytic language forms with relative ease. It has been successfully applied to such tasks as the differentiation and factoring of algebraic expressions and the analysis of simple English sentences. Input consists of phrases to be transformed together with equivalences which describe operations upon these phrases. The program converts these to binary list structures, performs the matching and substitution described by the equivalences, and transforms the results into familiar form for output. Programs in ALMS are themselves organized as binary list structures, and permit recursive subroutine hierarchies and dynamic memory allocation.

ALMS - ANALYTIC LANGUAGE MANIPULATION SYSTEM [ title ]

Frederick W. Blackwell

Space Technology Laboratories, Inc. Redondo Beach. California

SUMMARY

ALMS is a system which permits operations to be performed upon analytic statement forms with relative ease. The language and programs within the language have been developed over the past two years at STL as a company-sponsored research project.1 ALMS is currently implemented on the IBM 7090 computer. The generality of procedures in ALMS has made possible applications in diverse areas, including differentiation and factoring of algebraic expressions and the analysis of simple English sentences.

ALMS is a type of list-processing language; both the data and programs in ALMS are represented in binary list-structured form. To gain an understanding of the methods of ALMS, let us look at a simple example of symbolic differentiation. Consider the expression

1 The author wishes to acknowledge the early contribution of J.W. Brown, S. Manus, and R.B. Tarkington to the project.

Space Technology Laboratories, Inc. Page 1 Aug 01, 1963

Page 2 of 3

ALMS - ANALYTIC LANGUAGE MANIPULATION SYSTEM

(d)/(dx) (sin 2x)

This is input to ALMB in almost exactly this form, namely, d/dx (sin 2x).

ALMS transforms this string into a binary list structure or tree, which can be represented schematically as shown in figure 1, box 1. This is based upon Polish (parenthesis-free) notation, and takes the following form in the computer: Location u- address v-address Operator SOURCE x .1 D
.1 .2 $ SIN
.2 2 x * Thus the source list which is our expression resembles a two-address machine code. Unary operators such as SIN have no vaddress; this is indicated by the symbol $. Implicit above is the existence of two more ALMS statements: Location u- address v-address Operator x VAR $ E 2 INT $ E

These are the terminal points of the tree, and carry the operation code E(element). This is not a true operation; the u- address serves to identify the class to which the element belongs (such as "variable" or "integer").

Also present in AL...