public String getDOT(ATNState startState) { return getDOT(startState, false); }
ST st = stlib.getInstanceOf("stopstate"); st.add("name", "s"+d.stateNumber); st.add("label", getStateLabel(d)); dot.add("states", st); ST st = stlib.getInstanceOf("state"); st.add("name", "s"+d.stateNumber); st.add("label", getStateLabel(d)); dot.add("states", st); int ttype = entry.getKey(); String label = String.valueOf(ttype); if ( isLexer ) label = "'"+getEdgeLabel(new StringBuilder().appendCodePoint(entry.getKey()).toString())+"'"; else if ( grammar!=null ) label = grammar.getTokenDisplayName(ttype); ST st = stlib.getInstanceOf("edge");
public void generateATNs(Grammar g) { DOTGenerator dotGenerator = new DOTGenerator(g); List<Grammar> grammars = new ArrayList<Grammar>(); grammars.add(g); List<Grammar> imported = g.getAllImportedGrammars(); if ( imported!=null ) grammars.addAll(imported); for (Grammar ig : grammars) { for (Rule r : ig.rules.values()) { try { String dot = dotGenerator.getDOT(g.atn.ruleToStartState[r.index], g.isLexer()); if (dot != null) { writeDOTFile(g, r, dot); } } catch (IOException ioe) { errMgr.toolError(ErrorType.CANNOT_WRITE_FILE, ioe); } } } }
ST st = stlib.getInstanceOf("stopstate"); st.add("name", "s"+d.stateNumber); st.add("label", getStateLabel(d)); dot.add("states", st); ST st = stlib.getInstanceOf("state"); st.add("name", "s"+d.stateNumber); st.add("label", getStateLabel(d)); dot.add("states", st); int ttype = i-1; // we shift up for EOF as -1 for parser String label = String.valueOf(ttype); if ( isLexer ) label = "'"+getEdgeLabel(new StringBuilder().appendCodePoint(i).toString())+"'"; else if ( grammar!=null ) label = grammar.getTokenDisplayName(ttype); ST st = stlib.getInstanceOf("edge");
public void generateATNs(Grammar g) { DOTGenerator dotGenerator = new DOTGenerator(g); List<Grammar> grammars = new ArrayList<Grammar>(); grammars.add(g); List<Grammar> imported = g.getAllImportedGrammars(); if ( imported!=null ) grammars.addAll(imported); for (Grammar ig : grammars) { for (Rule r : ig.rules.values()) { try { String dot = dotGenerator.getDOT(g.atn.ruleToStartState[r.index], g.isLexer()); if (dot != null) { writeDOTFile(g, r, dot); } } catch (IOException ioe) { errMgr.toolError(ErrorType.CANNOT_WRITE_FILE, ioe); } } } }
ST st = stlib.getInstanceOf("stopstate"); st.add("name", "s"+d.stateNumber); st.add("label", getStateLabel(d)); dot.add("states", st); ST st = stlib.getInstanceOf("state"); st.add("name", "s"+d.stateNumber); st.add("label", getStateLabel(d)); dot.add("states", st); int ttype = i-1; // we shift up for EOF as -1 for parser String label = String.valueOf(ttype); if ( isLexer ) label = "'"+getEdgeLabel(new StringBuilder().appendCodePoint(i).toString())+"'"; else if ( grammar!=null ) label = grammar.getTokenDisplayName(ttype); ST st = stlib.getInstanceOf("edge");
public void generateATNs(Grammar g) { DOTGenerator dotGenerator = new DOTGenerator(g); List<Grammar> grammars = new ArrayList<Grammar>(); grammars.add(g); List<Grammar> imported = g.getAllImportedGrammars(); if ( imported!=null ) grammars.addAll(imported); for (Grammar ig : grammars) { for (Rule r : ig.rules.values()) { try { String dot = dotGenerator.getDOT(g.atn.ruleToStartState[r.index], g.isLexer()); if (dot != null) { writeDOTFile(g, r, dot); } } catch (IOException ioe) { errMgr.toolError(ErrorType.CANNOT_WRITE_FILE, ioe); } } } }
public String getDOT(ATNState startState) { return getDOT(startState, false); }
ST st = stlib.getInstanceOf("stopstate"); st.add("name", "s"+d.stateNumber); st.add("label", getStateLabel(d)); dot.add("states", st); ST st = stlib.getInstanceOf("state"); st.add("name", "s"+d.stateNumber); st.add("label", getStateLabel(d)); dot.add("states", st); int ttype = i-1; // we shift up for EOF as -1 for parser String label = String.valueOf(ttype); if ( isLexer ) label = "'"+getEdgeLabel(String.valueOf((char) i))+"'"; else if ( grammar!=null ) label = grammar.getTokenDisplayName(ttype); ST st = stlib.getInstanceOf("edge");
public void generateATNs(Grammar g) { DOTGenerator dotGenerator = new DOTGenerator(g); List<Grammar> grammars = new ArrayList<Grammar>(); grammars.add(g); List<Grammar> imported = g.getAllImportedGrammars(); if ( imported!=null ) grammars.addAll(imported); for (Grammar ig : grammars) { for (Rule r : ig.rules.values()) { try { String dot = dotGenerator.getDOT(g.atn.ruleToStartState[r.index], g.isLexer()); if (dot != null) { writeDOTFile(g, r, dot); } } catch (IOException ioe) { errMgr.toolError(ErrorType.CANNOT_WRITE_FILE, ioe); } } } }
public String getDOT(ATNState startState) { return getDOT(startState, false); }
ST st = stlib.getInstanceOf("stopstate"); st.add("name", "s"+d.stateNumber); st.add("label", getStateLabel(d)); dot.add("states", st); ST st = stlib.getInstanceOf("state"); st.add("name", "s"+d.stateNumber); st.add("label", getStateLabel(d)); dot.add("states", st); int ttype = i-1; // we shift up for EOF as -1 for parser String label = String.valueOf(ttype); if ( isLexer ) label = "'"+getEdgeLabel(String.valueOf((char) i))+"'"; else if ( grammar!=null ) label = grammar.getTokenDisplayName(ttype); ST st = stlib.getInstanceOf("edge");
public void generateATNs(Grammar g) { DOTGenerator dotGenerator = new DOTGenerator(g); List<Grammar> grammars = new ArrayList<Grammar>(); grammars.add(g); List<Grammar> imported = g.getAllImportedGrammars(); if ( imported!=null ) grammars.addAll(imported); for (Grammar ig : grammars) { for (Rule r : ig.rules.values()) { try { String dot = dotGenerator.getDOT(g.atn.ruleToStartState[r.index], g.isLexer()); if (dot != null) { writeDOTFile(g, r, dot); } } catch (IOException ioe) { errMgr.toolError(ErrorType.CANNOT_WRITE_FILE, ioe); } } } }
public String getDOT(ATNState startState) { return getDOT(startState, false); }
edgeST.add("label", getEdgeLabel(edge.toString())); edgeST.add("label", getEdgeLabel(edge.toString())); edgeST.add("label", getEdgeLabel(edge.toString())); boolean loopback = false; if (edge.target instanceof PlusBlockStartState) { AtomTransition atom = (AtomTransition)edge; String label = String.valueOf(atom.label); if ( isLexer ) label = "'"+getEdgeLabel(new StringBuilder().appendCodePoint(atom.label).toString())+"'"; else if ( grammar!=null ) label = grammar.getTokenDisplayName(atom.label); edgeST.add("label", getEdgeLabel(label)); else if ( grammar!=null ) label = set.label().toString(grammar.getVocabulary()); if ( edge instanceof NotSetTransition ) label = "~"+label; edgeST.add("label", getEdgeLabel(label)); if ( isLexer ) label = range.toString(); else if ( grammar!=null ) label = range.label().toString(grammar.getVocabulary()); edgeST.add("label", getEdgeLabel(label)); edgeST.add("label", getEdgeLabel(edge.toString())); ST st = stlib.getInstanceOf("stopstate"); st.add("name", "s"+s.stateNumber); st.add("label", getStateLabel(s)); dot.add("states", st);
public String getDOT(ATNState startState) { return getDOT(startState, false); }
edgeST.add("label", getEdgeLabel(edge.toString())); edgeST.add("label", getEdgeLabel(edge.toString())); edgeST.add("label", getEdgeLabel(edge.toString())); boolean loopback = false; if (edge.target instanceof PlusBlockStartState) { AtomTransition atom = (AtomTransition)edge; String label = String.valueOf(atom.label); if ( isLexer ) label = "'"+getEdgeLabel(new StringBuilder().appendCodePoint(atom.label).toString())+"'"; else if ( grammar!=null ) label = grammar.getTokenDisplayName(atom.label); edgeST.add("label", getEdgeLabel(label)); else if ( grammar!=null ) label = set.label().toString(grammar.getVocabulary()); if ( edge instanceof NotSetTransition ) label = "~"+label; edgeST.add("label", getEdgeLabel(label)); if ( isLexer ) label = range.toString(); else if ( grammar!=null ) label = range.label().toString(grammar.getVocabulary()); edgeST.add("label", getEdgeLabel(label)); edgeST.add("label", getEdgeLabel(edge.toString())); ST st = stlib.getInstanceOf("stopstate"); st.add("name", "s"+s.stateNumber); st.add("label", getStateLabel(s)); dot.add("states", st);
public String getDOT(ATNState startState, boolean isLexer) { Set<String> ruleNames = grammar.rules.keySet(); String[] names = new String[ruleNames.size()+1]; int i = 0; for (String s : ruleNames) names[i++] = s; return getDOT(startState, names, isLexer); }
edgeST.add("label", getEdgeLabel(edge.toString())); edgeST.add("label", getEdgeLabel(edge.toString())); edgeST.add("label", getEdgeLabel(edge.toString())); boolean loopback = false; if (edge.target instanceof PlusBlockStartState) { AtomTransition atom = (AtomTransition)edge; String label = String.valueOf(atom.label); if ( isLexer ) label = "'"+getEdgeLabel(String.valueOf((char)atom.label))+"'"; else if ( grammar!=null ) label = grammar.getTokenDisplayName(atom.label); edgeST.add("label", getEdgeLabel(label)); else if ( grammar!=null ) label = set.label().toString(grammar.getVocabulary()); if ( edge instanceof NotSetTransition ) label = "~"+label; edgeST.add("label", getEdgeLabel(label)); if ( isLexer ) label = range.toString(); else if ( grammar!=null ) label = range.label().toString(grammar.getVocabulary()); edgeST.add("label", getEdgeLabel(label)); edgeST.add("label", getEdgeLabel(edge.toString())); ST st = stlib.getInstanceOf("stopstate"); st.add("name", "s"+s.stateNumber); st.add("label", getStateLabel(s)); dot.add("states", st);
public String getDOT(ATNState startState, boolean isLexer) { Set<String> ruleNames = grammar.rules.keySet(); String[] names = new String[ruleNames.size()+1]; int i = 0; for (String s : ruleNames) names[i++] = s; return getDOT(startState, names, isLexer); }