Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- % opentag(b) --> [\[], [b], [\]]
- -- % opentag(u) --> [\[], [u], [\]]
- -- % opentag(o) --> [\[], [o], [\]]
- -- % opentag(i) --> [\[], [i], [\]]
- opentagRule i = [ Rule 0 (Functor "b" []) [ Left "[b]" ]
- , Rule 0 (Functor "u" []) [ Left "[u]" ]
- , Rule 0 (Functor "o" []) [ Left "[o]" ]
- , Rule 0 (Functor "i" []) [ Left "[i]" ]
- ]
- -- % closetag(b) --> [\[], [/], [b], [\]]
- -- % closetag(u) --> [\[], [/], [u], [\]]
- -- % closetag(i) --> [\[], [/], [i], [\]]
- closetagRule i = [ Rule 0 (Functor "b" []) [ Left "[/b]" ]
- , Rule 0 (Functor "u" []) [ Left "[/u]" ]
- , Rule 0 (Functor "o" []) [ Left "[/o]" ]
- , Rule 0 (Functor "i" []) [ Left "[/i]" ]
- ]
- -- % bbtag(tag(T,B)) --> opentag(T), bbcode(B), closetag(T)
- -- % bbtag(str(S)) --> #string without [#
- bbtagRule i = [ Rule 2 (Functor "tag" [ Var (i + 0), Var (i + 1) ]) [ Right (opentagRule, Var (0 + i)), Right (bbcodeRule, Var (1 + i)), Right (closetagRule, Var (0 + i)) ]
- , RuleStrExcept "[" True
- ]
- -- % bbcode(bb(B,BS)) --> bbtag(B), bbcode(BS)
- -- % bbcode(eps) --> []
- bbcodeRule i = [ Rule 2 (Functor "bb" [ Var (i + 0), Var (i + 1) ]) [ Right (bbtagRule, Var (0 + i)), Right (bbcodeRule, (Var (1 + i))) ]
- , Rule 0 (Functor "eps" []) []
- ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement