Browse Prior Art Database

THE CAMA MACRO PROCESSOR

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

Publishing Venue

Software Patent Institute

Related People

T. J. Dingwall: AUTHOR [+5]

Abstract

Under the CAMA (Computer-Aided Mathematical Analysis) System, we have devised a special macro processor which has as its object-languages not assembler languages, but higher-order languages such as FORTRAN, MAD, or ALGOL. The macro processor was designed to accomplish a number of objectives. First, it would enable a relatively unsophisticated user who is acquainted only with a language such as FORTRAN and not with the assembly language, to create macros and bases of languages without having to code in the assembly language. Second, the macro language was created to be a preprocessor for the interpreter language in CAMA. Third, it was created to be an intermediate processor between the mathematical expressions generated in the terminal computer which pass through a parsing operation and the base language such as FORTRAN. The macro processor was also created so that commands for the CAMA system could be written and extended easily, thereby enabling relatively unsophisticated users to extend the commands for their own particular needs, as well as write the original system commands.

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

Page 1 of 24

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

THE CAMA MACRO PROCESSOR

THE UNIVERSITY OF MICHIGAN Memorandum 35
T. J. Dingwall
L. J. Julyk
L. W. Wolf

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

TABLE OF CONTENTS

1. Introduction.....1
2. Glossary.....3
Symbolic Parameter.....3
Excluded Symbols.....3
Interpreter.....3
Macro Processor.....4
Attributes.....4
Local Set Symbol.....5
Global Set Symbol.....5
Prototype Statement.....5
Language.....5
Keyword Parameter.....6
Positional Parameter.....7
Macro Call.....7
String.....8
Null String (or Null.....8
Default Value.....8
Leading Symbolic Parameter.....8
Macro Command.....9
Concatenation.....9
Substring.....9
Arithmetic Symbols.....9
Macro Definition.....10
Macro Prototype.....10

University of Michigan Page 1 Aug 01, 1970

Page 2 of 24

THE CAMA MACRO PROCESSOR

Macro Model statement.....10
Operation of the Macro Processor.....10
3. Examples.....12
3.1 Simple Macro Examples.....12
3.2 Complete Examples.....21
Appendix A. Descriptions of Subroutines Used in the Macro Processor and Available for General Use.....A-1

[ Chapter ] 1. INTRODUCTION

Under the CAMA (Computer-Aided Mathematical Analysis) System1, we have devised a special macro processor which has as its object-languages not assembler languages, but higher-order languages such as FORTRAN, MAD, or ALGOL. The macro processor was designed to accomplish a number of objectives. First, it would enable a relatively unsophisticated user who is acquainted only with a language such as FORTRAN and not with the assembly language, to create macros and bases of languages without having to code in the assembly language. Second, the macro language was created to be a preprocessor for the interpreter language in CAMA. Third, it was created to be an intermediate processor between the mathematical expressions generated in the terminal computer which pass through a parsing operation and the base language such as FORTRAN. The macro processor was also created so that commands for the CAMA system could be written and extended easily, thereby enabling relatively unsophisticated users to extend the commands for their own particular needs, as well as write the original system commands.

The user may create his own languages by means of certain operational macros which, when expanded, generate FORTRAN statements. Or he may create languages which generate statements in a language he or someone else has created. These statements eventually will be expanded into the base language such as FORTRAN or MAD. They may also go through the interpreter. The word "language" in this context means that in defining the macro, the user has created a certain pattern whose meaning is defined by...