aboutsummaryrefslogtreecommitdiff
path: root/backend/backendinterface.icl
diff options
context:
space:
mode:
Diffstat (limited to 'backend/backendinterface.icl')
-rw-r--r--backend/backendinterface.icl19
1 files changed, 8 insertions, 11 deletions
diff --git a/backend/backendinterface.icl b/backend/backendinterface.icl
index 5045ec1..fb65d3c 100644
--- a/backend/backendinterface.icl
+++ b/backend/backendinterface.icl
@@ -19,8 +19,8 @@ checkVersion VersionObservedIsTooOld errorFile
= fwrites "[Backend] the back end library is too old\n" errorFile
= (False, errorFile)
-backEndInterface :: !{#Char} [{#Char}] !PredefinedSymbols !*FrontEndSyntaxTree !*File !*Files -> (!Bool, !*File, !*Files)
-backEndInterface outputFileName commandLineArgs predefs syntaxTree errorFile files
+backEndInterface :: !{#Char} [{#Char}] !PredefinedSymbols !FrontEndSyntaxTree !Int !*VarHeap !*File !*Files -> (!Bool,!*VarHeap, !*File, !*Files)
+backEndInterface outputFileName commandLineArgs predef_symbols syntaxTree=:{fe_icl,fe_components} main_dcl_module_n var_heap errorFile files
# (observedCurrent, observedOldestDefinition, observedOldestImplementation)
= BEGetVersion
observedVersion =
@@ -42,25 +42,22 @@ backEndInterface outputFileName commandLineArgs predefs syntaxTree errorFile fil
# (compatible, errorFile)
= checkVersion (versionCompare expectedVersion observedVersion) errorFile
| not compatible
- = (False, errorFile, files)
+ = (False, var_heap,errorFile, files)
# varHeap
- = backEndPreprocess predefs.[PD_DummyForStrictAliasFun].pds_ident functionIndices
- syntaxTree.fe_icl syntaxTree.fe_varHeap
+ = backEndPreprocess predef_symbols.[PD_DummyForStrictAliasFun].pds_ident functionIndices fe_icl var_heap
with
functionIndices
- = flatten [[member \\ member <- group.group_members] \\ group <-: syntaxTree.fe_components]
- syntaxTree
- = {syntaxTree & fe_varHeap = varHeap}
+ = flatten [[member \\ member <- group.group_members] \\ group <-: fe_components]
# backEndFiles
= 0
# (backEnd, backEndFiles)
= BEInit (length commandLineArgs) backEndFiles
# backEnd
= foldState BEArg commandLineArgs backEnd
- # backEnd
- = backEndConvertModules predefs syntaxTree varHeap backEnd
+ # (var_heap,backEnd)
+ = backEndConvertModules predef_symbols syntaxTree main_dcl_module_n varHeap backEnd
# (success, backEnd)
= BEGenerateCode outputFileName backEnd
# backEndFiles
= BEFree backEnd backEndFiles
- = (backEndFiles == 0 && success, errorFile, files)
+ = (backEndFiles == 0 && success, var_heap,errorFile, files)