Cross Reference: /hets/Modal/Parse_AS.hs
Parse_AS.hs revision 2b4130336e941b7d01c78a6da55449a4c6eca609
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
38df2bfbe2de19e549aa812bab7c79fcf869b308Till Mossakowski{-
38df2bfbe2de19e549aa812bab7c79fcf869b308Till MossakowskiModule : $Header$
38df2bfbe2de19e549aa812bab7c79fcf869b308Till MossakowskiCopyright : (c) Till Mossakowski, Wiebke Herding and Uni Bremen 2003
aabc0d2680ea5411d5a9c82c1b2ca1f4144ca18fRainer GrabbeLicence : All rights reserved.
98890889ffb2e8f6f722b00e265a211f13b5a861Corneliu-Claudiu Prodescu
38df2bfbe2de19e549aa812bab7c79fcf869b308Till MossakowskiMaintainer : hets@tzi.de
2eeec5240b424984e3ee26296da1eeab6c6d739eChristian MaederStability : provisional
38df2bfbe2de19e549aa812bab7c79fcf869b308Till MossakowskiPortability : portable
38df2bfbe2de19e549aa812bab7c79fcf869b308Till Mossakowski
38df2bfbe2de19e549aa812bab7c79fcf869b308Till Mossakowski Parser for modal logic extension of CASL
38df2bfbe2de19e549aa812bab7c79fcf869b308Till Mossakowski-}
38df2bfbe2de19e549aa812bab7c79fcf869b308Till Mossakowski
38df2bfbe2de19e549aa812bab7c79fcf869b308Till Mossakowski
38df2bfbe2de19e549aa812bab7c79fcf869b308Till Mossakowskimodule Modal.Parse_AS where
f7fe363b4d668402d4a604727418e99a48abf533Christian Maederimport Common.AnnoState
38df2bfbe2de19e549aa812bab7c79fcf869b308Till Mossakowskiimport Common.Id
38df2bfbe2de19e549aa812bab7c79fcf869b308Till Mossakowskiimport Common.Token
7ace2968c79dc566e2c1e271663e4ff9d8e88067Till Mossakowskiimport Common.Keywords
38df2bfbe2de19e549aa812bab7c79fcf869b308Till Mossakowskiimport Common.Lexer
baef5e750fbc19bad340a3293a17ba34d4fabbedChristian Maederimport Modal.AS_Modal
8b0bd90bc649e740c134ad0946e0d0409c3c96e6Christian Maederimport Common.AS_Annotation
8b0bd90bc649e740c134ad0946e0d0409c3c96e6Christian Maederimport Common.Lib.Parsec
aabc0d2680ea5411d5a9c82c1b2ca1f4144ca18fRainer Grabbe
38df2bfbe2de19e549aa812bab7c79fcf869b308Till Mossakowski
8b66de47c89e252c907c8ed3a5ccd16dbccbfb3eChristian MaederboxKey, diamondKey :: AParser Token
8b0bd90bc649e740c134ad0946e0d0409c3c96e6Christian MaederboxKey = asKey boxS
8b0bd90bc649e740c134ad0946e0d0409c3c96e6Christian MaederdiamondKey = asKey diamondS
8b0bd90bc649e740c134ad0946e0d0409c3c96e6Christian Maeder
7857e6ac0ed79540893dcb3e22af571ab2894932Till MossakowskimodalFormula :: [String] -> AParser M_FORMULA
38df2bfbe2de19e549aa812bab7c79fcf869b308Till MossakowskimodalFormula k =
2df21ee905717748894ce0d1b775b2a01bef4a44Christian Maeder do c <- boxKey
2df21ee905717748894ce0d1b775b2a01bef4a44Christian Maeder f <- primFormula k
2df21ee905717748894ce0d1b775b2a01bef4a44Christian Maeder return (Box None f [tokPos c])
8b0bd90bc649e740c134ad0946e0d0409c3c96e6Christian Maeder <|>
38df2bfbe2de19e549aa812bab7c79fcf869b308Till Mossakowski do c <- diamondKey
baef5e750fbc19bad340a3293a17ba34d4fabbedChristian Maeder f <- primFormula k
f64563593a58e0e9de073c21ae69a1a877cb4692Till Mossakowski return (Diamond None f [tokPos c])
e194ab763147ac5df9c02fe40bdb5172013c36e8Christian Maeder
baef5e750fbc19bad340a3293a17ba34d4fabbedChristian Maederinstance Parsable M_FORMULA where
baef5e750fbc19bad340a3293a17ba34d4fabbedChristian Maeder aparser = modalFormula
38df2bfbe2de19e549aa812bab7c79fcf869b308Till Mossakowski
7b7ca7ef1ad99f1da0057cb8a6aa68cf6d04359bTill Mossakowski
f7fe363b4d668402d4a604727418e99a48abf533Christian Maeder
f7fe363b4d668402d4a604727418e99a48abf533Christian Maeder
f7fe363b4d668402d4a604727418e99a48abf533Christian Maeder
f7fe363b4d668402d4a604727418e99a48abf533Christian Maeder