/** Given List<Label>, return a String with a useful representation * of the associated input string. One could show something different * for lexers and parsers, for example. */ public String getInputSequenceDisplay(List<? extends Label> labels) { Grammar g = dfa.nfa.grammar; StringBuilder buf = new StringBuilder(); for (Iterator<? extends Label> it = labels.iterator(); it.hasNext();) { Label label = it.next(); buf.append(label.toString(g)); if ( it.hasNext() && g.type!=Grammar.LEXER ) { buf.append(' '); } } return buf.toString(); }
/** Given List<Label>, return a String with a useful representation * of the associated input string. One could show something different * for lexers and parsers, for example. */ public String getInputSequenceDisplay(List<? extends Label> labels) { Grammar g = dfa.nfa.grammar; StringBuilder buf = new StringBuilder(); for (Iterator<? extends Label> it = labels.iterator(); it.hasNext();) { Label label = it.next(); buf.append(label.toString(g)); if ( it.hasNext() && g.type!=Grammar.LEXER ) { buf.append(' '); } } return buf.toString(); }
/** Given List<Label>, return a String with a useful representation * of the associated input string. One could show something different * for lexers and parsers, for example. */ public String getInputSequenceDisplay(List labels) { Grammar g = dfa.nfa.grammar; StringBuffer buf = new StringBuffer(); for (Iterator it = labels.iterator(); it.hasNext();) { Label label = (Label) it.next(); buf.append(label.toString(g)); if ( it.hasNext() && g.type!=Grammar.LEXER ) { buf.append(' '); } } return buf.toString(); }
/** Given List<Label>, return a String with a useful representation * of the associated input string. One could show something different * for lexers and parsers, for example. */ public String getInputSequenceDisplay(List labels) { Grammar g = dfa.nfa.grammar; StringBuffer buf = new StringBuffer(); for (Iterator it = labels.iterator(); it.hasNext();) { Label label = (Label) it.next(); buf.append(label.toString(g)); if ( it.hasNext() && g.type!=Grammar.LEXER ) { buf.append(' '); } } return buf.toString(); }
buf.append("-").append(edge.label.toString(grammar)).append(predsStr).append("->");
buf.append("-").append(edge.label.toString(grammar)).append(predsStr).append("->");
buf.append("-"+edge.label.toString(grammar)+predsStr+"->");
buf.append("-"+edge.label.toString(grammar)+predsStr+"->");
/** Fix edge strings so they print out in DOT properly; * generate any gated predicates on edge too. */ protected String getEdgeLabel(Transition edge) { String label = edge.label.toString(grammar); label = Utils.replace(label,"\\", "\\\\"); label = Utils.replace(label,"\"", "\\\""); label = Utils.replace(label,"\n", "\\\\n"); label = Utils.replace(label,"\r", ""); if ( label.equals(Label.EPSILON_STR) ) { label = "e"; } State target = edge.target; if ( !edge.isSemanticPredicate() && target instanceof DFAState ) { // look for gated predicates; don't add gated to simple sempred edges SemanticContext preds = ((DFAState)target).getGatedPredicatesInNFAConfigurations(); if ( preds!=null ) { String predsStr = ""; predsStr = "&&{"+ preds.genExpr(grammar.generator, grammar.generator.getTemplates(), null).toString() +"}?"; label += predsStr; } } return label; }
/** Fix edge strings so they print out in DOT properly; * generate any gated predicates on edge too. */ protected String getEdgeLabel(Transition edge) { String label = edge.label.toString(grammar); label = Utils.replace(label,"\\", "\\\\"); label = Utils.replace(label,"\"", "\\\""); label = Utils.replace(label,"\n", "\\\\n"); label = Utils.replace(label,"\r", ""); if ( label.equals(Label.EPSILON_STR) ) { label = "e"; } State target = edge.target; if ( !edge.isSemanticPredicate() && target instanceof DFAState ) { // look for gated predicates; don't add gated to simple sempred edges SemanticContext preds = ((DFAState)target).getGatedPredicatesInNFAConfigurations(); if ( preds!=null ) { String predsStr = ""; predsStr = "&&{"+ preds.genExpr(grammar.generator, grammar.generator.getTemplates(), null).toString() +"}?"; label += predsStr; } } return label; }
/** Fix edge strings so they print out in DOT properly; * generate any gated predicates on edge too. */ protected String getEdgeLabel(Transition edge) { String label = edge.label.toString(grammar); label = Utils.replace(label,"\\", "\\\\"); label = Utils.replace(label,"\"", "\\\""); label = Utils.replace(label,"\n", "\\\\n"); label = Utils.replace(label,"\r", ""); if ( label.equals(Label.EPSILON_STR) ) { label = "e"; } State target = edge.target; if ( !edge.isSemanticPredicate() && target instanceof DFAState ) { // look for gated predicates; don't add gated to simple sempred edges SemanticContext preds = ((DFAState)target).getGatedPredicatesInNFAConfigurations(); if ( preds!=null ) { String predsStr; predsStr = "&&{"+ preds.genExpr(grammar.generator, grammar.generator.getTemplates(), null).render() +"}?"; label += predsStr; } } return label; }
/** Fix edge strings so they print out in DOT properly; * generate any gated predicates on edge too. */ protected String getEdgeLabel(Transition edge) { String label = edge.label.toString(grammar); label = Utils.replace(label,"\\", "\\\\"); label = Utils.replace(label,"\"", "\\\""); label = Utils.replace(label,"\n", "\\\\n"); label = Utils.replace(label,"\r", ""); if ( label.equals(Label.EPSILON_STR) ) { label = "e"; } State target = edge.target; if ( !edge.isSemanticPredicate() && target instanceof DFAState ) { // look for gated predicates; don't add gated to simple sempred edges SemanticContext preds = ((DFAState)target).getGatedPredicatesInNFAConfigurations(); if ( preds!=null ) { String predsStr; predsStr = "&&{"+ preds.genExpr(grammar.generator, grammar.generator.getTemplates(), null).render() +"}?"; label += predsStr; } } return label; }
if ( debug ) { System.out.println("DFA state after reach "+label+" "+d+"-" + label.toString(dfa.nfa.grammar)+"->"+t);
if ( debug ) { System.out.println("DFA state after reach "+label+" "+d+"-" + label.toString(dfa.nfa.grammar)+"->"+t);
if ( debug ) { System.out.println("DFA state after reach "+label+" "+d+"-" + label.toString(dfa.nfa.grammar)+"->"+t);
if ( debug ) { System.out.println("DFA state after reach "+label+" "+d+"-" + label.toString(dfa.nfa.grammar)+"->"+t);