use of org.antlr.v4.runtime.atn.PredictionContext in project antlr4 by antlr.
the class TestGraphNodes method test_ax_bx.
@Test
public void test_ax_bx() {
PredictionContext x1 = x();
PredictionContext x2 = x();
PredictionContext a = createSingleton(x1, 1);
PredictionContext b = createSingleton(x2, 2);
PredictionContext r = PredictionContext.merge(a, b, rootIsWildcard(), null);
// System.out.println(toDOTString(r, rootIsWildcard()));
String expecting = "digraph G {\n" + "rankdir=LR;\n" + " s0[shape=record, label=\"<p0>|<p1>\"];\n" + " s1[label=\"1\"];\n" + " s2[label=\"*\"];\n" + " s0:p0->s1[label=\"1\"];\n" + " s0:p1->s1[label=\"2\"];\n" + " s1->s2[label=\"9\"];\n" + "}\n";
assertEquals(expecting, toDOTString(r, rootIsWildcard()));
}
use of org.antlr.v4.runtime.atn.PredictionContext in project antlr4 by antlr.
the class TestGraphNodes method test_Aaubv_Acwdx.
@Test
public void test_Aaubv_Acwdx() {
// au,bv + cw,dx -> [a,b,c,d]->[u,v,w,x]
SingletonPredictionContext a = createSingleton(u(), 1);
SingletonPredictionContext b = createSingleton(v(), 2);
SingletonPredictionContext c = createSingleton(w(), 3);
SingletonPredictionContext d = createSingleton(x(), 4);
ArrayPredictionContext A1 = array(a, b);
ArrayPredictionContext A2 = array(c, d);
PredictionContext r = PredictionContext.merge(A1, A2, rootIsWildcard(), null);
// System.out.println(toDOTString(r, rootIsWildcard()));
String expecting = "digraph G {\n" + "rankdir=LR;\n" + " s0[shape=record, label=\"<p0>|<p1>|<p2>|<p3>\"];\n" + " s4[label=\"4\"];\n" + " s5[label=\"*\"];\n" + " s3[label=\"3\"];\n" + " s2[label=\"2\"];\n" + " s1[label=\"1\"];\n" + " s0:p0->s1[label=\"1\"];\n" + " s0:p1->s2[label=\"2\"];\n" + " s0:p2->s3[label=\"3\"];\n" + " s0:p3->s4[label=\"4\"];\n" + " s4->s5[label=\"9\"];\n" + " s3->s5[label=\"8\"];\n" + " s2->s5[label=\"7\"];\n" + " s1->s5[label=\"6\"];\n" + "}\n";
assertEquals(expecting, toDOTString(r, rootIsWildcard()));
}
use of org.antlr.v4.runtime.atn.PredictionContext in project antlr4 by antlr.
the class TestGraphNodes method test_Aaubv_Abwdx.
@Test
public void test_Aaubv_Abwdx() {
// au,bv + bw,dx -> [a,b,d]->[u,[v,w],x]
SingletonPredictionContext a = createSingleton(u(), 1);
SingletonPredictionContext b1 = createSingleton(v(), 2);
SingletonPredictionContext b2 = createSingleton(w(), 2);
SingletonPredictionContext d = createSingleton(x(), 4);
ArrayPredictionContext A1 = array(a, b1);
ArrayPredictionContext A2 = array(b2, d);
PredictionContext r = PredictionContext.merge(A1, A2, rootIsWildcard(), null);
// System.out.println(toDOTString(r, rootIsWildcard()));
String expecting = "digraph G {\n" + "rankdir=LR;\n" + " s0[shape=record, label=\"<p0>|<p1>|<p2>\"];\n" + " s3[label=\"3\"];\n" + " s4[label=\"*\"];\n" + " s2[shape=record, label=\"<p0>|<p1>\"];\n" + " s1[label=\"1\"];\n" + " s0:p0->s1[label=\"1\"];\n" + " s0:p1->s2[label=\"2\"];\n" + " s0:p2->s3[label=\"4\"];\n" + " s3->s4[label=\"9\"];\n" + " s2:p0->s4[label=\"7\"];\n" + " s2:p1->s4[label=\"8\"];\n" + " s1->s4[label=\"6\"];\n" + "}\n";
assertEquals(expecting, toDOTString(r, rootIsWildcard()));
}
use of org.antlr.v4.runtime.atn.PredictionContext in project antlr4 by antlr.
the class TestGraphNodes method test_$_$.
@Test
public void test_$_$() {
PredictionContext r = PredictionContext.merge(PredictionContext.EMPTY, PredictionContext.EMPTY, rootIsWildcard(), null);
// System.out.println(toDOTString(r, rootIsWildcard()));
String expecting = "digraph G {\n" + "rankdir=LR;\n" + " s0[label=\"*\"];\n" + "}\n";
assertEquals(expecting, toDOTString(r, rootIsWildcard()));
}
use of org.antlr.v4.runtime.atn.PredictionContext in project antlr4 by antlr.
the class TestGraphNodes method test_A$_A$_fullctx.
// Array merges
@Test
public void test_A$_A$_fullctx() {
ArrayPredictionContext A1 = array(PredictionContext.EMPTY);
ArrayPredictionContext A2 = array(PredictionContext.EMPTY);
PredictionContext r = PredictionContext.merge(A1, A2, fullCtx(), null);
// System.out.println(toDOTString(r, fullCtx()));
String expecting = "digraph G {\n" + "rankdir=LR;\n" + " s0[label=\"$\"];\n" + "}\n";
assertEquals(expecting, toDOTString(r, fullCtx()));
}
Aggregations