comparison cbackend.rhope @ 20:b715532225c0

Differentiate between method and normal calls in dataflow graph compiler
author Mike Pavone <pavone@retrodev.com>
date Wed, 27 May 2009 21:42:37 -0400
parents 90c20dc3f4e5
children e9272f7ebd26
comparison
equal deleted inserted replaced
19:90c20dc3f4e5 20:b715532225c0
50 new lookup <- [[reg]Lookup >>]Set[method, ["METHOD_FIRST_USER+"]Append[method ID]] 50 new lookup <- [[reg]Lookup >>]Set[method, ["METHOD_FIRST_USER+"]Append[method ID]]
51 out <- [[reg]Lookup <<[new lookup]]Next ID <<[[method ID]+[1]] 51 out <- [[reg]Lookup <<[new lookup]]Next ID <<[[method ID]+[1]]
52 } 52 }
53 } 53 }
54 54
55 Method ID@C Method Registry[reg,method:out] 55 Method ID@C Method Registry[reg,method:out,notfound]
56 { 56 {
57 out <- [[reg]Lookup >>]Index[method] 57 out,notfound <- [[reg]Lookup >>]Index[method]
58 } 58 }
59 59
60 Blueprint C Function 60 Blueprint C Function
61 { 61 {
62 Name 62 Name
320 Store Function@C Program[program,func:out] 320 Store Function@C Program[program,func:out]
321 { 321 {
322 out <- [program]Functions <<[ [[program]Functions >>]Set[ [func]Name >>, func] ] 322 out <- [program]Functions <<[ [[program]Functions >>]Set[ [func]Name >>, func] ]
323 } 323 }
324 324
325 Method?@C Program[program,funcname:is,isnot]
326 {
327 is,isnot <- [[program]Method Registry >>]Method ID[funcname]
328 }
329
325 _Defs C Program[text,func:out] 330 _Defs C Program[text,func:out]
326 { 331 {
327 Print["start _Defs"] 332 Print["start _Defs"]
328 out <- [text]Append[[func]Definitions] 333 out <- [text]Append[[func]Definitions]
329 { Print["_Defs done"] } 334 { Print["_Defs done"] }