aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorianhin <ianhin>2005-08-26 16:06:11 +0000
committerianhin <ianhin>2005-08-26 16:06:11 +0000
commit749b02670f521dc37b7b615488e38b1e4ca09d3f (patch)
tree5ffb40101d66c7dbd76481058cd0d467b295222b
parentea076fab8ba9c0622c20bca61d913650281fbb1b (diff)
Added Errors package
Added error checking to SpaceSeparated Fixed CommaInitSeparated as it was buggy; it didn't initialise the last variable!
-rw-r--r--Tools/CodeGen/CodeGen.m10
1 files changed, 7 insertions, 3 deletions
diff --git a/Tools/CodeGen/CodeGen.m b/Tools/CodeGen/CodeGen.m
index 00b773e..63e9988 100644
--- a/Tools/CodeGen/CodeGen.m
+++ b/Tools/CodeGen/CodeGen.m
@@ -24,7 +24,7 @@ BeginPackage["sym`"];
EndPackage[];
-BeginPackage["CodeGen`", {"sym`"}];
+BeginPackage["CodeGen`", {"sym`", "Errors`"}];
SOURCELANGUAGE::usage = "global variable == \"C\" or \"Fortran\" determines language
for code generation";
@@ -145,7 +145,10 @@ intersperse[l_, x_] :=
CommaNewlineSeparated[l_] := intersperse[l, ",\n"];
SpaceSeparated[l_] :=
- intersperse[l, " "];
+ Module[{},
+ If[!ListQ[l],
+ ThrowError["SpaceSeparated: Expecting a list, but was given", l]];
+ intersperse[l, " "]];
CommaSeparated[l_] :=
intersperse[l, ", "];
@@ -154,7 +157,8 @@ NewlineSeparated[l_] :=
intersperse[l, "\n"];
CommaInitSeparated[l_] :=
- intersperse[l, " = INITVALUE, "];
+ intersperse[Map[{#," = INITVALUE"} &, l], ", "];
+(* intersperse[l, " = INITVALUE, "];*)