comparison backendutils.rhope @ 13:23dd9c766699

C backend close to being useable
author mpavone@
date Tue, 26 May 2009 23:49:46 +0000
parents 31f8182f3433
children ea991f95ae1f
comparison
equal deleted inserted replaced
12:31f8182f3433 13:23dd9c766699
11 ]Replace["*","_TM_"] 11 ]Replace["*","_TM_"]
12 ]Replace["/","_DV_"] 12 ]Replace["/","_DV_"]
13 ]Replace["<","_LT_"] 13 ]Replace["<","_LT_"]
14 ]Replace["<","_GT_"] 14 ]Replace["<","_GT_"]
15 } 15 }
16
17 Blueprint AddRef
18 {
19 Value
20 }
21
22 AddRef[value:out]
23 {
24 out <- [Build["AddRef"]]Value <<[value]
25 }
26
27 Make Op@AddRef[addref,func:out]
28 {
29 out <- [["add_ref("]Append[ [[addref]Value >>]Make Op[func] ]]Append[")"]
30 }
31
32 Make Op@String[string,func:out]
33 {
34 out <- [func]Resolve[string]
35 }
36
37 Make Op@Whole Number[num,func:out]
38 {
39 out <- num
40 }
41
42 Make Op@Real Number[num,func:out]
43 {
44 out <- num
45 }
46
47 Blueprint Constant
48 {
49 Var
50 }
51
52 Constant[var:out]
53 {
54 out <- [Build["Constant"]]Var <<[var]
55 }
56
57 Make Op@Constant[const,func:out]
58 {
59 out <- [const]Var >>
60 }
61
62 Blueprint Result
63 {
64 Output Num
65 }
66
67 Result[num:out]
68 {
69 out <- [Build["Result"]]Output Num <<[num]
70 }
71
72 Make Op@Result[result,func:out]
73 {
74 out <- [func]Result Reference[[result]Output Num>>]
75 }
76
77