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.