aboutsummaryrefslogtreecommitdiff
path: root/Sil/Parse.icl
diff options
context:
space:
mode:
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 =