diff options
Diffstat (limited to 'Sil/Parse.icl')
-rw-r--r-- | Sil/Parse.icl | 6 |
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 = |