tool: Ox
-
Language:
|
attribute-grammar extension of Yacc and Lex
|
|---|
-
Version:
|
G1.01
|
|---|
-
Parts:
|
Yacc/Lex/C preprocessor, tutorial, reference manual,
man page, examples, Ox-ready parsers (C, C++, Pascal, Ada,
Fortran)
|
|---|
-
Author:
|
Kurt Bischoff <bischoff@cs.iastate.edu>
|
|---|
-
Location:
|
ftp://ftp.cs.iastate.edu/pub/ox/*
|
|---|
-
Description:
|
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 preprocessor,
and extends the syntax and semantics of Yacc, Lex, and C.
|
|---|
-
Reference:
|
Most compiler textbooks have descriptions of attribute
grammars.
|
|---|
-
Features:
|
LALR(1), semantic-analyzer generation.
|
|---|
-
Bugs:
|
none known. Report bugs to ox-project@cs.iastate.edu.
|
|---|
-
Restriction:
|
Use of Ox is free. Ox-generated code is the property of
the Ox user.
|
|---|
-
Ports:
|
Unix
|
|---|
-
Contact:
|
ox-request@cs.iastate.edu
|
|---|
-
Updated:
|
November 14th, 1993
|
|---|
category: compiler generators and related tools
summary, or
expanded.
category: text manipulation
summary, or
expanded.
|
|