Syntax

cohadar

Syntax of ParaPascal

ParaPascal is based on standard Pascal programming language.
Not all pascal constructs are implemented at the moment.
Unlike standard Pascal, ParaPascal is case-sensitive, keywords are lowercase.


Implemented Features

  • Standard output: write/writeln
  • All Code Sections: const, type, var
  • All Operators: + - * / div mod ~ & | ! not and or xor ...
  • Statements: if, for, while, repeat
  • Functions and Procedures
  • Parameters by name and by reference
  • Basic Types: integer, real, boolean
  • Interval Type (integer only)
  • Arrays (multi-dimensional)
  • Records
  • Nesting of Arrays and Records

Not Implemented Features

  • Standard input: read/readln
  • Nesting of functions and procedures
  • Name overloading
  • Statements: case and with
  • Basic Types: string and character (string constants are supported)
  • Enums and Sets
  • Working with Files
  • Pointers
  • Modules

Small Differences (will be removed in the future)

Type real has 4 bytes while in standard pascal it has 6.
Nested arrays cannot be defined using shorthand notation.


Concurrency Features

  • Concurrent block: cobegin/coend
  • Concurrent loop: cofor
  • Shared Variables: shared
  • Semaphores: init, wait, signal
  • Conditional Critical Regions: region, await

Roadmap

ParaPascal's aim is full compatibility with standard pascal and support for Monitors.