User Manual for Ox: An Attribute-Grammar Compiling System based on Yacc, Lex, and C

dc.contributor.author Bischoff, Kurt
dc.contributor.department Department of Computer Science
dc.date 2018-02-13T22:10:11.000
dc.date.accessioned 2020-06-30T01:55:50Z
dc.date.available 2020-06-30T01:55:50Z
dc.date.issued 1992-12-01
dc.description.abstract <p>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. This document is the main reference for using Ox.</p>
dc.identifier archive/lib.dr.iastate.edu/cs_techreports/21/
dc.identifier.articleid 1028
dc.identifier.contextkey 5240246
dc.identifier.s3bucket isulib-bepress-aws-west
dc.identifier.submissionpath cs_techreports/21
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/20028
dc.source.bitstream archive/lib.dr.iastate.edu/cs_techreports/21/TR92_30.pdf|||Fri Jan 14 22:31:43 UTC 2022
dc.subject.disciplines Programming Languages and Compilers
dc.title User Manual for Ox: An Attribute-Grammar Compiling System based on Yacc, Lex, and C
dc.type article
dc.type.genre article
dspace.entity.type Publication
relation.isOrgUnitOfPublication f7be4eb9-d1d0-4081-859b-b15cee251456
File
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
TR92_30.pdf
Size:
264.45 KB
Format:
Adobe Portable Document Format
Description:
Collections