aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2012-01-27 19:39:59 -0600
committerIan Hinder <ian.hinder@aei.mpg.de>2012-01-27 19:39:59 -0600
commit22e16e347de8426620019f6ff2866562cb23252b (patch)
tree82725c6c71d32900202d51f98116a4b96ac4a114
parent82ea63caccde8afba2ee1a8f3b9be897c4ec9d9a (diff)
KrancScript.m: Add support for variables and temporaries
-rw-r--r--Tools/CodeGen/KrancScript.m6
1 files changed, 4 insertions, 2 deletions
diff --git a/Tools/CodeGen/KrancScript.m b/Tools/CodeGen/KrancScript.m
index d5f1730..cc8cf4c 100644
--- a/Tools/CodeGen/KrancScript.m
+++ b/Tools/CodeGen/KrancScript.m
@@ -95,15 +95,17 @@ process[h_[args___]] :=
process[thorn:"thorn"[content___]] :=
Module[
- {calcs = {}, name, options},
+ {calcs = {}, name, options, variables = {}, temporaries = {}},
Do[Switch[el,
"calculation"[___], AppendTo[calcs,process[el]],
"name"[_], name = el[[1]],
+ "variables"[__], variables = Join[variables,List@@Map[process,el]],
+ "temporaries"[__], temporaries = Join[temporaries,List@@Map[process,el]],
_, ThrowError["Unrecognised element '"<>Head[el]<>"' in thorn"]],
{el, {content}}];
- options = {Calculations -> calcs};
+ options = {Calculations -> calcs, Variables -> variables, Shorthands -> temporaries};
CreateThornTTExpression[groups,parentDirectory,name,Sequence@@options]];
process[calc:"calculation"[content___]] :=