xtc.parser
Class DeadProductionEliminator

java.lang.Object
  extended by xtc.tree.Visitor
      extended by xtc.parser.GrammarVisitor
          extended by xtc.parser.DeadProductionEliminator

public class DeadProductionEliminator
extends GrammarVisitor

Visitor to eliminate dead productions. This visitor eliminates productions that are not reachable from top-level productions. It may perform faster if the grammar has previously been annotated with its real root.

Version:
$Revision: 1.39 $
Author:
Robert Grimm
See Also:
RootFinder

Field Summary
 
Fields inherited from class xtc.parser.GrammarVisitor
analyzer, isBound, isLastElement, isPredicate, isRepeatedOnce, isTopLevel, isVoided, needsSequence, runtime, transformInPlace
 
Constructor Summary
DeadProductionEliminator(Runtime runtime, Analyzer analyzer)
          Create a new dead production eliminator.
 
Method Summary
 java.lang.Object visit(Module m)
          Visit the specified grammar.
 Element visit(NonTerminal nt)
          Visit the specified nonterminal.
 
Methods inherited from class xtc.parser.GrammarVisitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class xtc.tree.Visitor
dispatch, equals, hashCode, iterate, map, mapInPlace, unableToVisit, visit
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DeadProductionEliminator

public DeadProductionEliminator(Runtime runtime,
                                Analyzer analyzer)
Create a new dead production eliminator.

Parameters:
runtime - The runtime.
analyzer - The analyzer utility.
Method Detail

visit

public java.lang.Object visit(Module m)
Visit the specified grammar.

Overrides:
visit in class GrammarVisitor

visit

public Element visit(NonTerminal nt)
Visit the specified nonterminal.



Copyright © 2012. All Rights Reserved.