A yacc debugger

pg@bsg.com (Peter Garst)
Thu, 14 May 1992 05:36:31 GMT

          From comp.compilers

Related articles
A yacc debugger pg@bsg.com (1992-05-14)
| List of all articles for this month |

Newsgroups: comp.compilers
From: pg@bsg.com (Peter Garst)
Keywords: yacc, debug
Organization: Compilers Central
Date: Thu, 14 May 1992 05:36:31 GMT

I'm glad Johan Hogberg asked about yacc debuggers, because we provide one.

ydb is both a 100% backward compatible upgrade to yacc, and a development
environment for yacc grammars and parsers. About 75% of the system is
devoted entirely to productivity tools - to grammar and parser analysis
and debugging - with the rest containing the yacc upgrade.

The system includes two main tools: a translate time debugger and a run
time debugger. The translate time tool is both a yacc replacement and an
interactive system for finding and correcting problems with your grammar.
Some of its debugging capabilities include:

    - It can show you examples of conflicts - show you how the parse would
        proceed for a typical input stream if the parser chose one branch or the
        other of the conflict.

    - It can generate a new precedence system which resolves conflicts
        as you direct, and can write it into your grammar file.

    - It provides a lot of support by displaying initial and follow sets,
        strings derived from rules, and other useful information.

The run time debugger handles parsers after they have been compiled into a
program. It allows you to do things like:

    - Trace the stack, rule reductions, input symbols and other items of

    - Set breakpoints for particular rules, input symbols or other
        interesting points.

As a yacc upgrade, ydb is 100% backward compatible, but allows for things
like multiple parsers in a program, incremental parsing, multiple entry
points and lookahead 2 grammars.

Let me know if you'd like more information.

Peter Garst pg@bsg.com

Bloomsbury Software Group
PO Box 390018
Mountain View, CA 94039
(415) 964-3486

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.