aboutsummaryrefslogtreecommitdiff
path: root/Sil/Parse.icl
diff options
context:
space:
mode:
authorCamil Staps2017-07-28 23:46:38 +0200
committerCamil Staps2017-07-28 23:46:38 +0200
commitfe76e2ad510ec9e4df965a9620f8d36778222c08 (patch)
tree4caec2a73064dc9ed44214c9625c99cf379647b8 /Sil/Parse.icl
parentAdd a semi-memoized fibonacci with lists (diff)
Add globals on A-stack
Diffstat (limited to 'Sil/Parse.icl')
-rw-r--r--Sil/Parse.icl6
1 files changed, 5 insertions, 1 deletions
diff --git a/Sil/Parse.icl b/Sil/Parse.icl
index cdd117f..7325826 100644
--- a/Sil/Parse.icl
+++ b/Sil/Parse.icl
@@ -121,7 +121,11 @@ parse :: ([Token] -> MaybeError Error Program)
parse = fst o runParser program
program :: Parser Token Program
-program = (\fs -> {p_funs=fs}) <$> some function <* eof
+program =
+ many initialisation >>= \globss ->
+ some function >>= \fs ->
+ eof $>
+ {p_globals=flatten globss, p_funs=fs}
function :: Parser Token Function
function =