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