Advertisement
Guest User

Untitled

a guest
Dec 18th, 2011
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.39 KB | None | 0 0
  1. IF : Bool -> Expr -> Expr -> Expr;
  2. IF True code end {
  3. return ({ code } end);
  4. }
  5. IF False _ end {
  6. return (end);
  7. }
  8. IF False _ (ELSE code) {
  9. return (code);
  10. }
  11.  
  12. ELSE : Expr -> Expr
  13. ELSE _ {
  14. return ();
  15. }
  16.  
  17. WHILE condition:Bool code:Expr {
  18. return ({
  19. label $loop
  20. IF b {
  21. { code }
  22. goto $loop;
  23. }
  24. label $end;
  25. });
  26. BREAK {
  27. goto $end;
  28. }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement