home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.compilers
- Path: sparky!uunet!cs.utexas.edu!usc!sol.ctr.columbia.edu!eff!world!iecc!compilers-sender
- From: Kurt Bischoff <bischoff@cs.iastate.edu>
- Subject: Beta testers wanted Attribute Grammar Compiling System
- Reply-To: Kurt Bischoff <bischoff@cs.iastate.edu>
- Organization: Compilers Central
- Date: Wed, 16 Dec 1992 12:47:51 GMT
- Approved: compilers@iecc.cambridge.ma.us
- Message-ID: <92-12-075@comp.compilers>
- Keywords: tools, attribute, lex, yacc
- Sender: compilers-sender@iecc.cambridge.ma.us
- Lines: 46
-
- 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
- --
- Send compilers articles to compilers@iecc.cambridge.ma.us or
- {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.
-