root/trunk/CspCASL/AS_CspCASL.der.hs @ 11215

Revision 11215, 1.2 kB (checked in by csliam, 11 months ago)

Large commit - improved static analysis of cspcasl and translation of cspcasl to isabelle

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1{- |
2Module      :  $Id$
3Description :  Abstract syntax fo CspCASL
4Copyright   :  (c) Markus Roggenbach and Till Mossakowski and Uni Bremen 2004
5License     :  similar to LGPL, see HetCATS/LICENSE.txt or LIZENZ.txt
6
7Maintainer  :  a.m.gimblett@swan.ac.uk
8Stability   :  provisional
9Portability :  portable
10
11Abstract syntax of CSP-CASL processes.
12
13-}
14module CspCASL.AS_CspCASL where
15
16import Common.Doc
17import Common.DocUtils
18import Common.Id
19
20import CASL.AS_Basic_CASL (SORT, VAR, FORMULA)
21
22import CspCASL.AS_CspCASL_Process (CHANNEL_NAME, COMM_TYPE, PROCESS(..),
23                                   PROCESS_NAME)
24
25-- DrIFT command
26{-! global: GetRange !-}
27
28data CspBasicSpec = CspBasicSpec
29    { channels :: [CHANNEL_DECL]
30    , proc_items :: [PROC_ITEM]
31    } deriving Show
32
33data CHANNEL_DECL = ChannelDecl [CHANNEL_NAME] SORT
34                    deriving Show
35
36data PROC_ALPHABET = ProcAlphabet [COMM_TYPE] Range
37                     deriving (Show,Ord, Eq)
38
39data PROC_ITEM = Proc_Decl PROCESS_NAME PROC_ARGS PROC_ALPHABET
40               | Proc_Eq PARM_PROCNAME PROCESS
41                 deriving Show
42
43type PROC_ARGS = [SORT]
44
45data PARM_PROCNAME = ParmProcname PROCESS_NAME [VAR]
46                     deriving Show
Note: See TracBrowser for help on using the browser.