Browse Prior Art Database

THE UNIVERSITY OF MICHIGAN Technical Report 7 THE SYNTACTIC STRUCTURE OF MAD/I

IP.com Disclosure Number: IPCOM000128427D
Original Publication Date: 1968-Jun-01
Included in the Prior Art Database: 2005-Sep-15

Publishing Venue

Software Patent Institute

Related People

Mills, David L.: AUTHOR [+3]

Abstract

The various dialects of MAD developed at The University of Michigan and elsewhere can be described as ALGOL-like languages with strong flavors of FORTRAN. The language has enjoyed considerable popularity at the University in both teaching and research during a developmental evolution which began in 1960 with an IBM 704 version of the compiler and progressed to the present IBM 7090 version. The MAD language itself is designed to be readily taught to relatively unsophisticated students and yet to provide the power of generality of expression necessary in sophisticated research applications. In general, the compiler implementations have been finely tuned for high-speed translation and for production of reasonably good object code. The list of references at the end of this report contains a compendium of reference material covering the development of the compiler and the structure of the language. In the subsequent discussion of this report a working familiarity with the MAD language will be assumed in programming examples, although this is not strictly necessary for an understanding of the principles involved.

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

Page 1 of 31

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

THE UNIVERSITY OF MICHIGAN Technical Report 7 THE SYNTACTIC STRUCTURE OF MAD/I

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

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

TABLE OF CONTENTS

LIST OF FIGURES.....v
I. INTRODUCTION.....1
1.1.....Evolution of MAD/I.....1
II. FORMAL SYNTACTIC SPECIFICATION.....6
2.1 Terminology.....7
2.2 Production Systems.....10
2.3 Operator Precedence Grammars.....12
2.4 Contextual Features.....18
III. TRANSFORMATIONS.....26
3.1 Terminal Transformations.....28
3.2 Precedence Transformations.....38
IV. A KERNEL GRAMMAR FOR MAD/I.....45
4.1 An Operator Precedence Kernel Grammar.....46
4.2 Interpretation of the Kernel Grammar.....64
V. STRUCTURE OF THE COMPILER.....74
5.1 The Symbol Table.....78
5.2 Lexical Recognizer.....82
5.3 Syntactic Recognizer.....85
5.4 The Macro Interpreter.....87
REFERENCES.....91

LIST OF FIGURES

1 Floyd's Simple Grammar.....16
2 Terminal Matrix.....20
3 Terminal Delimiter Tables.....22
4 Terminal Context Matrix.....25 Example Grammar-Productions.....31
6 Example Grammar-Terminal Context Matrix.....33
7 Kernel Productions for MAD/I.....47 Kernel Vocabulary.....50

University of Michigan Page 1 Jun 01, 1968

Page 2 of 31

THE UNIVERSITY OF MICHIGAN Technical Report 7 THE SYNTACTIC STRUCTURE OF MAD/I

9 Descriptor Assignment.....53
10 Left Terminal Derivatives.....54
11 Right Terminal Derivatives.....55
12 Precedence Equivalence Classes.....56
13 Precedence Matrix.....57
14 Terminal Pair Equivalence Classes.....58 Terminal Pair Matrix.....59
16 Terminal Context Equivalence Classes.....60
17 Terminal Context Matrix.....61
18 Left Terminal Delimiters 62 19 Right Terminal Delimiters.....63 Organization of MAD/I Compiler.....76

[ chapter ] I. INTRODUCTION

The various dialects of MAD developed at The University of Michigan and elsewhere can be described as ALGOL-like languages with strong flavors of FORTRAN. The language has enjoyed considerable popularity at the University in both teaching and research during a developmental evolution which began in 1960 with an IBM 704 version of the compiler and progressed to the present IBM 7090 version. The MAD language itself is designed to be readily taught to relatively unsophisticated students and yet to provide the power of generality of expression necessary in sophisticated research applications. In general, the compiler implementations have been finely tuned for high-speed translation and for production of reasonably good object code. The list of references at the end of this report contains a compendium of reference material covering the development of the compiler and the structure of the language. In the subsequent discussion of this report...