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"]
 }