|
Revision 10471, 1.5 kB
(checked in by gimblett, 16 months ago)
|
|
CspCASL - line wrapping fixes
|
-
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.Id |
|---|
| 17 | |
|---|
| 18 | import CASL.AS_Basic_CASL (SORT, VAR) |
|---|
| 19 | |
|---|
| 20 | import CspCASL.AS_CspCASL_Process (CHANNEL_NAME, COMM_TYPE, PROCESS(..), |
|---|
| 21 | PROCESS_NAME) |
|---|
| 22 | |
|---|
| 23 | import Common.Id |
|---|
| 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_ITEM = Proc_Decl PROCESS_NAME PROC_ARGS PROC_ALPHABET |
|---|
| 37 | | Proc_Eq PARM_PROCNAME PROCESS |
|---|
| 38 | deriving Show |
|---|
| 39 | |
|---|
| 40 | type PROC_ARGS = [SORT] |
|---|
| 41 | |
|---|
| 42 | data PARM_PROCNAME = ParmProcname PROCESS_NAME [VAR] |
|---|
| 43 | deriving Show |
|---|
| 44 | |
|---|
| 45 | data PROC_ALPHABET = ProcAlphabet [COMM_TYPE] Range |
|---|
| 46 | deriving Show |
|---|
| 47 | |
|---|
| 48 | -- Sentences |
|---|
| 49 | |
|---|
| 50 | data CspCASLSentence = CspCASLSentence PROCESS_NAME [VAR] PROCESS |
|---|
| 51 | deriving (Show, Eq, Ord) |
|---|
| 52 | |
|---|
| 53 | emptyProcName :: PROCESS_NAME |
|---|
| 54 | emptyProcName = mkSimpleId "empty" |
|---|
| 55 | |
|---|
| 56 | emptyCCSentence :: CspCASLSentence |
|---|
| 57 | emptyCCSentence = CspCASLSentence emptyProcName [] |
|---|
| 58 | (NamedProcess emptyProcName [] nullRange) |
|---|