Beta testers wanted Attribute Grammar Compiling System

Kurt Bischoff <bischoff@cs.iastate.edu>
Wed, 16 Dec 1992 12:47:51 GMT

          From comp.compilers

Related articles
Beta testers wanted Attribute Grammar Compiling System bischoff@cs.iastate.edu (Kurt Bischoff) (1992-12-16)
| List of all articles for this month |
Newsgroups: comp.compilers
From: Kurt Bischoff <bischoff@cs.iastate.edu>
Organization: Compilers Central
Date: Wed, 16 Dec 1992 12:47:51 GMT
Keywords: tools, attribute, lex, yacc

                                          Beta testers wanted for


                          An Attribute Grammar Compiling System
                                                      based on
                                                Yacc, Lex, and C


Ox generalizes the function of Yacc in the way that attribute grammars
generalize context-free grammars. Ordinary Yacc and Lex specifications
may be augmented with definitions of synthesized and inherited attributes
written in C syntax. From these specifications, Ox generates a program
that builds and decorates attributed parse trees. Ox accepts a most
general class of attribute grammars. The user may specify postdecoration
traversals for easy ordering of side effects such as code generation. Ox
handles the tedious and error-prone details of writing code for parse-tree
management, so its use eases problems of security and maintainability
associated with that aspect of translator development.


The translators generated by Ox use internal memory management that is
often much faster than the common technique of calling malloc once for
each parse-tree node.


Ox is a Yacc/Lex/C preprocessor, and is designed to bring attribute
grammars closer to the mainstream of Unix-based language development. Ox
inherits all of the familiar syntax and semantics of Yacc, Lex, and C. It
is relatively easy to convert programs between Ox code and "pure
Yacc/Lex/C" code.


Ox has been used to build a compiler for a small (eighty grammar rules)
block-structured imperative programming language, and has been tested and
found to be portable among the following systems running Unix:


          Hewlett-Packard PA, 680x0
          Sun 3, SparcStation
          DECstation 2100, 3100, 5000
          Silicon Graphics Inc. R3000
          NeXT workstation


The author of Ox is Kurt M. Bischoff (bischoff@cs.iastate.edu), Department
of Computer Science, Iowa State University.


For more information, please send your e-mail address to:


          ox-request@cs.iastate.edu
--


Post a followup to this message

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