Browse Prior Art Database

A Knowledgeable, Language-independent System for Program Construction and Modification

IP.com Disclosure Number: IPCOM000128639D
Original Publication Date: 1975-Dec-31
Included in the Prior Art Database: 2005-Sep-16

Publishing Venue

Software Patent Institute

Related People

Martin D. Yonke: AUTHOR [+3]

Abstract

I 1.1 Programming Environments 1 1.2 Program Construction 3 1.3 Example Session 5 1.4 System Overview 12 2. Associated Research 17 2.1 Language Editors 17 2.2 Program Presentation Facilities 19 2.3 Error-Correcting Parsers 19 3. The Formalism For Language Definition 21 3.1 The Metaconstructs 21 3.2 Why Not BNF? 23 4. The Structure For Holding Programs 27 4.1 The Parsed Structure 27 4.2 Access Nodes 29 5. The System Activities 32 5.1 Positional Functions 32 5.2 Modification Functions 34 5.3 Presentation Functions 44 5.4 The Parsing Mechanism 47 5.5 The Implementation 51 6. Summary And Conclusions 5 3 6.1 Environments 53 6.2 Program Construction and Modification: A Summary 53 6.3 Conclusions 57 6.4 Future Research 59 References 61

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

Page 1 of 41

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

A Knowledgeable, Language-independent System for Program Construction and Modification

Martin D. Yonke

ARPA ORDER NO. 22-23

OUThe

ISIIRR-75-42 October 1975

INFORMATION SCIENCES INSTITUTE

4676 Admiralty WaylMarina del ReylCalifornia 90291 UNIVERSITY OF SOUTHERN CALIFORNIA (213) 822-1511

THIS RESEARCH IS SUPPORTED BY THE ADVANCED RESEARCH PROJECTS AGENCY UNDER CONTRACT NO. DAHC15 72 C 0308, ARPA ORDER NO. 2223 PROGRAM CODE NO. 3D30 AND 3PIO.

VIEWS AND CONCLUSIONS CONTAINED IN THIS STUDY ARE THE AUTHOR'S AND SHOULD NOT BE INTERPRETED AS REPRESENTING THE OFFICIAL OPINION OR POLICY OF ARPA, THE U.S. GOVERNMENT OR ANY OTHER PERSON OR AGENCY CONNECTED WITH THEM,

THIS DOCUMENT APPROVED FOR PUBLIC RELEASE AND SALE: DISTRIBUTION IS UNLIMITED.

CONTENTS

Abstract V

1. Introduction I

1.1 Programming Environments 1 1.2 Program Construction 3 1.3 Example Session 5 1.4 System Overview 12 2. Associated Research 17 2.1 Language Editors 17 2.2 Program Presentation Facilities 19 2.3 Error-Correcting Parsers 19

3. The Formalism For Language Definition 21 3.1 The Metaconstructs 21 3.2 Why Not BNF? 23

4. The Structure For Holding Programs 27 4.1 The Parsed Structure 27 4.2 Access Nodes 29 5. The System Activities 32 5.1 Positional Functions 32 5.2 Modification Functions 34 5.3 Presentation Functions 44 5.4 The Parsing Mechanism 47 5.5 The Implementation 51

6. Summary And Conclusions 5 3 6.1 Environments 53 6.2 Program Construction and Modification: A Summary 53 6.3 Conclusions 57 6.4 Future Research 59 References 61

iii

University of Southern California Page 1 Dec 31, 1975

Page 2 of 41

A Knowledgeable, Language-independent System for Program Construction and Modification

ABSTRACT

The need of a language-independent programming environment with knowledgeable facilities is explicated. Then the design of a language-independent system for "intelligent" creation and modification of programs is presented as an example of such a facility. This system, called the Program Constructor and Modifier, is a two-stage process. In the first stage, an "expert" creates a description of a programming language in a high-level formalism. This description is used in conjunction with the underlying model of programming languages to drive the second stage, in which the general user creates and modifies programs written in the particular programming language. This model will guarantee that throughout the interaction the program is syntactically error-free and -- as far as possible without executing the program --will guarantee certain semantic consistencies. All methods associated with this model are oriented towards error prevention while still allowing the user "free-form" program input. These methods will also automatically correct certain classes of errors such as misspelled words and omitted terminal symbols of certain types and will interact with the user to gain information when there is insufficient knowledg...