dk.brics.servletvalidator
Class NonTerminalReducingVisitor
java.lang.Object
dk.brics.servletvalidator.grammar.AbstractGrammarEntityVisitor
dk.brics.servletvalidator.NonTerminalReducingVisitor
- All Implemented Interfaces:
- GrammarEntityVisitor
public class NonTerminalReducingVisitor
- extends AbstractGrammarEntityVisitor
Reduces the number of non terminals by finding nonterminal that are completely identical where
all productions are equal and replace them by 1 non terminal. Applying this transformation
may create new identical non terminals but in that case the total number of non terminals
is strictly smaller.
| Methods inherited from class dk.brics.servletvalidator.grammar.AbstractGrammarEntityVisitor |
apply, apply, apply, getPath, in, in, in, isMarked, mark, out, out, print, shouldPrettyPrint |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NonTerminalReducingVisitor
public NonTerminalReducingVisitor()
apply
public void apply(Grammar g)
- Specified by:
apply in interface GrammarEntityVisitor- Overrides:
apply in class AbstractGrammarEntityVisitor
isChanged
public boolean isChanged()
out
public void out(NonTerminal nonTerminal)
- Specified by:
out in interface GrammarEntityVisitor- Overrides:
out in class AbstractGrammarEntityVisitor
Copyright © 2008 Mathias Schwarz.