Zaehler.hs revision 9aa022d4a305b108d8501aa8c303317c7631305b
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett{- Projekt Lottery: Entwurf eines automatischen Formelgenerators
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett Zaehler.hs ist ein Programm zum wahlweisen Zaehlen von Formeln
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett und Termen die ueber CASL-Spezifikationen gebildet
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett werden koennen.
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett README enthaelt weitere Informationen zu diesem Programm.
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett Stand: 13.08.2002
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett Autoren: Markus Bandt
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett Lutz Schr�der
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblettmodule Zaehler where
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblettimport FiniteMap
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblettimport AS_Basic_CASL
77998f1139e55978f6288e905cd16565f2e20298Andy Gimbletttype Sort_Map = FiniteMap SORT [SORT]
77998f1139e55978f6288e905cd16565f2e20298Andy Gimbletttype Sort_Op_Index = FiniteMap SORT [Ops]
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblettdata Ops = Ops OP_NAME OP_TYPE
dd0d7990e6ce74fe7531c1c05eb672dd940a8be7Christian Maeder deriving (Show,Eq)
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblettdata Pred = Pred PRED_NAME PRED_TYPE
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett deriving (Show,Eq)
77998f1139e55978f6288e905cd16565f2e20298Andy Gimbletttype PredList = [Pred]
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett-- LS: <begin>
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblettdata Sign = Sign {
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett sort_map :: Sort_Map,
c052e3ee4a53ee3a2da829aa142fd596ef6c9e3dAndy Gimblett sort_op :: Sort_Op_Index
c052e3ee4a53ee3a2da829aa142fd596ef6c9e3dAndy Gimblettdata ExtSign = ExtSign {
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett sign :: Sign,
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett pList :: PredList
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblettdata Options = Options {
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett totalOnly, countDowncasts :: Bool
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblettdata ExtOptions = ExtOptions {
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett options :: Options,
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett countUEx :: Bool
77998f1139e55978f6288e905cd16565f2e20298Andy Gimbletttype Env = FiniteMap SORT Int
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett-- Signature-Section (LS) --------------------------------------
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett{-getSign erstellt Signatur zu Body -}
77998f1139e55978f6288e905cd16565f2e20298Andy GimblettgetSign :: [String] -> Sign
77998f1139e55978f6288e905cd16565f2e20298Andy GimblettgetSign body = Sign {
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett sort_map = getSortMap body,
77998f1139e55978f6288e905cd16565f2e20298Andy Gimblett sort_op = getSortOpIndex body
Sort_#Var_Map erzeugt. d.h. alle Sorten haben darin
.env.txt-Files die Op-Decls. und gibt diese in Form einer
*.env.txt-files eine Liste, aus der ein
*.env.txt-files einen Sort_Op_Index -}
file - .env.txt-File mit der Signatur
.env.txt-Files die Pred-Decls. und gibt diese in Form einer
file - .env.txt-File mit der Signatur
; putStr "\nHinweis: Der Zaehler arbeitet nur auf *.env.txt-files\n"
; putStr "(im *.env.txt-Format) enthaelt:\n"
; putStr "\nHinweis: Der Zaehler arbeitet nur auf *.env.txt-files\n"