Pascal-S是Pascal的一个子集,最初由Niklaus Wirth编写。Moti Ben-Ari在他的并发编程原则中将Pascal-S建立在PASCAL-S之上,从而产生了并发PASCAL-S。
与Wirth版本的PASCAL-S相比,本版PASCAL-S中的CASE语句、记录和实数都被刷掉了。M.Ben-Ari在1980年修改了Wirth最初的编译器/解释器,加入了一些能够模拟并发编程的基本特性。
首先,共同开始S1;…。;添加了SN Coend块结构,允许并发执行语句S1…。SN,它们必须是全局过程调用。这些共同开始的…。Coend块不能相互嵌套。
其次,介绍了信号量的使用,信号量数据类型(实际上与整数数据类型同义)和信号量操作WAIT(S)和Signal(S),分别对应于Dijkstra的P(S)和V(S)。