Browse Prior Art Database

AN EXAMPLE DEFINITIONAL FACILITY IN MAD/I

IP.com Disclosure Number: IPCOM000128428D
Original Publication Date: 1970-Aug-01
Included in the Prior Art Database: 2005-Sep-15
Document File: 9 page(s) / 34K

Publishing Venue

Software Patent Institute

Related People

Srodawa, Ronald J.: AUTHOR [+3]

Abstract

The MAD/I language is a procedure-oriented algebraic language which is a descendant of ALGOL 60 and 7090 MAD, similar in power and scope to PL/I. The MAD/I compiler is implemented using the MAD/I facility, a flexible translator-building system whose dynamic nature allows compilers to be extended during the compilation process. This paper demonstrates the extension of MAD/I to include several graphics-oriented statements and operators through a lucid example.

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

Page 1 of 9

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

AN EXAMPLE DEFINITIONAL FACILITY IN MAD/I [ front matter and title page ]

Ronald J. Srodawa

THE UNIVERSITY OF MICHIGAN, Memorandum 32

CONCOMP: Research in Conversational Use of Computers, ORA Project 07449, F.H. Westervelt, Director supported by: DEPARTMENT OF DEFENSE, ADVANCED RESEARCH PROJECTS AGENCY WASHINGTON, D.C.

CONTRACT NO. DA-49-083 OSA-3050, ARPA ORDER NO. 716 administered through: OFFICE OF RESEARCH ADMINISTRATION ANN ARBOR, August 1970

Abstract

The MAD/I language is a procedure-oriented algebraic language which is a descendant of ALGOL 60 and 7090 MAD, similar in power and scope to PL/I. The MAD/I compiler is implemented using the MAD/I facility, a flexible translator-building system whose dynamic nature allows compilers to be extended during the compilation process. This paper demonstrates the extension of MAD/I to include several graphics-oriented statements and operators through a lucid example.

[ Chapter ] 1. INTRODUCTION

The MAD/I project of the University of Michigan has designed and implemented a flexible translator- building system called the MAD/I facility. The facility provides services to aid in the lexical and syntactic scanning [ 3 ] of the program, storage allocation, and object- code generation. A compiler is written in the facility as a set of procedures, called a macro, to which is control passed at various times by the syntactic scanner and by the contents of the intermediate storage of the partially compiled programs. New macros can be redefined while a compiler is executing, thus making extensions to the compiler (and hence to the language) possible.

A compiler, called the MAD/I compiler, has been implemented using the MAD/I facility. The language accepted by the MAD/I compiler is called the MAD/I language 1 The MAD/I language is a procedure-oriented algebraic language which is a descendant of ALGOL 60 and 7090 MAD, similar in power and scope to PL/I. Because the MAD/I compiler is written in the MAD/I facility, there is a great potential for extensibility features within the MAD/I language. To date, no extension facilities have been designed for the MAD/I language; that is properly a goal of further research.

This report presents an example definitional facility in the MAD/I language. A simple list- processing program is written in the MAD/I language as extended to include three new modes, three new statements, and eight new operators. These extensions are written using the macro

1 1. Bolas, B.J., Springer, A.L., and Srodawa, R.J., The MAD/I Manual, Technical Report 32, Concomp Project, University of Michigan, Ann Arbor, August 1970.

University of Michigan Page 1 Aug 01, 1970

Page 2 of 9

AN EXAMPLE DEFINITIONAL FACILITY IN MAD/I

language of the MAD/I facility and two experimental definitional statements. These definitional statements, or similar ones determined to be more appropriate, could easily be incorporated as a part of the MAD/I...