public void optimize() { // optimize each DFA in this grammar for (int decisionNumber=1; decisionNumber<=grammar.getNumberOfDecisions(); decisionNumber++) { DFA dfa = grammar.getLookaheadDFA(decisionNumber); optimize(dfa); } }
public void optimize() { // optimize each DFA in this grammar for (int decisionNumber=1; decisionNumber<=grammar.getNumberOfDecisions(); decisionNumber++) { DFA dfa = grammar.getLookaheadDFA(decisionNumber); optimize(dfa); } }
public void optimize() { // optimize each DFA in this grammar for (int decisionNumber=1; decisionNumber<=grammar.getNumberOfDecisions(); decisionNumber++) { DFA dfa = grammar.getLookaheadDFA(decisionNumber); optimize(dfa); } }
public void optimize() { // optimize each DFA in this grammar for (int decisionNumber=1; decisionNumber<=grammar.getNumberOfDecisions(); decisionNumber++) { DFA dfa = grammar.getLookaheadDFA(decisionNumber); optimize(dfa); } }
public void generateDFAs(Grammar g) { for (int d = 1; d <= g.getNumberOfDecisions(); d++) { DFA dfa = g.getLookaheadDFA(d); if (dfa == null) { continue; // not there for some reason, ignore } DOTGenerator dotGenerator = new DOTGenerator(g); String dot = dotGenerator.getDOT(dfa.startState); String dotFileName = g.name + "." + "dec-" + d; if (g.implicitLexer) { dotFileName = g.name + Grammar.grammarTypeToFileNameSuffix[g.type] + "." + "dec-" + d; } try { writeDOTFile(g, dotFileName, dot); } catch (IOException ioe) { ErrorManager.error(ErrorManager.MSG_CANNOT_GEN_DOT_FILE, dotFileName, ioe); } } }
public void generateDFAs(Grammar g) { for (int d = 1; d <= g.getNumberOfDecisions(); d++) { DFA dfa = g.getLookaheadDFA(d); if (dfa == null) { continue; // not there for some reason, ignore } DOTGenerator dotGenerator = new DOTGenerator(g); String dot = dotGenerator.getDOT(dfa.startState); String dotFileName = g.name + "." + "dec-" + d; if (g.implicitLexer) { dotFileName = g.name + Grammar.grammarTypeToFileNameSuffix[g.type] + "." + "dec-" + d; } try { writeDOTFile(g, dotFileName, dot); } catch (IOException ioe) { ErrorManager.error(ErrorManager.MSG_CANNOT_GEN_DOT_FILE, dotFileName, ioe); } } }
public void generateDFAs(Grammar g) { for (int d = 1; d <= g.getNumberOfDecisions(); d++) { DFA dfa = g.getLookaheadDFA(d); if (dfa == null) { continue; // not there for some reason, ignore } DOTGenerator dotGenerator = new DOTGenerator(g); String dot = dotGenerator.getDOT(dfa.startState); String dotFileName = g.name + "." + "dec-" + d; if (g.implicitLexer) { dotFileName = g.name + Grammar.grammarTypeToFileNameSuffix[g.type] + "." + "dec-" + d; } try { writeDOTFile(g, dotFileName, dot); } catch (IOException ioe) { ErrorManager.error(ErrorManager.MSG_CANNOT_GEN_DOT_FILE, dotFileName, ioe); } } }
public void generateDFAs(Grammar g) { for (int d = 1; d <= g.getNumberOfDecisions(); d++) { DFA dfa = g.getLookaheadDFA(d); if (dfa == null) { continue; // not there for some reason, ignore } DOTGenerator dotGenerator = new DOTGenerator(g); String dot = dotGenerator.getDOT(dfa.startState); String dotFileName = g.name + "." + "dec-" + d; if (g.implicitLexer) { dotFileName = g.name + Grammar.grammarTypeToFileNameSuffix[g.type] + "." + "dec-" + d; } try { writeDOTFile(g, dotFileName, dot); } catch (IOException ioe) { ErrorManager.error(ErrorManager.MSG_CANNOT_GEN_DOT_FILE, dotFileName, ioe); } } }
@Override public String getDOTString() throws Exception { ANTLRGrammarEngine eg = window.getGrammarEngine().getANTLRGrammarEngine(); eg.analyze(); Grammar g = eg.getLexerGrammar(); if(g == null) { throw new Exception("Cannot show tokens DFA because there is no lexer grammar"); } Rule r = g.getRule(Grammar.ARTIFICIAL_TOKENS_RULENAME); NFAState s = (NFAState)r.startState.transition(0).target; DFA dfa = g.getLookaheadDFA(s.getDecisionNumber()); DOTGenerator dg = new DOTGenerator(g); dg.setArrowheadType("none"); dg.setRankdir("LR"); // Left-to-right return dg.getDOT( dfa.startState ); }
DFA dfa = s.nfa.grammar.getLookaheadDFA(s.getDecisionNumber());
DFA dfa = s.nfa.grammar.getLookaheadDFA(s.getDecisionNumber());
DFA dfa = s.nfa.grammar.getLookaheadDFA(s.getDecisionNumber());
DFA dfa = s.nfa.grammar.getLookaheadDFA(s.getDecisionNumber());