Announcing USQAGMS - research utility for PCCTS/Antlr

Ron House <>
3 Feb 1998 23:30:05 -0500

          From comp.compilers

Related articles
Announcing USQAGMS - research utility for PCCTS/Antlr (Ron House) (1998-02-03)
| List of all articles for this month |

From: Ron House <>
Date: 3 Feb 1998 23:30:05 -0500
Organization: University of Southern Queensland
Keywords: tools, PCCTS

Announcing USQAGMS, the University of Southern Queensland
                      Antlr Grammar Modification System

USQAGMS is a tool designed for researchers in programming language
design who want to use Antlr(pccts) to implement a compiler while the
language design work is still in progress.

The problem: You are using Antlr 1.33 to help you design and implement
a new programming language; you have a base document describing your
language and you have an Antlr parser that includes all the headers,
token definitions, C++ actions, and so on. Now you make a change to
the language definition in your base document; your compiler is now
out of date. What do you do?

USQAGMS is designed to solve the problem of keeping the compiler's
parser up to date after a change in the language definition. The core
of the system is a special-purpose comparison program, gramupd, that
compares two Antlr grammars, looking for new, deleted, or altered
rules and/or alternatives. Any rule or alternative to a rule that is
the same in both the `old' and the `new' file has its actions
transferred from the old to the new. That leaves just the altered and
new rules/alternatives to be handled manually, and it eliminates the
possibility of forgetting to change something in the compiler that was
changed in the language specification.

There are also other subsidiary components for combining your bare
grammar with the headers, footers, etc, of your compiler. In
addition, there is a Word Perfect macro to extract a grammar from a
Word Perfect document, and other small utilities.

USQAGMS can be downloaded from

Have fun, and let me know what you think.

Ron House

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.