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

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{- |
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.Id
17
18import CASL.AS_Basic_CASL (SORT, VAR)
19
20import CspCASL.AS_CspCASL_Process (CHANNEL_NAME, COMM_TYPE, PROCESS(..),
21                                   PROCESS_NAME)
22
23import Common.Id
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_ITEM = Proc_Decl PROCESS_NAME PROC_ARGS PROC_ALPHABET
37               | Proc_Eq PARM_PROCNAME PROCESS
38                 deriving Show
39
40type PROC_ARGS = [SORT]
41
42data PARM_PROCNAME = ParmProcname PROCESS_NAME [VAR]
43                     deriving Show
44
45data PROC_ALPHABET = ProcAlphabet [COMM_TYPE] Range
46                     deriving Show
47
48-- Sentences
49
50data CspCASLSentence = CspCASLSentence PROCESS_NAME [VAR] PROCESS
51               deriving (Show, Eq, Ord)
52
53emptyProcName :: PROCESS_NAME
54emptyProcName = mkSimpleId "empty"
55
56emptyCCSentence :: CspCASLSentence
57emptyCCSentence = CspCASLSentence emptyProcName []
58                      (NamedProcess emptyProcName [] nullRange)
Note: See TracBrowser for help on using the browser.