CspCASL_Keywords.hs revision fcd11c35e645b0744a308f7961a519826bbaa2f5
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett{- |
12b2ae689353ecbaad720a9af9f9be01c1a3fe2dChristian MaederModule : $Header$
e071fb22ea9923a2a4ff41184d80ca46b55ee932Till MossakowskiDescription : CspCASL keywords to be used for parsing and printing
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettCopyright : (c) Andy Gimblett and Swansea University 2006
98890889ffb2e8f6f722b00e265a211f13b5a861Corneliu-Claudiu ProdescuLicense : GPLv2 or higher, see LICENSE.txt
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettMaintainer : a.m.gimblett@swan.ac.uk
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettStability : provisional
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettPortability : portable
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettString constants for CspCASL keywords to be used for parsing and
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblettprinting.
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett-}
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblettmodule CspCASL.CspCASL_Keywords where
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett
20ed727452613e36c0a95ddabf7ecc81cf941ed2Andy Gimblettimport Common.Keywords
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett
f909337bf7012aca169c0b56b89efbd4a310f8daAndy Gimblett-- | Keywords identifying beginning of channel declaration part.
9f93b2a8b552789cd939d599504d39732672dc84Christian MaederchannelS :: String
9f93b2a8b552789cd939d599504d39732672dc84Christian MaederchannelS = "channel"
f909337bf7012aca169c0b56b89efbd4a310f8daAndy Gimblett
04ceed96d1528b939f2e592d0656290d81d1c045Andy Gimblett-- | Keyword identifying beginning of process equation part.
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettprocessS :: String
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettprocessS = "process"
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett-- | "RUN" primitive process
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettrunS :: String
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettrunS = "RUN"
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett-- | "CHAOS" primitive process
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettchaosS :: String
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettchaosS = "CHAOS"
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett-- | "div" primitive process
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettdivS :: String
20ed727452613e36c0a95ddabf7ecc81cf941ed2Andy GimblettdivS = "DIV"
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett-- | "SKIP" primitive process
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettskipS :: String
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettskipS = "SKIP"
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett-- | "STOP" primitive process
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettstopS :: String
020cdb5dad6b871aba61136a0e1567c00426de87Andy GimblettstopS = "STOP"
020cdb5dad6b871aba61136a0e1567c00426de87Andy Gimblett
2f06b54890375b6cac90394b80b07bd451d728fcAndy Gimblettchan_sendS :: String
2f06b54890375b6cac90394b80b07bd451d728fcAndy Gimblettchan_sendS = "!"
2f06b54890375b6cac90394b80b07bd451d728fcAndy Gimblett
2f06b54890375b6cac90394b80b07bd451d728fcAndy Gimblettchan_receiveS :: String
2f06b54890375b6cac90394b80b07bd451d728fcAndy Gimblettchan_receiveS = "?"
2f06b54890375b6cac90394b80b07bd451d728fcAndy Gimblett
a09bfcbcb0fba5663fca1968aa82daebf2e092c4Andy Gimblettsvar_sortS :: String
ac5ec613b786cd05f495b568ab5214c31a333e67Andy Gimblettsvar_sortS = "::"
a09bfcbcb0fba5663fca1968aa82daebf2e092c4Andy Gimblett
fcd11c35e645b0744a308f7961a519826bbaa2f5Christian MaederdoubleSemis :: String
fcd11c35e645b0744a308f7961a519826bbaa2f5Christian MaederdoubleSemis = ";;"
fcd11c35e645b0744a308f7961a519826bbaa2f5Christian Maeder
a88d32442096d4fd88fce34842ca6f8cf34d8160Christian Maeder-- | starting CSP-CASL keywords
a88d32442096d4fd88fce34842ca6f8cf34d8160Christian MaederstartCspKeywords :: [String]
a88d32442096d4fd88fce34842ca6f8cf34d8160Christian MaederstartCspKeywords =
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder [ channelS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , channelS ++ "s"
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , processS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , processS ++ "es" ]
a88d32442096d4fd88fce34842ca6f8cf34d8160Christian Maeder
a88d32442096d4fd88fce34842ca6f8cf34d8160Christian Maeder-- | Reserved keywords specific to CSP-CASL.
38504dc968167ba2e82dd568edeae8d6af4dc145Christian MaedercspKeywords :: [String]
38504dc968167ba2e82dd568edeae8d6af4dc145Christian MaedercspKeywords = startCspKeywords ++
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder [ sequentialS
fcd11c35e645b0744a308f7961a519826bbaa2f5Christian Maeder , doubleSemis -- we add this as alternative sequential composition operator
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , interleavingS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , synchronousS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , genpar_openS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , genpar_closeS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , alpar_openS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , alpar_sepS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , alpar_closeS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , external_choiceS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , internal_choiceS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , prefix_procS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , hiding_procS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , ren_proc_openS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , ren_proc_closeS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , runS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , chaosS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , divS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , skipS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , stopS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , chan_sendS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , chan_receiveS
38504dc968167ba2e82dd568edeae8d6af4dc145Christian Maeder , svar_sortS ]