diff --git a/src/Bergamot/Parser.elm b/src/Bergamot/Parser.elm index eeb6619..799304c 100644 --- a/src/Bergamot/Parser.elm +++ b/src/Bergamot/Parser.elm @@ -1,7 +1,7 @@ module Bergamot.Parser exposing (..) import Bergamot.Syntax exposing (Term(..), Metavariable) -import Bergamot.Rules exposing (Rule) +import Bergamot.Rules exposing (Rule, RuleEnv) import Parser exposing (Parser, Trailing(..), (|.), (|=)) import Set @@ -57,3 +57,16 @@ rule = , item = term , trailing = Forbidden } + +program : Parser RuleEnv +program = + Parser.succeed (\rs -> { rules = rs }) + |= Parser.sequence + { start = "" + , separator = ";" + , end = "" + , spaces = Parser.spaces + , item = rule + , trailing = Mandatory + } + |. Parser.end