Communicating Sequential Processes
CSPの構文は、プロセスとイベントの結合の「正当な」方法を定義する。 e {\displaystyle {\mathit {e}}} をイベント、 X {\displaystyle {\mathit {X}}} をイベントの集合とする。するとCSPの基本構文は以下のように定義される。
P r o c ::= S T O P | S K I P | e → P r o c ( prefixing ) | P r o c ◻ P r o c ( external choice ) | P r o c ⊓ P r o c ( nondeterministic choice ) | P r o c | | | P r o c ( interleaving ) | P r o c | [ { X } ] | P r o c ( interface parallel ) | P r o c ∖ X ( hiding ) | P r o c ; P r o c ( sequential composition ) | i f b t h e n P r o c e l s e P r o c ( boolean conditional ) | P r o c ▹ P r o c ( timeout ) | P r o c △ P r o c ( interrupt ) {\displaystyle {\begin{array}{lcll}{Proc}&::=&\mathrm {STOP} &\;\\&|&\mathrm {SKIP} &\;\\&|&e\rightarrow {Proc}&({\text{prefixing}})\\&|&{Proc}\;\Box \;{Proc}&({\text{external}}\;{\text{choice}})\\&|&{Proc}\;\sqcap \;{Proc}&({\text{nondeterministic}}\;{\text{choice}})\\&|&{Proc}\;\vert \vert \vert \;{Proc}&({\text{interleaving}})\\&|&{Proc}\;|[\{X\}]|\;{Proc}&({\text{interface}}\;{\text{parallel}})\\&|&{Proc}\setminus X&({\text{hiding}})\\&|&{Proc}\;;{Proc}&({\text{sequential}}\;{\text{composition}})\\&|&\mathrm {if} \;b\;\mathrm {then} \;{Proc}\;\mathrm {else} \;Proc&({\text{boolean}}\;{\text{conditional}})\\&|&{Proc}\;\triangleright \;{Proc}&({\text{timeout}})\\&|&{Proc}\;\triangle \;{Proc}&({\text{interrupt}})\end{array}}}
註:上記の構文では簡潔にするため、発散 (計算機科学)(英語版)を表す d i v {\displaystyle \mathbf {div} } プロセスや、アルファベット付き並列、パイピング、インデックス付き選択などの様々な演算子を省略している。