diff options
author | Camil Staps | 2017-07-18 12:05:16 +0000 |
---|---|---|
committer | Camil Staps | 2017-07-18 12:05:16 +0000 |
commit | 7d8baccc8abde6eb547dca7fa519ddac380c90c8 (patch) | |
tree | 8a643f9e8398ff44238f2c1187d659519121b71c /Sil | |
parent | Easier interface (diff) |
Allow for multiple initialisations on one line
Diffstat (limited to 'Sil')
-rw-r--r-- | Sil/Parse.icl | 10 |
1 files changed, 5 insertions, 5 deletions
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 |