Pascal-S is a subset of Pascal, and was originally written by Niklaus Wirth.

Moti Ben-Ari has built on Pascal-S in his Principles of Concurrent Programming, resulting in Concurrent Pascal-S.

Compared to Wirth’s version of Pascal-S, case statement, records and reals are swiped from this edition of Pascal-S. M. Ben-Ari modified Wirth’s original compiler/interpreter in 1980 to include some basic features that were able to simulate concurrent programming.

First, a cobegin s1; …; sn coend block structure was added, allowing concurrent execution of the statements s1 … sn, which were required to be global procedure calls. These cobegin … coend blocks could not be nested within one another.

Second, the use of semaphores was introduced, with a semaphore data type (really synonymous with the integer data type) and the semaphore operations wait(s) and signal(s), corresponding to Dijkstra’s P(s) and V(s), respectively.

Downloads:

- Principles of Concurrent Programming M. Ben-Ari, Prentice-Hall, 1982
- Concurrent Pascal-S Source from book by Ben-Ari (nielsen)
- Concurrent Pascal-S Delphi 1 3
- Concurrent Pascal-S MSDOS
- Concurrent Pascal-S Turbo Pascal
- Concurrent Pascal-S CP/M
- Concurrent Pascal-S source Delphi 3
- Carol M Torsone Course on Concurrent Pascal-S
- Michael Camillone Concurrent Pascal-S (Zahn) extended and enhanced
- CPS.PAS source of Concurrent Pascal-S (Zahn) Turbo Pascal