<commit_before>{-# LANGUAGE PostfixOperators #-}
module Drasil.SglPendulum.Body where

import Language.Drasil hiding (organization, section)
import Theory.Drasil (TheoryModel)
import Language.Drasil.Printers (PrintingInformation(..), defaultConfiguration, piSys)
import Database.Drasil (Block, ChunkDB, ReferenceDB, SystemInformation(SI),
  cdb, rdb, refdb, _authors, _purpose, _concepts, _constants, _constraints, 
  _datadefs, _instModels, _configFiles, _defSequence, _inputs, _kind, _outputs,
  _quants, _sys, _sysinfodb, _usedinfodb, _folderPath)
import Utils.Drasil
import Utils.Drasil.Concepts
import Data.Drasil.Concepts.Education (educon)
import qualified Utils.Drasil.NounPhrase as NP
import qualified Utils.Drasil.Sentence as S

import Data.Drasil.People (olu)
import Data.Drasil.SI_Units (metre, second, newton, kilogram, degree, radian, hertz)
import Data.Drasil.Software.Products (prodtcon)
import Data.Drasil.Concepts.Software (program, errMsg)
import Data.Drasil.Concepts.Physics (gravity, physicCon, physicCon', pendulum, twoD, motion)
import Data.Drasil.Theories.Physics (newtonSL, accelerationTM, velocityTM, newtonSLR)
import Data.Drasil.TheoryConcepts (inModel)
import Data.Drasil.Quantities.Physics (physicscon)
import Data.Drasil.Concepts.PhysicalProperties (mass, len, physicalcon)
import qualified Data.Drasil.Concepts.Documentation as Doc (srs)
import Data.Drasil.Concepts.Documentation (problem, srsDomains, doccon, doccon', analysis)
import Data.Drasil.Concepts.Computation (compcon, inValue, algorithm)
import Drasil.DocLang (AuxConstntSec(AuxConsProg),
  DerivationDisplay(ShowDerivation),
  DocSection(..),
  Emphasis(Bold), Field(..), Fields, InclUnits(IncludeUnits),
  IntroSec(..), IntroSub(IPurpose, IScope, IChar, IOrgSec), ProblemDescription(PDProg), PDSub(..),
  RefSec(..), RefTab(..), ReqrmntSec(..), ReqsSub(..), SCSSub(..), SRSDecl,
  SSDSec(..), SSDSub(SSDProblem, SSDSolChSpec), SolChSpec(SCSProg),
  TConvention(..), TSIntro(..), TraceabilitySec(TraceabilityProg), GSDSec(..), GSDSub(..),
  Verbosity(Verbose), intro, mkDoc, traceMatStandard, tsymb, purpDoc, fillcdbSRS)

import qualified Drasil.DocLang.SRS as SRS
import Data.Drasil.Concepts.Math (mathcon, cartesian, mathcon')
import Data.Drasil.Quantities.Math (unitVect, unitVectj)

import Drasil.DblPendulum.Body (justification, charsOfReader, organizationOfDocumentsIntro,
  physSystParts, sysCtxIntro, sysCtxDesc, sysCtxFig1,
  sysCtxList, userCharacteristicsIntro)
import Drasil.DblPendulum.Concepts (concepts, pendMotion, progName)

import Drasil.SglPendulum.Figures (figMotion)
import Drasil.SglPendulum.Assumptions (assumptions)
import Drasil.SglPendulum.Goals (goals, goalsInputs)
import Drasil.SglPendulum.DataDefs (dataDefs)
import Drasil.SglPendulum.IMods (iMods)
import Drasil.SglPendulum.GenDefs (genDefns)
import Drasil.SglPendulum.Unitals (symbols, inputs, outputs,
  inConstraints, outConstraints, acronyms)
import Drasil.SglPendulum.Requirements (funcReqs, nonFuncReqs)
import Drasil.SglPendulum.References (citations)


srs :: Document
srs = mkDoc mkSRS (S.forGen titleize phrase) si

fullSI :: SystemInformation
fullSI = fillcdbSRS mkSRS si

printSetting :: PrintingInformation
printSetting = piSys fullSI Equational defaultConfiguration

resourcePath :: String
resourcePath = "../../../datafiles/SglPendulum/"

mkSRS :: SRSDecl
mkSRS = [TableOfContents, -- This creates the Table of Contents
  RefSec $      --This creates the Reference section of the SRS<commit_msg>add dblpendulum requirement and unitals<commit_after>{-# LANGUAGE PostfixOperators #-}
module Drasil.SglPendulum.Body where

import Language.Drasil hiding (organization, section)
import Theory.Drasil (TheoryModel)
import Language.Drasil.Printers (PrintingInformation(..), defaultConfiguration, piSys)
import Database.Drasil (Block, ChunkDB, ReferenceDB, SystemInformation(SI),
  cdb, rdb, refdb, _authors, _purpose, _concepts, _constants, _constraints, 
  _datadefs, _instModels, _configFiles, _defSequence, _inputs, _kind, _outputs,
  _quants, _sys, _sysinfodb, _usedinfodb, _folderPath)
import Utils.Drasil
import Utils.Drasil.Concepts
import Data.Drasil.Concepts.Education (educon)
import qualified Utils.Drasil.NounPhrase as NP
import qualified Utils.Drasil.Sentence as S

import Data.Drasil.People (olu)
import Data.Drasil.SI_Units (metre, second, newton, kilogram, degree, radian, hertz)
import Data.Drasil.Software.Products (prodtcon)
import Data.Drasil.Concepts.Software (program, errMsg)
import Data.Drasil.Concepts.Physics (gravity, physicCon, physicCon', pendulum, twoD, motion)
import Data.Drasil.Theories.Physics (newtonSL, accelerationTM, velocityTM, newtonSLR)
import Data.Drasil.TheoryConcepts (inModel)
import Data.Drasil.Quantities.Physics (physicscon)
import Data.Drasil.Concepts.PhysicalProperties (mass, len, physicalcon)
import qualified Data.Drasil.Concepts.Documentation as Doc (srs)
import Data.Drasil.Concepts.Documentation (problem, srsDomains, doccon, doccon', analysis)
import Data.Drasil.Concepts.Computation (compcon, inValue, algorithm)
import Drasil.DocLang (AuxConstntSec(AuxConsProg),
  DerivationDisplay(ShowDerivation),
  DocSection(..),
  Emphasis(Bold), Field(..), Fields, InclUnits(IncludeUnits),
  IntroSec(..), IntroSub(IPurpose, IScope, IChar, IOrgSec), ProblemDescription(PDProg), PDSub(..),
  RefSec(..), RefTab(..), ReqrmntSec(..), ReqsSub(..), SCSSub(..), SRSDecl,
  SSDSec(..), SSDSub(SSDProblem, SSDSolChSpec), SolChSpec(SCSProg),
  TConvention(..), TSIntro(..), TraceabilitySec(TraceabilityProg), GSDSec(..), GSDSub(..),
  Verbosity(Verbose), intro, mkDoc, traceMatStandard, tsymb, purpDoc, fillcdbSRS)

import qualified Drasil.DocLang.SRS as SRS
import Data.Drasil.Concepts.Math (mathcon, cartesian, mathcon')
import Data.Drasil.Quantities.Math (unitVect, unitVectj)

import Drasil.DblPendulum.Body (justification, charsOfReader, organizationOfDocumentsIntro,
  physSystParts, sysCtxIntro, sysCtxDesc, sysCtxFig1,
  sysCtxList, userCharacteristicsIntro)
import Drasil.DblPendulum.Concepts (concepts, pendMotion, progName)
import Drasil.DblPendulum.Requirements (nonFuncReqs)
import Drasil.DblPendulum.Unitals (symbols, acronyms)

import Drasil.SglPendulum.Figures (figMotion)
import Drasil.SglPendulum.Assumptions (assumptions)
import Drasil.SglPendulum.Goals (goals, goalsInputs)
import Drasil.SglPendulum.DataDefs (dataDefs)
import Drasil.SglPendulum.IMods (iMods)
import Drasil.SglPendulum.GenDefs (genDefns)
import Drasil.SglPendulum.Unitals (inputs, outputs,
  inConstraints, outConstraints)
import Drasil.SglPendulum.Requirements (funcReqs)
import Drasil.SglPendulum.References (citations)


srs :: Document
srs = mkDoc mkSRS (S.forGen titleize phrase) si

fullSI :: SystemInformation
fullSI = fillcdbSRS mkSRS si

printSetting :: PrintingInformation
printSetting = piSys fullSI Equational defaultConfiguration

resourcePath :: String
resourcePath = "../../../datafiles/SglPendulum/"

mkSRS :: SRSDecl
mkSRS = [TableOfContents, -- This creates the Table of Contents
  RefSec $      --This creates the Reference section of the SRS
{'fraction_non_alphanumeric': 0.10804695234054588, 'fraction_numerical': 0.000282845424975251, 'mean_word_length': 6.596133190118152, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7549613', 'n_tokens_mistral': 2565, 'n_tokens_neox': 2494, 'n_words': 549}