31 lines
859 B
Haskell
31 lines
859 B
Haskell
-- SPDX-FileCopyrightText: 2023 David Mosbach <david.mosbach@campus.lmu.de>
|
|
--
|
|
-- SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
module DSLMain 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
|