Mercurial > repos > rhope
comparison backendutils.rhope @ 75:0083b2f7b3c7
Partially working implementation of List. Modified build scripts to allow use of other compilers. Fixed some bugs involving method implementations on different types returning different numbers of outputs. Added Fold to the 'builtins' in the comipler.
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 06 Jul 2010 07:52:59 -0400 |
parents | a844c623c7df |
children | c25d75c2440b |
comparison
equal
deleted
inserted
replaced
74:a844c623c7df | 75:0083b2f7b3c7 |
---|---|
1 | 1 |
2 Escape Rhope Name NU[name:escaped] | 2 Escape Rhope Name NU[name:escaped] |
3 { | 3 { |
4 escaped <- [[[[[[[[[[[[[[[name]Replace["_","UN_"] | 4 escaped <- [[[[[[[[[[[[[[[[[[[[name]Replace["_","UN_"] |
5 ]Replace["@","AT_"] | 5 ]Replace["@","AT_"] |
6 ]Replace[" ","SP_"] | 6 ]Replace[" ","SP_"] |
7 ]Replace[":","CN_"] | 7 ]Replace[":","CN_"] |
8 ]Replace["?","QN_"] | 8 ]Replace["?","QN_"] |
9 ]Replace["+","PL_"] | 9 ]Replace["+","PL_"] |
14 ]Replace[">","GT_"] | 14 ]Replace[">","GT_"] |
15 ]Replace["(","LP_"] | 15 ]Replace["(","LP_"] |
16 ]Replace[")","RP_"] | 16 ]Replace[")","RP_"] |
17 ]Replace["!","NT_"] | 17 ]Replace["!","NT_"] |
18 ]Replace["=","EQ_"] | 18 ]Replace["=","EQ_"] |
19 ]Replace["'","PR_"] | |
20 ]Replace["\"","DP_"] | |
21 ]Replace["\t","TB_"] | |
22 ]Replace[",", "CM_"] | |
23 ]Replace[".", "PD_"] | |
19 } | 24 } |
20 | 25 |
21 Escape Rhope Name[name:escaped] | 26 Escape Rhope Name[name:escaped] |
22 { | 27 { |
23 escaped <- Escape Rhope Name NU[[name]Replace["_","__"]] | 28 escaped <- Escape Rhope Name NU[[name]Replace["_","__"]] |
129 { | 134 { |
130 out <- [func]Result Reference[[result]Output Num>>] | 135 out <- [func]Result Reference[[result]Output Num>>] |
131 } | 136 } |
132 | 137 |
133 Strip Addref@Result[op:out] | 138 Strip Addref@Result[op:out] |
139 { | |
140 out <- op | |
141 } | |
142 | |
143 Blueprint Check Result | |
144 { | |
145 Output Num | |
146 } | |
147 | |
148 Check Result[num:out] | |
149 { | |
150 out <- [Build["Check Result"]]Output Num <<[num] | |
151 } | |
152 | |
153 Make Op@Check Result[result,func:out] | |
154 { | |
155 out <- [func]Checked Result Reference[[result]Output Num>>] | |
156 } | |
157 | |
158 Strip Addref@Check Result[op:out] | |
134 { | 159 { |
135 out <- op | 160 out <- op |
136 } | 161 } |
137 | 162 |
138 Make Condition[op:out] | 163 Make Condition[op:out] |