Commit 9878014b authored by Laszlo Domoszlai's avatar Laszlo Domoszlai
Browse files

order let bindings

parent 66795043
...@@ -2,6 +2,7 @@ module precompiler ...@@ -2,6 +2,7 @@ module precompiler
import Sapl.SaplParser import Sapl.SaplParser
import Sapl.SaplTokenizer import Sapl.SaplTokenizer
import Sapl.Transform.Let
import StdBool, StdList, StdOrdList, StdFile, StdFunc, StdArray, StdDebug import StdBool, StdList, StdOrdList, StdFile, StdFunc, StdArray, StdDebug
...@@ -97,6 +98,7 @@ where ...@@ -97,6 +98,7 @@ where
sTermS ctx (SSelect expr cs) a = a <++ "S" <++ sTerm {ctx & inspine = False} expr <++ sList (sSelectCase ctx) (sortBy selectCaseOrder cs) sTermS ctx (SSelect expr cs) a = a <++ "S" <++ sTerm {ctx & inspine = False} expr <++ sList (sSelectCase ctx) (sortBy selectCaseOrder cs)
sTermS ctx (SIf cond texpr fexpr) a = a <++ "I" <++ sTerm {ctx & inspine = False} cond <++ sTerm ctx texpr <++ sTerm ctx fexpr sTermS ctx (SIf cond texpr fexpr) a = a <++ "I" <++ sTerm {ctx & inspine = False} cond <++ sTerm ctx texpr <++ sTerm ctx fexpr
sTermS ctx (SLet body bindings) a sTermS ctx (SLet body bindings) a
# bindings = fromJust (sortBindings bindings)
# ctx = {ctx & vars = registerVars ctx.vars ctx.localcount (map unpackBindVar bindings), localcount = ctx.localcount + length bindings} # ctx = {ctx & vars = registerVars ctx.vars ctx.localcount (map unpackBindVar bindings), localcount = ctx.localcount + length bindings}
= a <++ "E" <++ sTerm ctx body <++ sList (sLetDef {ctx & inspine = False}) bindings = a <++ "E" <++ sTerm ctx body <++ sList (sLetDef {ctx & inspine = False}) bindings
......
...@@ -7,7 +7,7 @@ Global ...@@ -7,7 +7,7 @@ Global
CheckStacks: False CheckStacks: False
CheckIndexes: True CheckIndexes: True
Application Application
HeapSize: 2097152 HeapSize: 20971520
StackSize: 512000 StackSize: 512000
ExtraMemory: 81920 ExtraMemory: 81920
IntialHeapSize: 204800 IntialHeapSize: 204800
...@@ -893,6 +893,20 @@ OtherModules ...@@ -893,6 +893,20 @@ OtherModules
ReadableABC: False ReadableABC: False
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module
Name: Sapl.Transform.Let
Dir: {Application}\iTasks-SDK\Dependencies\clean-sapl\src
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
StrictnessAnalysis: True
ListTypes: StrictExportTypes
ListAttributes: True
Warnings: True
Verbose: True
ReadableABC: False
ReuseUniqueNodes: True
Fusion: False
Module Module
Name: _SystemDynamic Name: _SystemDynamic
Dir: {Application}\iTasks-SDK\Patches\Dynamics Dir: {Application}\iTasks-SDK\Patches\Dynamics
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment