annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
1
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
2 Escape Rhope Name[name:escaped]
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
3 {
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
4 escaped <- [[[[[[[[[[[name]Replace["_","__"]
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
5 ]Replace["@","_AT_"]
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
6 ]Replace[" ","_SP_"]
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
7 ]Replace[":","_CN_"]
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
8 ]Replace["?","_QN_"]
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
9 ]Replace["+","_PL_"]
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
10 ]Replace["-","_MN_"]
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
11 ]Replace["*","_TM_"]
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
12 ]Replace["/","_DV_"]
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
13 ]Replace["<","_LT_"]
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
14 ]Replace["<","_GT_"]
31f8182f3433 Finished fib test and did some small work on the c backend
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
15 }
13
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
16
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
17 Blueprint AddRef
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
18 {
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
19 Value
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
20 }
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
21
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
22 AddRef[value:out]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
23 {
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
24 out <- [Build["AddRef"]]Value <<[value]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
25 }
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
26
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
27 Make Op@AddRef[addref,func:out]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
28 {
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
29 out <- [["add_ref("]Append[ [[addref]Value >>]Make Op[func] ]]Append[")"]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
30 }
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
31
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
32 Make Op@String[string,func:out]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
33 {
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
34 out <- [func]Resolve[string]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
35 }
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
36
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
37 Make Op@Whole Number[num,func:out]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
38 {
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
39 out <- num
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
40 }
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
41
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
42 Make Op@Real Number[num,func:out]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
43 {
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
44 out <- num
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
45 }
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
46
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
47 Blueprint Constant
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
48 {
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
49 Var
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
50 }
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
51
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
52 Constant[var:out]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
53 {
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
54 out <- [Build["Constant"]]Var <<[var]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
55 }
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
56
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
57 Make Op@Constant[const,func:out]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
58 {
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
59 out <- [const]Var >>
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
60 }
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
61
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
62 Blueprint Result
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
63 {
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
64 Output Num
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
65 }
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
66
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
67 Result[num:out]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
68 {
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
69 out <- [Build["Result"]]Output Num <<[num]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
70 }
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
71
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
72 Make Op@Result[result,func:out]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
73 {
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
74 out <- [func]Result Reference[[result]Output Num>>]
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
75 }
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
76
23dd9c766699 C backend close to being useable
mpavone@
parents: 12
diff changeset
77