![]() ![]() SuperPascal GNU project (original github ) SuperPascal FPC project (original github ) So small changes were necessary, here the projects: (GPC probably only errors on this if you enable strict flags), and the C preprocessor commands #include ‘xx’ must be changed to. In addition, the reset/rewrites that are marked as non-standard in the source need to be changed to assign/reset (or rewrite) pairs. Instead, the Extended Pascal getTimeStamp function can be used (which is supported by the GNU Pascal compiler), by declaring a variable of type TimeStamp, setting that with the current time using getTimeStamp and assigning the Second field of the TimeStamp to the variable t.įree Pascal also needs a solution to the above “clock” problem (On windows, just declare gettickcount as external with “clock” as name). This is supported by the GNU Pascal compiler and newer versions of the Free Pascal compiler (2.7.1+) with the -Miso switch, with the following respective small modifications to the code.įor GPC, the file interpret.p uses the non-standard clock function (line 1786), which is used to obtain the system time. It consists of a compiler and interpreter, which are both written in normal, sequential Pascal (ISO Level 1 standard Pascal). The SuperPascal software can be accessed freely from the Brinch Hansen Archive. Since SuperPascal is nearly ISO Standard Pascal, it is easy to get SuperPascal compiled with more modern Pascal compilers like Freepascal and the GNU Pascal compiler. The same SuperPascal sources as distributed in a zipfile file for a Sun workstation ![]() SuperPascal sources as distributed in a shar file by Per Brinch Hansen for a Sun workstation Since the information is available in ‘shar’ archive format, with Latex encoded documents, the files are converted to more convenient text and pdf format. This subset of Pascal, enhanced with constructs for parallel computing is not super Pascal, but a well structured, easy to understand compiler-interpreter combination for the study of concurrent programming. Recently the sources of SuperPascal appeared online at his website ( ). Restrictions on the use of variables enable a single‐pass compiler to check that parallel processes are disjoint, even if the processes use procedures with global variables. SuperPascal omits ambiguous and insecure features of Pascal. Parallel processes communicate by sending typed messages through channels created dynamically. ![]() Recursive procedures may be combined with parallel and forall statements to define recursive parallel processes. A forall statement denotes parallel execution of the same statement by a dynamic number of processes. A parallel statement denotes parallel execution of a fixed number of statements. SuperPascal extends a subset of IEEE Standard Pascal with deterministic statements for parallel processes and synchronous message communication. SuperPascal-a secure programming language for publication of parallel scientific algorithms. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |