module UseCaseModel.Parsers.BNFC.AbsUCM where

-- Haskell module generated by the BNF converter

newtype Ident = Ident String deriving (Eq,Ord,Show)
data Advice =
   TBeforeAdvice AdviceDec
 | TAfterAdvice AdviceDec
 | TAroundAdvice AdviceDec
  deriving (Eq,Ord,Show)

data AdviceDec =
   TAdviceDec AdvId AdvDesc Flow
  deriving (Eq,Ord,Show)

data AdvId =
   TAdvId Ident
  deriving (Eq,Ord,Show)

data AdvDesc =
   TAdvDesc String
  deriving (Eq,Ord,Show)

data Flow =
   TFlow [Step]
  deriving (Eq,Ord,Show)

data Step =
   TBasicStep StepId Action System Response
 | TProceed
  deriving (Eq,Ord,Show)

data Action =
   TAction String
  deriving (Eq,Ord,Show)

data System =
   TSystem String
  deriving (Eq,Ord,Show)

data Response =
   TResponse String
  deriving (Eq,Ord,Show)

data StepId =
   TStepId Ident
  deriving (Eq,Ord,Show)

