module Drasil.GlassBR.Choices where import Language.Drasil.Code (Choices(..), CodeSpec, codeSpec, Comments(..), Verbosity(..), ConstraintBehaviour(..), ImplementationType(..), Lang(..), Logging(..), Modularity(..), Structure(..), ConstantStructure(..), ConstantRepr(..), InputModule(..), AuxFile(..), Visibility(..), makeArchit, makeData, makeConstraints, makeDocConfig, makeLogConfig, makeOptFeats, defaultChoices) import Drasil.GlassBR.ModuleDefs (allMods) import Drasil.GlassBR.Body (fullSI) code :: CodeSpec code :: CodeSpec code = SystemInformation -> Choices -> [Mod] -> CodeSpec codeSpec SystemInformation fullSI Choices choices [Mod] allMods choices :: Choices choices :: Choices choices = Choices defaultChoices { lang :: [Lang] lang = [Lang Python, Lang Cpp, Lang CSharp, Lang Java, Lang Swift], architecture :: Architecture architecture = Modularity -> ImplementationType -> Architecture makeArchit (InputModule -> Modularity Modular InputModule Separated) ImplementationType Program, dataInfo :: DataInfo dataInfo = Structure -> ConstantStructure -> ConstantRepr -> DataInfo makeData Structure Bundled ConstantStructure Inline ConstantRepr Const, optFeats :: OptionalFeatures optFeats = DocConfig -> LogConfig -> [AuxFile] -> OptionalFeatures makeOptFeats ([Comments] -> Verbosity -> Visibility -> DocConfig makeDocConfig [Comments CommentFunc, Comments CommentClass, Comments CommentMod] Verbosity Quiet Visibility Hide) ([Logging] -> FilePath -> LogConfig makeLogConfig [Logging LogVar, Logging LogFunc] FilePath "log.txt") [FilePath -> AuxFile SampleInput FilePath "../../datafiles/glassbr/sampleInput.txt", AuxFile ReadME], srsConstraints :: Constraints srsConstraints = ConstraintBehaviour -> ConstraintBehaviour -> Constraints makeConstraints ConstraintBehaviour Exception ConstraintBehaviour Exception }