-- SPDX-FileCopyrightText: 2023 David Mosbach -- -- SPDX-License-Identifier: AGPL-3.0-or-later module Main where import DSL (parseSubStageDef) import Data.ByteString.Lazy.UTF8 as BSLU program = "required substage InterneBearbeitung when unfulfilled {\n" ++ "let always_required = not edges_in_history([a, b, c])\n" ++ "let sometimes_required = { payload_filled(foo), not bar }\n" ++ "case {\n" ++ "always_required,\n" ++ "edge_in_history(abbrechen),\n" ++ "not payloads_filled([]),\n" ++ "nodes_in_history([x, y, z])\n" ++ "}\n" ++ "case {\n" ++ "always_required,\n" ++ "not previous_nodes()\n" ++ "}\n" ++ "}\n" main :: IO () main = print . parseSubStageDef $ BSLU.fromString program