comparison testc.rhope @ 18:ea991f95ae1f

C backend working well enough to generate Fib test
author Mike Pavone <pavone@retrodev.com>
date Wed, 27 May 2009 04:49:32 -0400
parents 69dfca29565f
children 90c20dc3f4e5
comparison
equal deleted inserted replaced
17:d05184970c1c 18:ea991f95ae1f
13 13
14 stream1 <- [[[base]Instruction Stream 14 stream1 <- [[[base]Instruction Stream
15 ]Release[Result[0]] 15 ]Release[Result[0]]
16 ]Move[AddRef[Constant["const_1"]], "out"] 16 ]Move[AddRef[Constant["const_1"]], "out"]
17 {Print["stream1 done"]} 17 {Print["stream1 done"]}
18
19 stream3 <- [[[base]Instruction Stream
20 ]Release["n"]
21 ]Tail Method Call["+", ("work1","work2")]
18 22
19 stream2 <- [[[[[[base]Instruction Stream 23 stream2 <- [[[[[[[[[[[base]Instruction Stream
20 ]Release[Result[0]] 24 ]Release[Result[0]]
21 ]Method Call["-", [[()]Append[AddRef["n"]]]Append[AddRef[Constant["const_1"]]]] 25 ]Method Call["-", [[()]Append[AddRef["n"]]]Append[AddRef[Constant["const_1"]]]]
22 ]Move[Result[0], "work1"] 26 ]Move[Result[0], "work1"]
23 ]Method Call["-", [[()]Append[AddRef["n"]]]Append[AddRef[Constant["const_2"]]]] 27 ]Method Call["-", [[()]Append[AddRef["n"]]]Append[AddRef[Constant["const_2"]]]]
24 ]Move[Result[0], "work2"] 28 ]Move[Result[0], "work2"]
29 ]Call["Fib", ("work1")]
30 ]Move[Result[0], "work1"]
31 ]Call["Fib", ("work2")]
32 ]Move[Result[0], "work2"]
33 ]Do If[NotCond["out"], stream3]
25 {Print["stream2 done"]} 34 {Print["stream2 done"]}
26 35
27 func <- [[base 36 func <- [[[base
28 ]Do If[Result[0], stream1] 37 ]Do If[Result[0], stream1]
29 ]Do If[Result[1], stream2] 38 ]Do If[Result[1], stream2]
39 ]Release["n"]
30 {Print["func done"] } 40 {Print["func done"] }
31 41
32 Print[[func]Definitions] 42 Print[[func]Definitions]
33 { 43 {
34 Print[[func]Text] } 44 Print[[func]Text] }