Related articles |
---|
Ox generalizes Yacc and Lex for attribute grammars thomas.evans.shields@gmail.com (Tom Shields) (2019-02-06) |
Ox generalizes Yacc and Lex for attribute grammars bischoff@cs.iastate.edu (Kurt Bischoff) (1993-11-16) |
Re: Ox generalizes Yacc and Lex for attribute grammars a_tucker@paul.spu.edu (Andrew Tucker) (1993-11-16) |
Re: Ox generalizes Yacc and Lex for attribute grammars wjw@eb.ele.tue.nl (1993-11-17) |
Re: Ox generalizes Yacc and Lex for attribute grammars etxmow@garbo.ericsson.se (1993-11-17) |
Re: Ox generalizes Yacc and Lex for attribute grammars bevan@cs.man.ac.uk (Stephen J Bevan) (1993-11-17) |
Re: Ox generalizes Yacc and Lex for attribute grammars rad@cs.ucsb.edu (1993-11-18) |
Re: Ox generalizes Yacc and Lex for attribute grammars cspt@giraffe.ru.ac.za (1993-11-19) |
[1 later articles] |
Newsgroups: | comp.compilers |
From: | Kurt Bischoff <bischoff@cs.iastate.edu> |
Keywords: | tools, attribute, available |
Organization: | Compilers Central |
Date: | Tue, 16 Nov 1993 00:10:21 GMT |
This announces the first general release of Ox:
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. Ox checks these specifications for consistency and
completeness, and generates from them 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.
Ox is a Yacc/Lex/C preprocessor, and is designed to bring attribute
grammars to the mainstream of Unix-based language development. Ox
inherits all of the familiar syntax and semantics of Yacc, Lex, and C, so
it is a good choice for language designers, experimenters, and developers
familiar with those tools. It is relatively easy to convert programs
between Ox code and "pure Yacc/Lex/C" code. Ox is carefully engineered
for reliability, portability, compatibility, simplicity, and efficiency.
Ox can be used with Bison, Flex, and C++.
Use of Ox is free. Code generated by Ox is the property of the Ox user.
The distribution is available by anonymous ftp from the directory
`/pub/ox' on:
ftp.cs.iastate.edu
The Ox G1.01 distribution includes:
* source code (Ox is written in Yacc, Lex, and C)
* tutorial introduction (new, informal, 19 pages). This
emphasizes examples and helps you cover the main points
quickly. If you already know Yacc, Lex, and AGs, you are
soon ready to begin using Ox with your favorite Yacc/Lex
parser.
* user reference manual (indexed, up-to-date, 57 pages)
* on-line manual
* small examples (files containing all of the examples from
the user reference manual and the tutorial introduction)
* Ox-ready Yacc/Lex parsers for C, C++, Pascal, Ada, and
FORTRAN
* a large example (block-structured imperative-language
compiler suitable for instruction and experimentation) with
documentation
Ox is designed and implemented by Kurt Bischoff, in association with
Kelvin Nilsen, Department of Computer Science, Iowa State University.
Questions about Ox should be sent to:
ox-request@cs.iastate.edu
--
Kurt Bischoff, bischoff@cs.iastate.edu
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.