Search in sources :

Example 21 with Tuple4

use of org.jparsec.functors.Tuple4 in project fql by CategoricalData.

the class FQLParser method program.

@SuppressWarnings({ "rawtypes", "unchecked" })
public static FQLProgram program(String s) {
    List<NewDecl> ret = new LinkedList<>();
    List decls = (List) program.parse(s);
    for (Object d : decls) {
        org.jparsec.functors.Pair pr = (org.jparsec.functors.Pair) d;
        Object decl = pr.b;
        String txt = pr.a.toString();
        int idx = s.indexOf(txt);
        if (idx < 0) {
            throw new RuntimeException();
        }
        if (decl instanceof org.jparsec.functors.Pair) {
            org.jparsec.functors.Pair p = (org.jparsec.functors.Pair) decl;
            if (p.a.toString().equals("drop")) {
                ret.add(NewDecl.dropDecl((List<String>) p.b));
                continue;
            }
        }
        Tuple3 t = (Tuple3) decl;
        String kind = t.a.toString();
        switch(kind) {
            case "enum":
                Tuple4 tte = (Tuple4) decl;
                String name = (String) tte.b;
                List<String> values = (List<String>) tte.d;
                ret.add(NewDecl.typeDecl(name, values, idx));
                break;
            case "query":
                Tuple4 tta = (Tuple4) decl;
                name = (String) tta.b;
                ret.add(NewDecl.queryDecl(name, idx, toQuery(tta.d)));
                break;
            case "QUERY":
                tta = (Tuple4) decl;
                name = (String) tta.b;
                ret.add(NewDecl.fullQuery(name, toFullQuery(tta.d), idx));
                break;
            case "schema":
                Tuple4 tt = (Tuple4) decl;
                name = (String) tt.b;
                ret.add(NewDecl.sigDecl(name, idx, toSchema(tt.d)));
                break;
            case "instance":
                Tuple4 tt0 = (Tuple4) decl;
                name = (String) t.b;
                NewDecl toAdd = NewDecl.instDecl(name, idx, toInst(tt0.d));
                ret.add(toAdd);
                break;
            case "mapping":
                Tuple4 t0 = (Tuple4) decl;
                name = (String) t.b;
                ret.add(NewDecl.mapDecl(name, idx, toMapping(t0.d)));
                break;
            case "transform":
                Tuple4 tx = (Tuple4) decl;
                name = (String) tx.b;
                ret.add(NewDecl.transDecl(name, idx, toTrans(tx.d)));
                break;
            default:
                throw new RuntimeException("Unknown decl: " + kind);
        }
    }
    return new FQLProgram(ret);
}
Also used : NewDecl(catdata.fql.decl.FQLProgram.NewDecl) Tuple4(org.jparsec.functors.Tuple4) Tuple3(org.jparsec.functors.Tuple3) FQLProgram(catdata.fql.decl.FQLProgram) Pair(catdata.Pair)

Example 22 with Tuple4

use of org.jparsec.functors.Tuple4 in project fql by CategoricalData.

the class FQLParser method toInst.

@SuppressWarnings("rawtypes")
private static InstExp toInst(Object o) {
    try {
        Tuple4 t = (Tuple4) o;
        Token z = (Token) t.a;
        String y = z.toString();
        if (y.equals("step")) {
            return new Step(t.d.toString(), toMapping(t.b), toMapping(t.c));
        }
    } catch (RuntimeException cce) {
    }
    try {
        Tuple3 t = (Tuple3) o;
        Token z = (Token) t.a;
        String y = z.toString();
        switch(y) {
            case "delta":
                return new InstExp.Delta(toMapping(t.b), t.c.toString());
            case "sigma":
                return new InstExp.Sigma(toMapping(t.b), t.c.toString());
            case "SIGMA":
                return new FullSigma(toMapping(t.b), t.c.toString());
            case "pi":
                return new InstExp.Pi(toMapping(t.b), t.c.toString());
            case "external":
                return new External(toSchema(t.b), t.c.toString());
            case "eval":
                return new Eval(toQuery(t.b), t.c.toString());
            case "EVAL":
                return new FullEval(toFullQuery(t.b), t.c.toString());
            default:
                break;
        }
    } catch (RuntimeException cce) {
    }
    try {
        Tuple3 t = (Tuple3) o;
        Token z = (Token) t.b;
        String y = z.toString();
        if (y.equals("+")) {
            return new Plus(t.a.toString(), t.c.toString());
        } else if (y.equals("*")) {
            return new Times(t.a.toString(), t.c.toString());
        }
        if (y.equals("^")) {
            return new Exp(t.a.toString(), (t.c).toString());
        }
    } catch (RuntimeException cce) {
    }
    try {
        org.jparsec.functors.Pair pr = (org.jparsec.functors.Pair) o;
        if (pr.a.toString().equals("unit")) {
            return new One(toSchema(pr.b));
        } else if (pr.a.toString().equals("void")) {
            return new Zero(toSchema(pr.b));
        } else if (pr.a.toString().equals("prop")) {
            return new Two(toSchema(pr.b));
        } else if (pr.a.toString().equals("relationalize")) {
            return new Relationalize(pr.b.toString());
        } else if (pr.a.toString().equals("kernel")) {
            return new Kernel(pr.b.toString());
        }
        throw new RuntimeException();
    } catch (RuntimeException cce) {
    }
    return toInstConst(o);
}
Also used : FullEval(catdata.fql.decl.InstExp.FullEval) Sigma(catdata.fql.decl.FullQueryExp.Sigma) FullSigma(catdata.fql.decl.InstExp.FullSigma) One(catdata.fql.decl.InstExp.One) Token(org.jparsec.Token) Step(catdata.fql.decl.InstExp.Step) Pi(catdata.fql.decl.FullQueryExp.Pi) Plus(catdata.fql.decl.InstExp.Plus) TransEval(catdata.fql.decl.TransExp.TransEval) FullEval(catdata.fql.decl.InstExp.FullEval) Eval(catdata.fql.decl.InstExp.Eval) Kernel(catdata.fql.decl.InstExp.Kernel) Pair(catdata.Pair) Relationalize(catdata.fql.decl.InstExp.Relationalize) Zero(catdata.fql.decl.InstExp.Zero) Two(catdata.fql.decl.InstExp.Two) Tuple4(org.jparsec.functors.Tuple4) Delta(catdata.fql.decl.FullQueryExp.Delta) Tuple3(org.jparsec.functors.Tuple3) Times(catdata.fql.decl.InstExp.Times) External(catdata.fql.decl.InstExp.External) FullSigma(catdata.fql.decl.InstExp.FullSigma) FullQueryExp(catdata.fql.decl.FullQueryExp) Exp(catdata.fql.decl.InstExp.Exp) MapExp(catdata.fql.decl.MapExp) TransExp(catdata.fql.decl.TransExp) QueryExp(catdata.fql.decl.QueryExp) SigExp(catdata.fql.decl.SigExp) InstExp(catdata.fql.decl.InstExp)

Example 23 with Tuple4

use of org.jparsec.functors.Tuple4 in project fql by CategoricalData.

the class FQLParser method toTrans.

@SuppressWarnings("rawtypes")
private static TransExp toTrans(Object o) {
    try {
        Tuple4 p = (Tuple4) o;
        String src = p.b.toString();
        String dst = p.c.toString();
        TransExp h = toTrans(p.d);
        String kind = p.a.toString();
        switch(kind) {
            case "delta":
                return new TransExp.Delta(h, src, dst);
            case "pi":
                return new TransExp.Pi(h, src, dst);
            case "sigma":
                return new TransExp.Sigma(h, src, dst);
            case "relationalize":
                return new TransExp.Relationalize(h, src, dst);
            default:
                throw new RuntimeException(o.toString());
        }
    } catch (RuntimeException ex) {
    }
    try {
        Tuple4 p = (Tuple4) o;
        String src = p.b.toString();
        String dst = p.c.toString();
        String name = p.d.toString();
        String kind = p.a.toString();
        switch(kind) {
            case "external":
                return new TransExp.External(src, dst, name);
            case "SIGMA":
                return new TransExp.FullSigma(name, src, dst);
            default:
                throw new RuntimeException(o.toString());
        }
    } catch (RuntimeException ex) {
    }
    try {
        Tuple4 p = (Tuple4) o;
        String obj = p.a.toString();
        String dst = p.d.toString();
        if (p.c.toString().equals("void")) {
            return new TransExp.FF(obj, dst);
        } else if (p.c.toString().equals("unit")) {
            return new TransExp.TT(obj, dst);
        } else if (p.c.toString().equals("curry")) {
            return new TransCurry(obj, dst);
        } else if (p.c.toString().equals("true")) {
            return new Bool(true, dst, obj);
        } else if (p.c.toString().equals("false")) {
            return new Bool(false, dst, obj);
        } else if (p.c.toString().equals("char")) {
            return new Chi(obj, dst);
        }
    } catch (RuntimeException re) {
    }
    try {
        Tuple3 p = (Tuple3) o;
        Object p2 = p.b;
        Object p3 = p.c;
        Object o1 = p.a;
        String p1 = p.a.toString();
        if (p1.equals("iso1")) {
            return new TransIso(true, p2.toString(), p3.toString());
        } else if (p1.equals("iso2")) {
            return new TransIso(false, p2.toString(), p3.toString());
        } else if (p3.toString().equals("fst")) {
            return new TransExp.Fst(p1);
        } else if (p3.toString().equals("not")) {
            return new Not(p1);
        } else if (p3.toString().equals("and")) {
            return new And(p1);
        } else if (p3.toString().equals("or")) {
            return new Or(p1);
        } else if (p3.toString().equals("implies")) {
            return new Implies(p1);
        } else if (p3.toString().equals("eval")) {
            return new TransEval(p1);
        } else if (p3.toString().equals("relationalize")) {
            return new Squash(p1);
        } else if (p3.toString().equals("snd")) {
            return new TransExp.Snd(p1);
        } else if (p3.toString().equals("return")) {
            return new Return(p1);
        } else if (p3.toString().equals("coreturn")) {
            return new Coreturn(p1);
        } else if (p3.toString().equals("inl")) {
            return new TransExp.Inl(p1);
        } else if (p3.toString().equals("kernel")) {
            return new UnChi(p1);
        } else if (p3.toString().equals("inr")) {
            return new TransExp.Inr(p1);
        } else if (p2.toString().equals("then")) {
            return new TransExp.Comp(toTrans(o1), toTrans(p3));
        } else if (p3 instanceof Tuple3) {
            Tuple3 y = (Tuple3) p3;
            String x = y.b.toString();
            switch(x) {
                case "+":
                    return new TransExp.Case(p1, toTrans(y.a), toTrans(y.c));
                case "*":
                    return new TransExp.Prod(p1, toTrans(y.a), toTrans(y.c));
                // return new TransExp.(p1, toTrans(y.a), toTrans(y.c));
                default:
                    throw new RuntimeException("foo");
            }
        }
    } catch (RuntimeException re) {
    }
    try {
        Tuple5 p = (Tuple5) o;
        Object p2 = p.c;
        Object p3 = p.e;
        Object o1 = p.a;
        return toTransConst(o1, p2.toString(), p3.toString());
    } catch (RuntimeException re) {
    }
    try {
        org.jparsec.functors.Pair p = (org.jparsec.functors.Pair) o;
        String p1 = p.a.toString();
        Object p2 = p.b;
        if (p1.equals("id")) {
            return new TransExp.Id(p2.toString());
        }
    } catch (RuntimeException re) {
    }
    if (o instanceof String) {
        return new TransExp.Var(o.toString());
    }
    throw new RuntimeException();
}
Also used : FF(catdata.fql.decl.MapExp.FF) Or(catdata.fql.decl.TransExp.Or) Chi(catdata.fql.decl.TransExp.Chi) UnChi(catdata.fql.decl.TransExp.UnChi) Inl(catdata.fql.decl.MapExp.Inl) Var(catdata.fql.decl.FullQueryExp.Var) TransExp(catdata.fql.decl.TransExp) Sigma(catdata.fql.decl.FullQueryExp.Sigma) FullSigma(catdata.fql.decl.InstExp.FullSigma) UnChi(catdata.fql.decl.TransExp.UnChi) Inr(catdata.fql.decl.MapExp.Inr) Squash(catdata.fql.decl.TransExp.Squash) Case(catdata.fql.decl.MapExp.Case) Prod(catdata.fql.decl.MapExp.Prod) Implies(catdata.fql.decl.TransExp.Implies) Bool(catdata.fql.decl.TransExp.Bool) Pi(catdata.fql.decl.FullQueryExp.Pi) Pair(catdata.Pair) Relationalize(catdata.fql.decl.InstExp.Relationalize) Return(catdata.fql.decl.TransExp.Return) TransEval(catdata.fql.decl.TransExp.TransEval) Fst(catdata.fql.decl.MapExp.Fst) TransCurry(catdata.fql.decl.TransExp.TransCurry) Coreturn(catdata.fql.decl.TransExp.Coreturn) TransIso(catdata.fql.decl.TransExp.TransIso) Tuple4(org.jparsec.functors.Tuple4) Tuple5(org.jparsec.functors.Tuple5) Not(catdata.fql.decl.TransExp.Not) Delta(catdata.fql.decl.FullQueryExp.Delta) And(catdata.fql.decl.TransExp.And) Tuple3(org.jparsec.functors.Tuple3) External(catdata.fql.decl.InstExp.External) FullSigma(catdata.fql.decl.InstExp.FullSigma) Id(catdata.fql.decl.MapExp.Id)

Example 24 with Tuple4

use of org.jparsec.functors.Tuple4 in project fql by CategoricalData.

the class PPParser method toTrans.

// : ** notation
private static TransExp toTrans(Object o) {
    try {
        Tuple5 t = (Tuple5) o;
        if (t.a.toString().equals("apply")) {
            FunctorExp f = toFtr(t.b);
            if (t.d.toString().equals("arrow")) {
                TransExp e = toTrans(t.e);
                return new TransExp.Apply(f, e);
            } else {
                Tuple3 t3 = (Tuple3) t.e;
                List<String> l = (List<String>) t3.a;
                return new ApplyPath(f, l.remove(0), l, toCat(t3.c));
            }
        }
        Tuple5 a = (Tuple5) t.c;
        Tuple5 b = (Tuple5) t.e;
        if (a.c.toString().equals("Set") && a.e.toString().equals("Set") && b.c.toString().equals("Set") && b.e.toString().equals("Set")) {
            Tuple3 z = (Tuple3) ((org.jparsec.functors.Pair) t.a).b;
            FunctorExp src = toFtr(a.a);
            FunctorExp dst = toFtr(b.a);
            String ob = z.a.toString();
            FnExp fun = toFn(z.c);
            return new SetSet(ob, fun, src, dst);
        } else if (a.e.toString().equals("Set") && b.e.toString().equals("Set")) {
            FunctorExp src = toFtr(a.a);
            FunctorExp dst = toFtr(b.a);
            List<Object> ob = (List<Object>) ((org.jparsec.functors.Pair) t.a).b;
            Map<String, Chc<FnExp, SetExp>> fun = new HashMap<>();
            for (Object ttt : ob) {
                if (fun.containsKey(o)) {
                    throw new RuntimeException("Duplicate arrow: " + ttt + " in " + o);
                }
                Tuple3 u = (Tuple3) ttt;
                String n = (String) u.a;
                try {
                    fun.put(n, Chc.inLeft(toFn(u.c)));
                } catch (Exception yyy) {
                    fun.put(n, Chc.inRight(toSet(u.c)));
                }
            }
            return new ToSet(fun, src, dst);
        } else if (a.e.toString().equals("Cat") && b.e.toString().equals("Cat")) {
            FunctorExp src = toFtr(a.a);
            FunctorExp dst = toFtr(b.a);
            List<Object> ob = (List<Object>) ((org.jparsec.functors.Pair) t.a).b;
            Map<String, FunctorExp> fun = new HashMap<>();
            for (Object ttt : ob) {
                if (fun.containsKey(o)) {
                    throw new RuntimeException("Duplicate arrow: " + ttt + " in " + o);
                }
                Tuple3 u = (Tuple3) ttt;
                String n = (String) u.a;
                fun.put(n, toFtr(u.c));
            }
            return new ToCat(fun, src, dst);
        } else {
            try {
                FunctorExp src = toFtr(a.a);
                FunctorExp dst = toFtr(b.a);
                List<Object> ob = (List<Object>) ((org.jparsec.functors.Pair) t.a).b;
                Map<String, TransExp> fun = new HashMap<>();
                for (Object ttt : ob) {
                    if (fun.containsKey(o)) {
                        throw new RuntimeException("Duplicate arrow: " + ttt + " in " + o);
                    }
                    Tuple3 u = (Tuple3) ttt;
                    String n = (String) u.a;
                    fun.put(n, toTrans(u.c));
                }
                return new ToInst(fun, src, dst);
            } catch (Exception ex) {
            }
            FunctorExp src = toFtr(a.a);
            FunctorExp dst = toFtr(b.a);
            List<Object> ob = (List<Object>) ((org.jparsec.functors.Pair) t.a).b;
            Map<String, Pair<String, List<String>>> fun = new HashMap<>();
            for (Object ttt : ob) {
                if (fun.containsKey(o)) {
                    throw new RuntimeException("Duplicate arrow: " + ttt + " in " + o);
                }
                Tuple3 u = (Tuple3) ttt;
                String n = (String) u.a;
                List<String> l = (List<String>) u.c;
                String ll = l.remove(0);
                fun.put(n, new Pair<>(ll, l));
            }
            return new ToMap(fun, src, dst, toCat(a.c), toCat(a.e));
        }
    } catch (Exception re) {
    }
    try {
        Tuple4 t = (Tuple4) o;
        if (t.a.toString().equals("return") || t.a.toString().equals("coreturn")) {
            return new Adj(t.a.toString(), t.b.toString(), t.c.toString(), toFtr(t.d));
        } else if (t.a.toString().equals("left")) {
            return new Whisker(true, toFtr(t.c), toTrans(t.d));
        } else if (t.a.toString().equals("right")) {
            return new Whisker(false, toFtr(t.c), toTrans(t.d));
        } else if (t.a.toString().equals("APPLY")) {
            return new PeterApply(t.d.toString(), toTrans(t.b));
        } else {
            return new ApplyTrans(toTrans(t.b), toFtr(t.d));
        }
    } catch (Exception re) {
    }
    try {
        Tuple3 p = (Tuple3) o;
        Object p2 = p.b;
        Object p3 = p.c;
        Object o1 = p.a;
        if (p2.toString().equals(";")) {
            return new TransExp.Comp(toTrans(o1), toTrans(p3));
        } else if (o1.toString().equals("fst")) {
            return new Proj(toFtr(p2), toFtr(p3), true);
        } else if (o1.toString().equals("snd")) {
            return new Proj(toFtr(p2), toFtr(p3), false);
        } else if (o1.toString().equals("inl")) {
            return new Inj(toFtr(p2), toFtr(p3), true);
        } else if (o1.toString().equals("inr")) {
            return new Inj(toFtr(p2), toFtr(p3), false);
        } else if (o1.toString().equals("eval")) {
            return new TransExp.Eval(toFtr(p2), toFtr(p3));
        } else if (p2.toString().equals("*")) {
            return new TransExp.Prod(toTrans(o1), toTrans(p3));
        } else if (p2.toString().equals("+")) {
            return new CoProd(toTrans(o1), toTrans(p3));
        } else if (o1.toString().equals("iso1")) {
            return new TransExp.Iso(true, toFtr(p2), toFtr(p3));
        } else if (o1.toString().equals("iso2")) {
            return new TransExp.Iso(false, toFtr(p2), toFtr(p3));
        }
    } catch (RuntimeException re) {
    }
    try {
        org.jparsec.functors.Pair p = (org.jparsec.functors.Pair) o;
        String p1 = p.a.toString();
        Object p2 = p.b;
        switch(p1) {
            case "id":
                return new TransExp.Id(toFtr(p2));
            case "tt":
                return new TransExp.One(toFtr(p2));
            case "ff":
                return new TransExp.Zero(toFtr(p2));
            case "curry":
                return new TransExp.Curry(toTrans(p2), true);
            case "CURRY":
                return new TransExp.Curry(toTrans(p2), false);
            case "true":
                return new Bool(true, toCat(p2));
            case "false":
                return new Bool(false, toCat(p2));
            case "char":
                return new Chr(toTrans(p2));
            case "kernel":
                return new Ker(toTrans(p2));
            case "not":
            case "and":
            case "implies":
            case "or":
                return new AndOrNotImplies(p1, toCat(p2));
            default:
                break;
        }
    } catch (RuntimeException re) {
    }
    if (o instanceof String) {
        return new TransExp.Var(o.toString());
    }
    throw new RuntimeException("Could not create transform from " + o);
}
Also used : Curry(catdata.fqlpp.FunctorExp.Curry) HashMap(java.util.HashMap) PeterApply(catdata.fqlpp.TransExp.PeterApply) Apply(catdata.fqlpp.FunctorExp.Apply) Adj(catdata.fqlpp.TransExp.Adj) Var(catdata.fqlpp.FunctorExp.Var) Chr(catdata.fqlpp.TransExp.Chr) AndOrNotImplies(catdata.fqlpp.TransExp.AndOrNotImplies) Comp(catdata.fqlpp.FunctorExp.Comp) ToMap(catdata.fqlpp.TransExp.ToMap) ToSet(catdata.fqlpp.TransExp.ToSet) CoProd(catdata.fqlpp.TransExp.CoProd) Bool(catdata.fqlpp.TransExp.Bool) ToInst(catdata.fqlpp.TransExp.ToInst) List(java.util.List) LinkedList(java.util.LinkedList) SetSet(catdata.fqlpp.TransExp.SetSet) ApplyPath(catdata.fqlpp.TransExp.ApplyPath) Whisker(catdata.fqlpp.TransExp.Whisker) Ker(catdata.fqlpp.TransExp.Ker) Id(catdata.fqlpp.FunctorExp.Id) Map(java.util.Map) ToMap(catdata.fqlpp.TransExp.ToMap) HashMap(java.util.HashMap) PeterApply(catdata.fqlpp.TransExp.PeterApply) Inj(catdata.fqlpp.TransExp.Inj) One(catdata.fqlpp.FunctorExp.One) Prod(catdata.fqlpp.FunctorExp.Prod) CoProd(catdata.fqlpp.TransExp.CoProd) Proj(catdata.fqlpp.TransExp.Proj) Pair(catdata.Pair) Zero(catdata.fqlpp.FunctorExp.Zero) Iso(catdata.fqlpp.FunctorExp.Iso) ToCat(catdata.fqlpp.TransExp.ToCat) Tuple4(org.jparsec.functors.Tuple4) ApplyTrans(catdata.fqlpp.TransExp.ApplyTrans) Tuple5(org.jparsec.functors.Tuple5) Tuple3(org.jparsec.functors.Tuple3)

Example 25 with Tuple4

use of org.jparsec.functors.Tuple4 in project fql by CategoricalData.

the class PPParser method program.

public static FQLPPProgram program(String s) {
    List<NewDecl> ret = new LinkedList<>();
    List decls = (List) program.parse(s);
    for (Object d : decls) {
        org.jparsec.functors.Pair pr = (org.jparsec.functors.Pair) d;
        Object decl = pr.b;
        String txt = pr.a.toString();
        int idx = s.indexOf(txt);
        if (idx < 0) {
            throw new RuntimeException();
        }
        Tuple3 t = (Tuple3) decl;
        String kind = t.a.toString();
        String name = t.b.toString();
        switch(kind) {
            case "set":
                Tuple4 tt = (Tuple4) decl;
                // name = (String) t.b;
                ret.add(NewDecl.setDecl(name, idx, toSet(tt.d)));
                break;
            case "function":
                Tuple4 t0 = (Tuple4) decl;
                // name = (String) t.b;
                ret.add(NewDecl.fnDecl(name, idx, toFn(t0.d)));
                break;
            case "functor":
                Tuple4 ti = (Tuple4) decl;
                // name = (String) t.b;
                ret.add(NewDecl.ftrDecl(name, idx, toFtr(ti.d)));
                break;
            case "category":
                Tuple4 tx = (Tuple4) decl;
                // name = (String) t.b;
                ret.add(NewDecl.catDecl(name, idx, toCat(tx.d)));
                break;
            case "transform":
                Tuple4 te = (Tuple4) decl;
                // name = (String) t.b;
                ret.add(NewDecl.transDecl(name, idx, toTrans(te.d)));
                break;
            default:
                throw new RuntimeException("Unknown decl: " + kind);
        }
    }
    return new FQLPPProgram(ret);
}
Also used : NewDecl(catdata.fqlpp.FQLPPProgram.NewDecl) LinkedList(java.util.LinkedList) Tuple4(org.jparsec.functors.Tuple4) Tuple3(org.jparsec.functors.Tuple3) List(java.util.List) LinkedList(java.util.LinkedList) Pair(catdata.Pair)

Aggregations

Tuple4 (org.jparsec.functors.Tuple4)36 Pair (catdata.Pair)30 Tuple3 (org.jparsec.functors.Tuple3)30 List (java.util.List)25 LinkedList (java.util.LinkedList)24 Tuple5 (org.jparsec.functors.Tuple5)18 HashMap (java.util.HashMap)14 LinkedHashMap (java.util.LinkedHashMap)8 HashSet (java.util.HashSet)6 XPair (catdata.fpql.XExp.XPair)5 Map (java.util.Map)4 Triple (catdata.Triple)3 Pair (org.jparsec.functors.Pair)3 Chc (catdata.Chc)2 RawTerm (catdata.aql.RawTerm)2 ColimSchExpRaw (catdata.aql.exp.ColimSchExp.ColimSchExpRaw)2 Delta (catdata.fql.decl.FullQueryExp.Delta)2 Pi (catdata.fql.decl.FullQueryExp.Pi)2 Sigma (catdata.fql.decl.FullQueryExp.Sigma)2 External (catdata.fql.decl.InstExp.External)2