uni2work.workflows.visualiser/dsl/app/Main.hs
2023-08-31 13:46:07 +02:00

31 lines
856 B
Haskell

-- SPDX-FileCopyrightText: 2023 David Mosbach <david.mosbach@campus.lmu.de>
--
-- 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