aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen/CodeGen.m
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2012-04-18 22:31:24 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2012-04-18 22:31:24 +0200
commitc530d306d8266de9964c5ec735a7b1c3a2d5b8b8 (patch)
tree995bfeeadbfcc51ba4a0e66c33eb9aa8d27ef3e0 /Tools/CodeGen/CodeGen.m
parenta3972ab0796a615c48e7bce730ca539431348982 (diff)
CodeGen.m: Add a better IndentBlock function
Diffstat (limited to 'Tools/CodeGen/CodeGen.m')
-rw-r--r--Tools/CodeGen/CodeGen.m7
1 files changed, 7 insertions, 0 deletions
diff --git a/Tools/CodeGen/CodeGen.m b/Tools/CodeGen/CodeGen.m
index c2cb890..9bd749c 100644
--- a/Tools/CodeGen/CodeGen.m
+++ b/Tools/CodeGen/CodeGen.m
@@ -37,6 +37,7 @@ CommaSeparated::usage = "";
Stringify::usage = "";
Quote::usage = "Quote[x] returns x surrounded by quotes";
IndentBlock::usage = "";
+IndentBlock2::usage = "";
CheckBlock::usage = "";
CodeGenBlock := _String | _?AtomQ | List[(_?(MatchQ[#, CodeGenBlock] &)) ...];
@@ -70,6 +71,12 @@ DefFn[
IndentBlock[block:CodeGenBlock] :=
StringDrop[" " <> StringReplace[FlattenBlock[block], {"\n" -> "\n "}],-2]];
+(* This should be used everywhere - need to tidy up the newline convention in CodeGen *)
+DefFn[
+ IndentBlock2[block:CodeGenBlock] :=
+ Riffle[Map[StringJoin[" ",#] &,
+ StringSplit[FlattenBlock[block],"\n"]],"\n"]];
+
DefFn[
SeparatedBlock[block:CodeGenBlock] := {"\n", block}];
ErrorDefinition[SeparatedBlock];