Attic/sier.prs
changeset 710 183663740fb7
equal deleted inserted replaced
709:c112a6cb5e52 710:183663740fb7
       
     1 val sier = List(
       
     2   ArrayDef("mem", 30000),
       
     3   Assign("ptr", Num(15000)),
       
     4   AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(8))),
       
     5   While(
       
     6     Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
     7     List(
       
     8       Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
     9       AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
    10       Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    11       AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(4))),
       
    12       Assign("ptr", Aop("-", Var("ptr"), Num(2))),
       
    13       AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
    14       Skip
       
    15     )
       
    16   ),
       
    17   Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    18   AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))),
       
    19   Assign("ptr", Aop("+", Var("ptr"), Num(2))),
       
    20   AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
    21   Assign("ptr", Aop("-", Var("ptr"), Num(1))),
       
    22   While(
       
    23     Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    24     List(
       
    25       AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
    26       While(
       
    27         Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    28         List(
       
    29           Assign("ptr", Aop("+", Var("ptr"), Num(2))),
       
    30           AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
    31           Assign("ptr", Aop("-", Var("ptr"), Num(2))),
       
    32           AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
    33           Skip
       
    34         )
       
    35       ),
       
    36       AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
    37       Assign("ptr", Aop("+", Var("ptr"), Num(2))),
       
    38       Skip
       
    39     )
       
    40   ),
       
    41   Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    42   AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
    43   While(
       
    44     Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    45     List(
       
    46       AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
    47       Assign("ptr", Aop("-", Var("ptr"), Num(3))),
       
    48       While(
       
    49         Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    50         List(
       
    51           AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
    52           Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    53           While(
       
    54             Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    55             List(
       
    56               AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
    57               AssignA("mem", Var("ptr"), Num(0)),
       
    58               AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
    59               Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    60               AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))),
       
    61               Assign("ptr", Aop("+", Var("ptr"), Num(3))),
       
    62               AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
    63               Assign("ptr", Aop("-", Var("ptr"), Num(2))),
       
    64               Skip
       
    65             )
       
    66           ),
       
    67           Assign("ptr", Aop("-", Var("ptr"), Num(1))),
       
    68           While(
       
    69             Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    70             List(Assign("ptr", Aop("-", Var("ptr"), Num(1))), Skip)
       
    71           ),
       
    72           Assign("ptr", Aop("+", Var("ptr"), Num(2))),
       
    73           AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(6))),
       
    74           While(
       
    75             Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    76             List(
       
    77               Assign("ptr", Aop("-", Var("ptr"), Num(2))),
       
    78               AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(5))),
       
    79               Assign("ptr", Aop("+", Var("ptr"), Num(2))),
       
    80               AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
    81               Skip
       
    82             )
       
    83           ),
       
    84           AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
    85           Assign("ptr", Aop("-", Var("ptr"), Num(2))),
       
    86           AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))),
       
    87           Assign("x", Ref("mem", Var("ptr"))),
       
    88           Write("x"),
       
    89           AssignA("mem", Var("ptr"), Num(0)),
       
    90           Assign("ptr", Aop("-", Var("ptr"), Num(2))),
       
    91           Skip
       
    92         )
       
    93       ),
       
    94       Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    95       Assign("x", Ref("mem", Var("ptr"))),
       
    96       Write("x"),
       
    97       Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    98       AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
    99       While(
       
   100         Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
   101         List(Assign("ptr", Aop("+", Var("ptr"), Num(2))), Skip)
       
   102       ),
       
   103       Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
   104       AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
   105       Skip
       
   106     )
       
   107   ),
       
   108   Skip
       
   109 )