diff options
Diffstat (limited to 'Assignment2/src/DTMC.icl')
-rw-r--r-- | Assignment2/src/DTMC.icl | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/Assignment2/src/DTMC.icl b/Assignment2/src/DTMC.icl index 6c81510..1d9bafd 100644 --- a/Assignment2/src/DTMC.icl +++ b/Assignment2/src/DTMC.icl @@ -16,6 +16,7 @@ import Data.List import qualified Data.Map as M from Data.Map import :: Map, alter import Data.Maybe +import System.CommandLine import System.File import System.FilePath import Text @@ -169,8 +170,8 @@ printDTMC dtmc=:{nr_states,states} # (state_strings,states) = printStates 0 states # s = join "\n" [ "@type: DTMC" - , "@parameters" - , "@reward_models" + , "@parameters\n" + , "@reward_models\n" , "@nr_states" , toString nr_states , "@model" @@ -213,7 +214,16 @@ where addVar f t (Just fn) = Just ("((" <+ fn <+ ") + v" <+ f <+ "_" <+ t <+ ")") Start w -# (dtmc,w) = parseDTMC "die.drn" w +# ([prog:args],w) = getCommandLine w +| length args <> 2 + # (io,w) = stdio w + # io = io <<< "Usage: " <<< prog <<< " DRN_IN DRN_OUT\n" + # (_,w) = fclose io w + = w +# [drn_in,drn_out:_] = args +# (dtmc,w) = parseDTMC drn_in w # dtmc = addVars dtmc # dtmc = stateElimination dtmc -= printDTMC dtmc +# (dtmcs,dtmc) = printDTMC dtmc +# (_,w) = writeFile drn_out dtmcs w += w |