Related articles |
---|
Beta testers wanted Attribute Grammar Compiling System bischoff@cs.iastate.edu (Kurt Bischoff) (1992-12-16) |
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
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.