dk.brics.servletvalidator.grammar
Class AbstractGrammarEntityVisitor

java.lang.Object
  extended by dk.brics.servletvalidator.grammar.AbstractGrammarEntityVisitor
All Implemented Interfaces:
GrammarEntityVisitor
Direct Known Subclasses:
AbstractBalancingVisitor, AbstractPrettyPrinter, AbstractSplitVisitor, AbstractTagformVisitor, CharRangeSplitter, CycleReducer, DGraphConstructor, EpsilonRemovalVisitor, FreshTerminalVisitor, Grammar2XMLGraph, GrammarBalancer, NonTerminalReducingVisitor, ParenthesisSplitIndicesFinder, ParenthesisVisitor, ProductionInliner, SamplingVisitor, SetCalculatorVisitor, SingleProductionNonTerminalRemovalVisitor, ThetaVarConstructor, Transformation1Visitor, UnboundedAssociateRemover, UniqueProductionVisitor, UnitProductionRemovalVisitor, UselessProductionRemovalVisitor, UsesVisitor, WellFormednessChecker

public abstract class AbstractGrammarEntityVisitor
extends Object
implements GrammarEntityVisitor

This GrammarEntityVisitor will traverse the grammar graph but only traverse each production of a nonterminal exactly once. By default the in and out methods do nothing


Field Summary
protected  List<AlphabetSymbol> marked
           
 
Constructor Summary
protected AbstractGrammarEntityVisitor()
           
protected AbstractGrammarEntityVisitor(boolean shouldPrettyPrint)
           
 
Method Summary
 void apply(Grammar g)
           
 void apply(NonTerminal nonTerminal)
           
 void apply(Production production)
           
 void apply(Terminal terminal)
           
protected  LinkedList<GrammarEntity> getPath()
           
 void in(NonTerminal nonTerminal)
           
 void in(Production production)
           
 void in(Terminal terminal)
           
protected  boolean isMarked(AlphabetSymbol symbol)
           
protected  void mark(AlphabetSymbol symbol)
           
 void out(NonTerminal nonTerminal)
           
 void out(Production production)
           
 void out(Terminal terminal)
           
 void print(Grammar g)
           
 boolean shouldPrettyPrint()
          If this method returns true the grammar will be printed to debug after the visitor has run
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

marked

protected List<AlphabetSymbol> marked
Constructor Detail

AbstractGrammarEntityVisitor

protected AbstractGrammarEntityVisitor()

AbstractGrammarEntityVisitor

protected AbstractGrammarEntityVisitor(boolean shouldPrettyPrint)
Method Detail

apply

public void apply(Grammar g)
Specified by:
apply in interface GrammarEntityVisitor

apply

public void apply(NonTerminal nonTerminal)
Specified by:
apply in interface GrammarEntityVisitor

apply

public void apply(Production production)
Specified by:
apply in interface GrammarEntityVisitor

apply

public void apply(Terminal terminal)
Specified by:
apply in interface GrammarEntityVisitor

getPath

protected LinkedList<GrammarEntity> getPath()

in

public void in(NonTerminal nonTerminal)
Specified by:
in in interface GrammarEntityVisitor

in

public void in(Production production)
Specified by:
in in interface GrammarEntityVisitor

in

public void in(Terminal terminal)
Specified by:
in in interface GrammarEntityVisitor

isMarked

protected boolean isMarked(AlphabetSymbol symbol)

mark

protected void mark(AlphabetSymbol symbol)

out

public void out(NonTerminal nonTerminal)
Specified by:
out in interface GrammarEntityVisitor

out

public void out(Production production)
Specified by:
out in interface GrammarEntityVisitor

out

public void out(Terminal terminal)
Specified by:
out in interface GrammarEntityVisitor

print

public void print(Grammar g)
Specified by:
print in interface GrammarEntityVisitor

shouldPrettyPrint

public boolean shouldPrettyPrint()
If this method returns true the grammar will be printed to debug after the visitor has run

Specified by:
shouldPrettyPrint in interface GrammarEntityVisitor
Returns:


Copyright © 2008 Mathias Schwarz.