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