[image of the Head of a GNU]

Introduction | Get the Software | Documentation
| Mailing Lists/Newsgroups | Request an Enhancement
| Report a Bug | Maintainer

Introduction to MARST

MARST is an Algol-to-C translator. It automatically translates programs written on the algorithmic language Algol 60 to the C programming language.

The MARST package includes three main components:

The input language of the translator is hardware representation of full (level 0) Algol 60 as described in the following IFIP document:

Modified Report on the Algorithmic Language Algol 60, The Computer Journal, Vol. 19, No. 4, Nov. 1976, pp. 364—79. (This document is an official standard IFIP document. It is not a part of the MARST package.)

Please note that there are some differences between the Revised Report and the Modified Report since the latter is a result of application of the following IFIP document to the Revised Report:

R. M. De Morgan, I. D. Hill, and B. A. Wichmann. A Supplement to the Algol 60 Revised Report. The Computer Journal, Vol. 19, No. 3, 1976, pp. 276—88. (This document is an official standard IFIP document. It is not a part of the MARST package.)

The translator and all library routines are written on basic dialect of the C programming language, which is practically the same as widely known 1989' ANSI C. The output code produced by the translator also uses the same dialect.

Please note that the MARST translator has an inborn defect (not a bug): it stops on the first error found. This means that to find all errors in a source Algol program the user should perform several runs of the translator (surely this defect is not essential if the source program has no errors). The author plans to remove this defect in the future.

Downloading MARST

MARST distribution can be found on in the subdirectory /gnu/marst/ on your favorite GNU mirror. For other ways to obtain MARST, please read How to get GNU Software.


MARST brief guide can be found in its distribution (as plain text file and as .info file). You may also look at manual pages (through man marst at the shell prompt) on your system.

Mailing Lists/Newsgroups

MARST now has two mailing lists: <> and <>.

The main discussion list is <>, and is used to discuss all aspects of MARST, including development and porting.

Announcements about MARST and most other GNU Software are made on <>.

There is also a special list used for reporting bugs, <>. For details on submitting a bug report, please see the section Report a Bug below.

To subscribe to any MARST mailing list, please send an empty mail with a Subject: header line of just "subscribe" to the relevant -request list. For example, to subscribe yourself to the main list, you would send mail to <> with no body and a Subject: header line of just "subscribe".

Currently, there is no newsgroup dedicated to MARST.

Request an Enhancement

If you would like any new feature to be included in future versions of MARST, please send a request to <>.

Please remember that development of MARST is a volunteer effort, and you can also contribute to its development. For information about contributing to the GNU Project, please read How to help GNU.

Report a Bug

If you think you have found a bug in MARST, then you should send as complete a report as possible to <>. Ideally, you should include the text you get by running config.guess, the text you see when you run , and configure, and if you can, a patch made with diff -u5 which fixes the problem.


MARST is currently being maintained by <>.
Return to GNU's home page.

Please send FSF & GNU inquiries & questions to There are also other ways to contact the FSF.

Please send comments on these web pages to, send other questions to

The MARST package is a part of the GNU project, released under the aegis of GNU.

Copyright 2000 Andrew Makhorin, Department for Applied Informatics, Moscow Aviation Institute, Moscow, Russia

Copyright 2000 Free Software Foundation, Inc.

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: 23 Jul 2000