aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Tools/CodeGen/CodeGen.m5
1 files changed, 4 insertions, 1 deletions
diff --git a/Tools/CodeGen/CodeGen.m b/Tools/CodeGen/CodeGen.m
index e3f673c..383b3a7 100644
--- a/Tools/CodeGen/CodeGen.m
+++ b/Tools/CodeGen/CodeGen.m
@@ -176,7 +176,10 @@ DataType[] :=
(* Code generation utilities; not specific to any language *)
-FlattenBlock[b_] := Apply[StringJoin,Map[ToString,If[! AtomQ[b], Flatten[b, Infinity], b]]];
+(* FlattenBlock *)
+FlattenBlock[x_String] := x;
+FlattenBlock[l_List] := StringJoin@@Map[FlattenBlock, l];
+FlattenBlock[a_?AtomQ] := ToString[a];
indentBlock[block_] :=
StringDrop[" " <> StringReplace[FlattenBlock[block], {"\n" -> "\n "}],-2];