Mercurial > repos > rhope
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 |