dk.brics.servletvalidator.graph
Class UnboundedAssociateRemover
java.lang.Object
dk.brics.servletvalidator.grammar.AbstractGrammarEntityVisitor
dk.brics.servletvalidator.graph.UnboundedAssociateRemover
- All Implemented Interfaces:
- GrammarEntityVisitor
public class UnboundedAssociateRemover
- extends AbstractGrammarEntityVisitor
This visitor ensures that all associates are bounded for the particular grammar, that is there are no productions
of the for an(bn). This is transformed into an(bm).
This transformation is dicussed in [MiMø] appendix B.
Unbounded associates are discussed in more detail in [Knuth] Lemma 3. The precondition for the grammar is that the association
depth has first been reduced to 1 using the Cycle reducer until there are no more cycles involving more than 1 node in the
DGraph.
| 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 |
UnboundedAssociateRemover
public UnboundedAssociateRemover(SplitIndicesFinder s)
apply
public void apply(Grammar g)
- Specified by:
apply in interface GrammarEntityVisitor- Overrides:
apply in class AbstractGrammarEntityVisitor
out
public void out(NonTerminal nonTerminal)
- Specified by:
out in interface GrammarEntityVisitor- Overrides:
out in class AbstractGrammarEntityVisitor
Copyright © 2008 Mathias Schwarz.