module Drasil.Sections.GeneralSystDesc where
import Language.Drasil
import Language.Drasil.Sentence.Combinators
import Drasil.Sections.ReferenceMaterial (emptySectSentPlu)
import Data.Drasil.Concepts.Documentation (interface, system, environment,
userCharacteristic, systemConstraint, information, section_, sysCont)
import qualified Drasil.DocLang.SRS as SRS (sysCon, sysCont, userChar)
genSysIntro :: Contents
genSysIntro :: Contents
genSysIntro = [Sentence] -> Contents
foldlSP [String -> Sentence
S String
"This", IdeaDict -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase IdeaDict
section_, String -> Sentence
S String
"provides general",
IdeaDict -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase IdeaDict
information, String -> Sentence
S String
"about the" Sentence -> Sentence -> Sentence
+:+. IdeaDict -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase IdeaDict
system, String -> Sentence
S String
"It identifies the",
IdeaDict -> Sentence
forall n. NamedIdea n => n -> Sentence
plural IdeaDict
interface, String -> Sentence
S String
"between the", IdeaDict -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase IdeaDict
system Sentence -> Sentence -> Sentence
`andIts` IdeaDict -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase IdeaDict
environment Sentence -> Sentence -> Sentence
`sC`
String -> Sentence
S String
"describes the", IdeaDict -> Sentence
forall n. NamedIdea n => n -> Sentence
plural IdeaDict
userCharacteristic Sentence -> Sentence -> Sentence
`sC` String -> Sentence
S String
"and lists the", IdeaDict -> Sentence
forall n. NamedIdea n => n -> Sentence
plural IdeaDict
systemConstraint]
usrCharsF :: [Contents] -> Section
usrCharsF :: [Contents] -> Section
usrCharsF [] = [Contents] -> [Section] -> Section
SRS.userChar [Sentence -> Contents
mkParagraph (Sentence -> Contents) -> Sentence -> Contents
forall a b. (a -> b) -> a -> b
$ [IdeaDict] -> Sentence
forall n. NamedIdea n => [n] -> Sentence
emptySectSentPlu [IdeaDict
userCharacteristic]] []
usrCharsF [Contents]
intro = [Contents] -> [Section] -> Section
SRS.userChar [Contents]
intro []
systCon :: [Contents] -> [Section] -> Section
systCon :: [Contents] -> [Section] -> Section
systCon [] [Section]
subSec = [Contents] -> [Section] -> Section
SRS.sysCon [Sentence -> Contents
mkParagraph (Sentence -> Contents) -> Sentence -> Contents
forall a b. (a -> b) -> a -> b
$ [IdeaDict] -> Sentence
forall n. NamedIdea n => [n] -> Sentence
emptySectSentPlu [IdeaDict
systemConstraint]] [Section]
subSec
systCon [Contents]
a [Section]
subSec = [Contents] -> [Section] -> Section
SRS.sysCon [Contents]
a [Section]
subSec
sysContxt :: [Contents] -> Section
sysContxt :: [Contents] -> Section
sysContxt [] = [Contents] -> [Section] -> Section
SRS.sysCont [Sentence -> Contents
mkParagraph (Sentence -> Contents) -> Sentence -> Contents
forall a b. (a -> b) -> a -> b
$ [IdeaDict] -> Sentence
forall n. NamedIdea n => [n] -> Sentence
emptySectSentPlu [IdeaDict
sysCont]] []
sysContxt [Contents]
cs = [Contents] -> [Section] -> Section
SRS.sysCont [Contents]
cs []