Document Type

Technical Report

Publication Date

Summer 6-1-1978


An automatic parser generator is a tool for quickly implementing programming language parsers. Parser generators based upon LR parsing have been built for grammars satisfying the LR(0), SLR(1), and LALR(1) properties. Speed of the resulting parser is comparable to that of a hand coded recursive descent parser. DAVE, an automatic program testing aid, requires a flexible, easy-to- implement parser. This report presents an LALR(1) grammar for ANSI standard FORTRAN, suitable as input to an automatic parser generator. Its use in building DAVE provides a measure of the desired flexibility, since new parsers for FORTRAN dialects may be produced by simply modifying the existing grammar. A powerful meta-language is used to describe the grammar. Its features are summarized, including the method for specifying automatic construction of (intermediate-text) structure trees during parsing. The report concludes with a discussion of some of the more important decisions made during development of the grammar.