Advertisement
Guest User

Untitled

a guest
Jul 24th, 2014
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. -- % opentag(b) --> [\[], [b], [\]]
  2. -- % opentag(u) --> [\[], [u], [\]]
  3. -- % opentag(o) --> [\[], [o], [\]]
  4. -- % opentag(i) --> [\[], [i], [\]]
  5. opentagRule i = [ Rule 0 (Functor "b" []) [ Left "[b]" ]
  6. , Rule 0 (Functor "u" []) [ Left "[u]" ]
  7. , Rule 0 (Functor "o" []) [ Left "[o]" ]
  8. , Rule 0 (Functor "i" []) [ Left "[i]" ]
  9. ]
  10.  
  11. -- % closetag(b) --> [\[], [/], [b], [\]]
  12. -- % closetag(u) --> [\[], [/], [u], [\]]
  13. -- % closetag(i) --> [\[], [/], [i], [\]]
  14. closetagRule i = [ Rule 0 (Functor "b" []) [ Left "[/b]" ]
  15. , Rule 0 (Functor "u" []) [ Left "[/u]" ]
  16. , Rule 0 (Functor "o" []) [ Left "[/o]" ]
  17. , Rule 0 (Functor "i" []) [ Left "[/i]" ]
  18. ]
  19.  
  20. -- % bbtag(tag(T,B)) --> opentag(T), bbcode(B), closetag(T)
  21. -- % bbtag(str(S)) --> #string without [#
  22. 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)) ]
  23. , RuleStrExcept "[" True
  24. ]
  25.  
  26. -- % bbcode(bb(B,BS)) --> bbtag(B), bbcode(BS)
  27. -- % bbcode(eps) --> []
  28. bbcodeRule i = [ Rule 2 (Functor "bb" [ Var (i + 0), Var (i + 1) ]) [ Right (bbtagRule, Var (0 + i)), Right (bbcodeRule, (Var (1 + i))) ]
  29. , Rule 0 (Functor "eps" []) []
  30. ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement