CspCASL_Keywords.hs revision a225a2c96187b441666b683f924a50fc5e77b20a
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann{- |
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannModule : $Header$
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannDescription : CspCASL keywords to be used for parsing and printing
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannCopyright : (c) Andy Gimblett and Swansea University 2006
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannLicense : GPLv2 or higher, see LICENSE.txt
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannMaintainer : a.m.gimblett@swan.ac.uk
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannStability : provisional
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannPortability : portable
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannString constants for CspCASL keywords to be used for parsing and
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmannprinting.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann-}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmannmodule CspCASL.CspCASL_Keywords where
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmannimport Common.Keywords
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann-- | Keywords identifying beginning of channel declaration part.
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannchannelS :: String
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannchannelS = "channel"
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann-- | Keyword identifying beginning of process equation part.
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannprocessS :: String
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannprocessS = "process"
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann-- | "RUN" primitive process
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannrunS :: String
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannrunS = "RUN"
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann-- | "CHAOS" primitive process
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannchaosS :: String
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannchaosS = "CHAOS"
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann-- | "div" primitive process
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmanndivS :: String
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmanndivS = "DIV"
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann-- | "SKIP" primitive process
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannskipS :: String
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannskipS = "SKIP"
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann-- | "STOP" primitive process
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannstopS :: String
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmannstopS = "STOP"
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmannchan_sendS :: String
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmannchan_sendS = "!"
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmannchan_receiveS :: String
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmannchan_receiveS = "?"
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmannsvar_sortS :: String
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmannsvar_sortS = "::"
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmanndoubleSemis :: String
2450a4210dee64b064499a3a1154129bdfc74981Daniel HausmanndoubleSemis = ";;"
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann
-- | starting CSP-CASL keywords
startCspKeywords :: [String]
startCspKeywords =
[ channelS
, channelS ++ "s"
, processS
, processS ++ "es" ]
-- | Reserved keywords specific to CSP-CASL.
cspKeywords :: [String]
cspKeywords = startCspKeywords ++
[ -- sequentialS
doubleSemis -- we add this as alternative sequential composition operator
, interleavingS
, synchronousS
{- , genpar_openS
, genpar_closeS -}
, alpar_openS
-- , alpar_sepS -- is identical to synchronousS
, alpar_closeS
-- , external_choiceS
, internal_choiceS
, prefix_procS
, hiding_procS
{- , ren_proc_openS
, ren_proc_closeS -}
, barS -- in case we want to use it within generialized parallel
, runS
, chaosS
, divS
, skipS
, stopS
{- , chan_sendS
, chan_receiveS -}
, svar_sortS ]