Electrical Engineering
      and Computer Sciences

Electrical Engineering and Computer Sciences

COLLEGE OF ENGINEERING

UC Berkeley

User's Guide to the MS Macro Language: 2nd edition

A. Dain Samples

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-91-621
September 1992

http://www.eecs.berkeley.edu/Pubs/TechRpts/1991/CSD-91-621.pdf

M5 is a powerful, easy to use, general purpose macro language. M5's syntax allows concise, formatted, and easy to read specifications of macros while still giving the user control over the appearance of the resulting text. M5 macros can have named parameters, can have an unbounded number of parameters, and can manipulate parameters as a single unit. M5 provides separate macro name spaces called 'pools' that simplify the creation and management of context-dependent macros and dynamic macros (macros defined by macros based on the input). Several examples demonstrate M5's power and flexibility, including a random string generator that uses BNF grammars to specify the form of the strings; an implementation of a Turing machine; and a demonstration of how M5 can process LATEX input and programming language source in the same file to simplify code maintenance and documentation. (May 29, 1991; revised September 8, 1992)


BibTeX citation:

@techreport{Samples:CSD-91-621,
    Author = {Samples, A. Dain},
    Title = {User's Guide to the MS Macro Language: 2nd edition},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {1992},
    Month = {Sep},
    URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1992/6374.html},
    Number = {UCB/CSD-91-621},
    Abstract = {M5 is a powerful, easy to use, general purpose macro language. M5's syntax allows concise, formatted, and easy to read specifications of macros while still giving the user control over the appearance of the resulting text. M5 macros can have named parameters, can have an unbounded number of parameters, and can manipulate parameters as a single unit. M5 provides separate macro name spaces called 'pools' that simplify the creation and management of context-dependent macros and dynamic macros (macros defined by macros based on the input). Several examples demonstrate M5's power and flexibility, including a random string generator that uses BNF grammars to specify the form of the strings; an implementation of a Turing machine; and a demonstration of how M5 can process LATEX input and programming language source in the same file to simplify code maintenance and documentation. (May 29, 1991; revised September 8, 1992)}
}

EndNote citation:

%0 Report
%A Samples, A. Dain
%T User's Guide to the MS Macro Language: 2nd edition
%I EECS Department, University of California, Berkeley
%D 1992
%@ UCB/CSD-91-621
%U http://www.eecs.berkeley.edu/Pubs/TechRpts/1992/6374.html
%F Samples:CSD-91-621