Package org.antlr.tool
Class DOTGenerator
- java.lang.Object
-
- org.antlr.tool.DOTGenerator
-
public class DOTGenerator extends java.lang.Object
The DOT (part of graphviz) generation aspect.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
arrowhead
protected Grammar
grammar
protected java.util.Set
markedStates
To prevent infinite recursion when walking state machines, record which states we've visited.protected java.lang.String
rankdir
static org.antlr.stringtemplate.StringTemplateGroup
stlib
Library of output templates; useformat static boolean
STRIP_NONREDUCED_STATES
-
Constructor Summary
Constructors Constructor Description DOTGenerator(Grammar grammar)
This aspect is associated with a grammar
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getArrowheadType()
java.lang.String
getDOT(State startState)
Return a String containing a DOT description that, when displayed, will show the incoming state machine visually.protected java.lang.String
getEdgeLabel(Transition edge)
Fix edge strings so they print out in DOT properly; generate any gated predicates on edge too.java.lang.String
getRankdir()
protected java.lang.String
getStateLabel(State s)
void
setArrowheadType(java.lang.String arrowhead)
void
setRankdir(java.lang.String rankdir)
protected void
walkCreatingDFADOT(org.antlr.stringtemplate.StringTemplate dot, DFAState s)
Do a depth-first walk of the state machine graph and fill a DOT description template.protected void
walkRuleNFACreatingDOT(org.antlr.stringtemplate.StringTemplate dot, State s)
Do a depth-first walk of the state machine graph and fill a DOT description template.
-
-
-
Field Detail
-
STRIP_NONREDUCED_STATES
public static final boolean STRIP_NONREDUCED_STATES
- See Also:
- Constant Field Values
-
arrowhead
protected java.lang.String arrowhead
-
rankdir
protected java.lang.String rankdir
-
stlib
public static org.antlr.stringtemplate.StringTemplateGroup stlib
Library of output templates; useformat
-
markedStates
protected java.util.Set markedStates
To prevent infinite recursion when walking state machines, record which states we've visited. Make a new set every time you start walking in case you reuse this object.
-
grammar
protected Grammar grammar
-
-
Constructor Detail
-
DOTGenerator
public DOTGenerator(Grammar grammar)
This aspect is associated with a grammar
-
-
Method Detail
-
getDOT
public java.lang.String getDOT(State startState)
Return a String containing a DOT description that, when displayed, will show the incoming state machine visually. All nodes reachable from startState will be included.
-
walkCreatingDFADOT
protected void walkCreatingDFADOT(org.antlr.stringtemplate.StringTemplate dot, DFAState s)
Do a depth-first walk of the state machine graph and fill a DOT description template. Keep filling the states and edges attributes.
-
walkRuleNFACreatingDOT
protected void walkRuleNFACreatingDOT(org.antlr.stringtemplate.StringTemplate dot, State s)
Do a depth-first walk of the state machine graph and fill a DOT description template. Keep filling the states and edges attributes. We know this is an NFA for a rule so don't traverse edges to other rules and don't go past rule end state.
-
getEdgeLabel
protected java.lang.String getEdgeLabel(Transition edge)
Fix edge strings so they print out in DOT properly; generate any gated predicates on edge too.
-
getStateLabel
protected java.lang.String getStateLabel(State s)
-
getArrowheadType
public java.lang.String getArrowheadType()
-
setArrowheadType
public void setArrowheadType(java.lang.String arrowhead)
-
getRankdir
public java.lang.String getRankdir()
-
setRankdir
public void setRankdir(java.lang.String rankdir)
-
-