Package org.nineml.coffeegrinder.trees
Class NopTreeBuilder
- java.lang.Object
-
- org.nineml.coffeegrinder.trees.NopTreeBuilder
-
- All Implemented Interfaces:
TreeBuilder
public class NopTreeBuilder extends java.lang.Object implements TreeBuilder
This class implements theTreeBuilderinterface, but discards all the output.It is a "no-op" tree builder.
-
-
Constructor Summary
Constructors Constructor Description NopTreeBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidendAmbiguity(int id, int leftExtent, int rightExtent)Called at the end of an ambiguity that is not marked by a single nonterminal.voidendNonterminal(NonterminalSymbol symbol, java.util.Map<java.lang.String,java.lang.String> attributes, int leftExtent, int rightExtent)Called when a nonterminal ends.voidendTree(boolean ambiguous, boolean absolutelyAmbiguous, boolean infinitelyAmbiguous)Called last, when construction finishes.voidstartAmbiguity(int id, int leftExtent, int rightExtent)Called at the start of an ambiguity that is not marked by a single nonterminal.voidstartNonterminal(NonterminalSymbol symbol, java.util.Map<java.lang.String,java.lang.String> attributes, int leftExtent, int rightExtent)Called when a new nonterminal begins.voidstartTree()Called first, when construction begins.voidtoken(Token token, java.util.Map<java.lang.String,java.lang.String> attributes, int leftExtent, int rightExtent)Called when a terminal occurs.
-
-
-
Method Detail
-
startTree
public void startTree()
Description copied from interface:TreeBuilderCalled first, when construction begins.- Specified by:
startTreein interfaceTreeBuilder
-
endTree
public void endTree(boolean ambiguous, boolean absolutelyAmbiguous, boolean infinitelyAmbiguous)Description copied from interface:TreeBuilderCalled last, when construction finishes.- Specified by:
endTreein interfaceTreeBuilder- Parameters:
ambiguous- was the parse ambiguous?absolutelyAmbiguous- is the graph ambiguous?infinitelyAmbiguous- is the graph infinitely ambiguous?
-
startNonterminal
public void startNonterminal(NonterminalSymbol symbol, java.util.Map<java.lang.String,java.lang.String> attributes, int leftExtent, int rightExtent)
Description copied from interface:TreeBuilderCalled when a new nonterminal begins.- Specified by:
startNonterminalin interfaceTreeBuilder- Parameters:
symbol- The symbol.attributes- Its attributes.leftExtent- The starting position in the input.rightExtent- The ending position in the input.
-
endNonterminal
public void endNonterminal(NonterminalSymbol symbol, java.util.Map<java.lang.String,java.lang.String> attributes, int leftExtent, int rightExtent)
Description copied from interface:TreeBuilderCalled when a nonterminal ends.- Specified by:
endNonterminalin interfaceTreeBuilder- Parameters:
symbol- The symbol.attributes- Its attributes.leftExtent- The starting position in the input.rightExtent- The ending position in the input.
-
token
public void token(Token token, java.util.Map<java.lang.String,java.lang.String> attributes, int leftExtent, int rightExtent)
Description copied from interface:TreeBuilderCalled when a terminal occurs.- Specified by:
tokenin interfaceTreeBuilder- Parameters:
token- The terminal token.attributes- Its attributes.leftExtent- The starting position in the input.rightExtent- The ending position in the input.
-
startAmbiguity
public void startAmbiguity(int id, int leftExtent, int rightExtent)Description copied from interface:TreeBuilderCalled at the start of an ambiguity that is not marked by a single nonterminal.The ambiguity id will distinguish this ambiguity from any other ambiguity. The numbers are not sequential or guaranteed stable across parses.
- Specified by:
startAmbiguityin interfaceTreeBuilder- Parameters:
id- The ambiguity id.leftExtent- The starting position in the input.rightExtent- The ending position in the input.
-
endAmbiguity
public void endAmbiguity(int id, int leftExtent, int rightExtent)Description copied from interface:TreeBuilderCalled at the end of an ambiguity that is not marked by a single nonterminal.- Specified by:
endAmbiguityin interfaceTreeBuilder- Parameters:
id- The ambiguity id.leftExtent- The starting position in the input.rightExtent- The ending position in the input.
-
-