Accession Number:

ADA461281

Title:

The BIGMAC User's Manual

Descriptive Note:

Conference paper

Corporate Author:

COLORADO UNIV AT BOULDER DEPT OF COMPUTER SCIENCE

Personal Author(s):

Report Date:

1978-11-01

Pagination or Media Count:

94.0

Abstract:

The BIGMAC system is a programmable utility for performing textual transformations on ANSI FORTRAN code. BIGMAC was developed for the specific purpose of replacing procedure calls with in-line code. For the purposes of modularity and hierarchical development it is frequently desirable to code simple routines for low level data abstractions such as stacks and lists. However, it is undesirable to pay the runtime costs of parameter passing and routine linkage for such frequently invoked routines. BIGMAC remedies the situation by allowing one to program and develop a prototype of the modular variety and then produce the efficient production code by transforming the prototype with BIGMAC. The degree of speed-up will depend on the machine and compiler in question. In a recent large scale application, BIGMAC speeded up the DAVE system by 47. BIGMAC can, of course, be used for conventional macro applications. Of greater interest, is that BIGMAC is general enough to enable the programming of limited language extensions. The design of BIGMAC incorporates many of the principles found in typical macro facilities. It is rather unusual in that macros are not templates for textual substitution but are executable routines. This very dynamic approach affords a great deal of flexibility with low developmemt overhead, as an existing language can be used as the basis for the macro language. The base language provides conditional execution and local and global data management. The developer need only concern himself with the macro system interface. However, in the case of a language with weak string capabilities e.g., FORTRAN, the designer must also bolster the base languages capabilities in this regard. BIGMAC macros are routines written in such an extension of FORTRAN.

Subject Categories:

  • Computer Systems
  • Computer Systems Management and Standards

Distribution Statement:

APPROVED FOR PUBLIC RELEASE