From 7d8baccc8abde6eb547dca7fa519ddac380c90c8 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Tue, 18 Jul 2017 12:05:16 +0000 Subject: Allow for multiple initialisations on one line --- Sil/Parse.icl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Sil') diff --git a/Sil/Parse.icl b/Sil/Parse.icl index a9d733d..5c13c48 100644 --- a/Sil/Parse.icl +++ b/Sil/Parse.icl @@ -104,16 +104,16 @@ function = } codeblock :: Parser Token CodeBlock -codeblock = many initialisation >>= \i -> +codeblock = many initialisation >>= \is -> many statement >>= \s -> - pure {cb_init=i, cb_content=s} + pure {cb_init=flatten is, cb_content=s} -initialisation :: Parser Token Initialisation +initialisation :: Parser Token [Initialisation] initialisation = type >>= \t -> - name >>= \n -> + seplist TComma name >>= \ns -> item TSemicolon >>= \_ -> - pure {init_type=t, init_name=n} + pure [{init_type=t, init_name=n} \\ n <- ns] statement :: Parser Token Statement statement = (declaration -- cgit v1.2.3