Go to the first, previous, next, last section, table of contents.

Copyright (C) 1996, 1997 Zerksis D. Umrigar

This is the first edition of the Zyacc documentation.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the sections entitled "GNU General Public License" and "Conditions for Using Zyacc are included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.

Introduction

Zyacc is a general-purpose parser generator that converts a grammar description for an LALR(1) context-free grammar into a C program to parse that grammar. Once you are proficient with Zyacc, you may use it to develop a wide range of language parsers, from those used in simple desk calculators to complex programming languages.

Zyacc is largely upward compatible with Yacc and Bison: all properly-written Yacc and Bison grammars ought to work with Zyacc with minimal change. Anyone familiar with Yacc or Bison should be able to use Zyacc with little trouble. This manual uses the spellings Zyacc, Bison and Yacc to refer to the specific programs, while using the spelling yacc to refer to any one of the above programs. You need to be fluent in C programming in order to use Zyacc or to understand this manual.

We begin with tutorial chapters that explain the basic concepts of using Zyacc and show six explained examples, each building on the last. If you don't know yacc or Zyacc, start by reading these chapters. Reference chapters follow which describe specific aspects of Zyacc in detail.

Acknowledgements

The bulk of this manual is derived from the well-written Bison manual (see section `Bison Manual' in Bison: The YACC-compatible Parser Generator). The changes made by the present author include reformatting the examples and adding sections specific to Zyacc.

Many of the algorithms used within Zyacc is based on work by others. See the zyacc/refs.bib file included with the distribution for some of the references.

Zyacc Enhancements

Zyacc provides the following enhancements:

Feedback: Please email any feedback to zdu@acm.org.


Go to the first, previous, next, last section, table of contents.