}
@Override
public String getDOTString() throws Exception {
DecisionDFAEngine engine = window.decisionDFAEngine;
Grammar g;
int adjustedColumn = getDecisionColumn(g = engine.getDiscoveredParserGrammar());
if(adjustedColumn == -1)
adjustedColumn = getDecisionColumn(g = engine.getDiscoveredLexerGrammar());
if(adjustedColumn == -1)
throw new Exception("No decision in the current line");
CodeGenerator generator = new CodeGenerator(new Tool(), g,
(String) g.getOption("language"));
DFA dfa = g.getLookaheadDFAFromPositionInFile(line, adjustedColumn);
decisionNumber = dfa.getDecisionNumber();
DOTGenerator dg = new DOTGenerator(g);
g.setCodeGenerator(generator);
dg.setArrowheadType("none");
dg.setRankdir("LR"); // Left-to-right
return dg.getDOT( dfa.startState );
}