let p1 = Assign("x", Const 1)
let p2 = Print[Var "x"; Var "y"]
let p3 = Seq[Assign("x", Const 1); Assign("x", Const 3); Print[Var "x"]]
let p4 = Seq[Assign("x", Const 1);
                  Assign("y", If(Var "x", Const 2, Const 4))]
let p5 = Seq[Assign("x", Const (-1));
             Assign("y", If(Var "x", Const 2, Const 4))]
let p6 = Seq[Assign("x", Const 3); 
             Assign("x", If(Binop(Var "x", Minus, Const 5), Const 5, Var "x"))]
let p7 = Seq [Assign("x1",Const 1);
              Assign("x2",Const 1);
              Assign("x3",Binop(Var "x1",Plus,Var "x2"));
              Assign("x4",Binop(Var "x2",Plus,Var "x3"));
              Assign("x5",Binop(Var "x3",Plus,Var "x4"));
              Assign("x6",Binop(Var "x4",Plus,Var "x5"));
              Assign("x7",Binop(Var "x5",Plus,Var "x6"));
              Assign("x8",Binop(Var "x6",Plus,Var "x7"));
              Assign("x9",Binop(Var "x7",Plus,Var "x8"));
              Assign("x10",Binop(Var "x8",Plus,Var "x9"));
              Assign("x11",Binop(Var "x9",Plus,Var "x10"));
              Assign("x12",Binop(Var "x10",Plus,Var "x11"));
              Print[Var "x1"; Var "x2"; Var "x3"; Var "x4"; Var "x5"; 
                    Var "x6"; Var "x7"; Var "x8"; Var "x9"; Var "x10";
                    Var "x11"; Var "x12"]]

let p8 = Seq [Assign("sum",Const 0); 
              Assign("x",Const 10);
              Assign("sum",Binop(Var "sum",Plus,Var "x"));
              Assign("x",Binop(Var "x",Minus,Const 1));
              Assign("sum",Binop(Var "sum",Plus,Var "x"));
              Assign("x",Binop(Var "x",Minus,Const 1));
              Assign("sum",Binop(Var "sum",Plus,Var "x"));
              Assign("x",Binop(Var "x",Minus,Const 1));
              Assign("sum",Binop(Var "sum",Plus,Var "x"));
              Assign("x",Binop(Var "x",Minus,Const 1));
              Assign("sum",Binop(Var "sum",Plus,Var "x"));
              Assign("x",Binop(Var "x",Minus,Const 1));
              Assign("sum",Binop(Var "sum",Plus,Var "x"));
              Assign("x",Binop(Var "x",Minus,Const 1));
              Assign("sum",Binop(Var "sum",Plus,Var "x"));
              Assign("x",Binop(Var "x",Minus,Const 1));
              Assign("sum",Binop(Var "sum",Plus,Var "x"));
              Assign("x",Binop(Var "x",Minus,Const 1));
              Assign("sum",Binop(Var "sum",Plus,Var "x"));
              Assign("x",Binop(Var "x",Minus,Const 1));
              Assign("sum",Binop(Var "sum",Plus,Var "x"));
              Assign("x",Binop(Var "x",Minus,Const 1));
              Print [If(Var "x",Const (-1),Var "sum")]]

let p9 = Seq [Assign("a",Const 3);Assign("b",Const 2);
              Assign("c",
                     Binop(Binop(Binop(Const 2,
                                       Times,
                                       Var "a"),
                                 Times,
                                 Var "b"),
                           Plus,
                           Var "b"));
              Assign("d",Binop(Binop(Const 2,Times,Var "a"),Plus,Const 1));
              Assign("e",Binop(Var "c",Minus,Binop(Var "d",Times,Var "b")));
              Print [If(Var "c",Var "b",Var "a")];
              Print [If(Var "e",Var "c",Var "a")];
              Assign("f",
                     If(Var "e",
                        Binop(Var "e",Plus,Binop(Var "d",Times,Var "b")),
                        Binop(Var "e",Minus,Binop(Var "d",Times,Var "b"))));
              Assign("g",Binop(Var "f",Minus,Var "c"));
              Print [If(Var "g",Var "f",Var "c")]]

let p10 = Seq 
  [Assign("a",Const 1);
   Assign("b",Const 2);
   Assign("c",Const 3);
   Assign("d",Const 4);
   Assign("e",Binop(Binop(Binop(Var "a",
                                Times,
                                Var "b"),
                          Times, 
                          Var "c"),
                    Times, 
                    Var "d"));
   Assign("f",Binop(Binop(Var "a",Times,Var "b"),Times,Var "c"));
   Assign("g",Binop(Var "a",Times,Var "b"));
   Assign("h",Binop(Binop(Binop(Var "e",
                                Plus,
                                Var "f"),
                          Plus,
                          Var "g"),
                    Minus,
                    Const 32));
   Print [Var "e"; Var "f"; Var "g"];
   Print [If(Var "h",
             Binop(Binop(Var "b",Plus,Var "c"),Plus,Var "d"),
             Binop(Binop(Var "a",Plus,Var "b"),Plus,Var "c"))];
   Assign("k",
          If(Binop(Binop(Var "e", Div, Var "f"), Minus, Var "d"),
             Binop(Var "a",Div,Var "b"),
             Var "c"));
   Print [If(Binop(Var "a",Div,Var "b"),Var "k",Var "a")]]

This document was generated using caml2html