comparison backendutils.rhope @ 35:3498713c3dc9

C backend portion of supporting user defined types is done, but untested. Parser/NWorker still need a fair bit of work
author Mike Pavone <pavone@retrodev.com>
date Wed, 30 Sep 2009 23:55:04 -0400
parents 914ad38f9b59
children 495dddadd058
comparison
equal deleted inserted replaced
34:df038cef648b 35:3498713c3dc9
1 1
2 Escape Rhope Name[name:escaped] 2 Escape Rhope Name NU[name:escaped]
3 { 3 {
4 escaped <- [[[[[[[[[[[name]Replace["_","__"] 4 escaped <- [[[[[[[[[[name]Replace["@","_AT_"]
5 ]Replace["@","_AT_"]
6 ]Replace[" ","_SP_"] 5 ]Replace[" ","_SP_"]
7 ]Replace[":","_CN_"] 6 ]Replace[":","_CN_"]
8 ]Replace["?","_QN_"] 7 ]Replace["?","_QN_"]
9 ]Replace["+","_PL_"] 8 ]Replace["+","_PL_"]
10 ]Replace["-","_MN_"] 9 ]Replace["-","_MN_"]
11 ]Replace["*","_TM_"] 10 ]Replace["*","_TM_"]
12 ]Replace["/","_DV_"] 11 ]Replace["/","_DV_"]
13 ]Replace["<","_LT_"] 12 ]Replace["<","_LT_"]
14 ]Replace["<","_GT_"] 13 ]Replace["<","_GT_"]
14 }
15
16 Escape Rhope Name[name:escaped]
17 {
18 escaped <- Escape Rhope Name NU[[name]Replace["_","__"]]
15 } 19 }
16 20
17 Blueprint AddRef 21 Blueprint AddRef
18 { 22 {
19 Value 23 Value
135 139
136 Make Op@AndCond[cond,func:out] 140 Make Op@AndCond[cond,func:out]
137 { 141 {
138 out <- ["("]Append[[[[cond]Condition1 >>]Append[" && "]]Append[[[cond]Condition2 >>]Append[")"]]] 142 out <- ["("]Append[[[[cond]Condition1 >>]Append[" && "]]Append[[[cond]Condition2 >>]Append[")"]]]
139 } 143 }
144
145 Blueprint Field Ref
146 {
147 Variable
148 Field
149 }
150
151 Field Ref[var,field:out]
152 {
153 out <- [[Build["Field Ref"]]Variable <<[var]]Field <<[field]
154 }
155
156 Make Op@Field Ref[ref,func:out]
157 {
158 out <- [func]Field Result[[ref]Variable >>,[ref]Field >>]
159 }