Mercurial > repos > rhope
diff cbackend.rhope @ 21:e9272f7ebd26
Limited compilation from dataflow graph to C backend
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 23 Jun 2009 01:16:04 -0400 |
parents | b715532225c0 |
children | 914ad38f9b59 |
line wrap: on
line diff
--- a/cbackend.rhope Wed May 27 21:42:37 2009 -0400 +++ b/cbackend.rhope Tue Jun 23 01:16:04 2009 -0400 @@ -218,7 +218,6 @@ ]Add Raw Line[ [["if("]Append[cond]]Append[")"] ] ]Add Raw Line["{"], [stream]Statements >>] ]Add Raw Line["}"] - { Print["Do if done"] } } @@ -227,6 +226,17 @@ out <- [["call->params["]Append[output]]Append["]"] } +If Null Else@C Function[func,left,right:out] +{ + out <- [[[[[["(" + ]Append[left] + ]Append[" ? "] + ]Append[left] + ]Append[" : "] + ]Append[right] + ]Append[")"] +} + Init Outputs@C Function[func:out] { If[[[[func]Outputs >>]Length ] > [0]] @@ -281,7 +291,6 @@ Definitions@C Function[func:out] { - Print["Definitions"] out <- [[[Fold["_Output Defs C", Fold["_Var Defs C","typedef struct {\n", [func]Variables >>], [func]Outputs >>]]Append["} l_"]]Append[Escape Rhope Name[[func]Name >>]]]Append[";\n"] }