Safe Haskell | None |
---|---|
Language | Haskell2010 |
An affine-scoring grammar for the alignment of two trees.
Due to the way ADPfusion
and GADP
works this grammar will, in
principle, work with basically any input type. In practice, the given
rules make most (or only) sense for tree alignments.
Documentation
data SigGlobal m s r t_n_0_ t_n_1_ Source #
SigGlobal | |
|
(Monad mL0, Monad mR0, Eq xL0, (~) (* -> *) mL0 mR0, (~) * xL0 rL0) => ProductBacktracking (SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0) Source # | |
(Monad mL0, Monad mR0, Eq xL0, Ord xL0, Ord xR0, (~) (* -> *) mL0 mR0) => ProductCombining (SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0) Source # | |
type SigBacktracking (SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0) Source # | |
type SigCombining (SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0) Source # | |
data SigLabolg m s r t_n_0_ t_n_1_ Source #
SigLabolg | |
|
gLabolg :: ((~#) * * (Fun (Arg (Stack (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10), (~#) * * (Fun (Arg (Stack (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10), (~#) * * (Fun (Arg (Stack (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a1) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a2) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i6 -> i6 -> t11 t9))) -> t10)) ((:.) ((:.) Z ()) t7 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t1 (i5 -> i5 -> t11 t9))) -> t10)) ((:.) ((:.) Z t8) () -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b4) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b4) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a1) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a) (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a1) (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a2) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a2) (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i4 -> i4 -> t11 t9))) -> t10)) ((:.) ((:.) Z t8) t7 -> t10 -> t10), Apply (Arg (Stack (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg (Stack (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg (Stack (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) -> t10), Apply (Arg ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) -> t10), Apply (Arg ((:!:) (Stack a) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a1) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a2) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i6 -> i6 -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t1 (i5 -> i5 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b4) -> t10), Apply (Arg ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) -> t10), Apply (Arg ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b4) -> t10), Apply (Arg ((:!:) (Stack a) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a1) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a1) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a2) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a2) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i4 -> i4 -> t11 t9))) -> t10), Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i6 -> i6 -> t11 t9))) i3, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t1 (i5 -> i5 -> t11 t9))) i3, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i4 -> i4 -> t11 t9))) i, Element ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) i6, Element ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) i5, Element ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b4) i4, Element ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i6, Element ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i5, Element ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i4, Element ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) i6, Element ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) i5, Element ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b4) i4, Element ((:!:) (Stack a) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack a) (TW t4 (i2 -> i2 -> t11 t9))) i2, Element ((:!:) (Stack a) (TW t5 (i -> i -> t11 t9))) i2, Element ((:!:) (Stack a1) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack a1) (TW t4 (i2 -> i2 -> t11 t9))) i2, Element ((:!:) (Stack a1) (TW t5 (i -> i -> t11 t9))) i2, Element ((:!:) (Stack a2) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack a2) (TW t4 (i2 -> i2 -> t11 t9))) i, Element ((:!:) (Stack a2) (TW t5 (i -> i -> t11 t9))) i, Element (Stack (TW t3 (i3 -> i3 -> t11 t9))) i1, Element (Stack (TW t4 (i2 -> i2 -> t11 t9))) i1, Element (Stack (TW t5 (i -> i -> t11 t9))) i1, MkStream t11 S i, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i6 -> i6 -> t11 t9))) i3, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t1 (i5 -> i5 -> t11 t9))) i3, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i4 -> i4 -> t11 t9))) i, MkStream t11 ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) i6, MkStream t11 ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) i5, MkStream t11 ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b4) i4, MkStream t11 ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i6, MkStream t11 ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i5, MkStream t11 ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i4, MkStream t11 ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) i6, MkStream t11 ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) i5, MkStream t11 ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b4) i4, MkStream t11 ((:!:) (Stack a) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack a) (TW t4 (i2 -> i2 -> t11 t9))) i2, MkStream t11 ((:!:) (Stack a) (TW t5 (i -> i -> t11 t9))) i2, MkStream t11 ((:!:) (Stack a1) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack a1) (TW t4 (i2 -> i2 -> t11 t9))) i2, MkStream t11 ((:!:) (Stack a1) (TW t5 (i -> i -> t11 t9))) i2, MkStream t11 ((:!:) (Stack a2) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack a2) (TW t4 (i2 -> i2 -> t11 t9))) i, MkStream t11 ((:!:) (Stack a2) (TW t5 (i -> i -> t11 t9))) i, MkStream t11 (Stack (TW t3 (i3 -> i3 -> t11 t9))) i1, MkStream t11 (Stack (TW t4 (i2 -> i2 -> t11 t9))) i1, MkStream t11 (Stack (TW t5 (i -> i -> t11 t9))) i1, RuleContext i1, RuleContext i6, RuleContext i5, RuleContext i3, RuleContext i4, RuleContext i2, RuleContext i, Build (TW t4 (i2 -> i2 -> t11 t9)), Build (TW t3 (i3 -> i3 -> t11 t9)), Build (TW t5 (i -> i -> t11 t9)), Build a, Build a1, Build a2, TermStream t11 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i) i, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i) => SigLabolg t11 t10 t9 t8 t7 -> t6 -> t5 -> t4 -> t3 -> t2 -> t1 -> t -> b4 -> b3 -> b2 -> a2 -> a1 -> a -> b1 -> b -> (:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) Z (TW t6 (i1 -> i1 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) (TW t2 (i4 -> i4 -> t11 t9))) (TW t1 (i5 -> i5 -> t11 t9))) (TW t (i6 -> i6 -> t11 t9)) Source #
gGlobal :: ((~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) ((:.) ((:.) Z ()) t7 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) ((:.) ((:.) Z t8) () -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t5 (i -> i -> t11 t9))) -> t10)) ((:.) ((:.) Z t8) t7 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg (Stack (TW t6 (i1 -> i1 -> t11 t9))) -> t10)) (t10 -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg (Stack (TW t6 (i1 -> i1 -> t11 t9))) -> t10), Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t3 (i3 -> i3 -> t11 t9))) i6, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t3 (i3 -> i3 -> t11 t9))) i5, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t5 (i -> i -> t11 t9))) i4, Element ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) i2, Element ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) i, Element ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i2, Element ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i, Element ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i2, Element ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i, Element ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element (Stack (TW t6 (i1 -> i1 -> t11 t9))) i2, Element (Stack (TW t6 (i1 -> i1 -> t11 t9))) i, Element (Stack (TW t6 (i1 -> i1 -> t11 t9))) i3, MkStream t11 S i1, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t3 (i3 -> i3 -> t11 t9))) i6, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t3 (i3 -> i3 -> t11 t9))) i5, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t5 (i -> i -> t11 t9))) i4, MkStream t11 ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) i2, MkStream t11 ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) i, MkStream t11 ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i2, MkStream t11 ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i, MkStream t11 ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i2, MkStream t11 ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i, MkStream t11 ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 (Stack (TW t6 (i1 -> i1 -> t11 t9))) i2, MkStream t11 (Stack (TW t6 (i1 -> i1 -> t11 t9))) i, MkStream t11 (Stack (TW t6 (i1 -> i1 -> t11 t9))) i3, RuleContext i6, RuleContext i5, RuleContext i2, RuleContext i, RuleContext i4, RuleContext i3, RuleContext i1, Build (TW t (i6 -> i6 -> t11 t9)), Build (TW t1 (i5 -> i5 -> t11 t9)), Build (TW t2 (i4 -> i4 -> t11 t9)), Build (TW t6 (i1 -> i1 -> t11 t9)), TermStream t11 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i1) i1, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i1) => SigGlobal t11 t10 t9 t8 t7 -> t6 -> t5 -> t4 -> t3 -> t2 -> t1 -> t -> b1 -> b -> (:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) Z (TW t6 (i1 -> i1 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) (TW t2 (i4 -> i4 -> t11 t9))) (TW t1 (i5 -> i5 -> t11 t9))) (TW t (i6 -> i6 -> t11 t9)) Source #