# Difference between revisions of "Extended Pascal"

From Free Pascal wiki

(exponentiation) |
(exponentiation) |
||

Line 17: | Line 17: | ||

* only | * only | ||

* or_else (short circuit version of or - right side not evaluated if not necessary) | * or_else (short circuit version of or - right side not evaluated if not necessary) | ||

− | * pow (exponentiation for integer, real and complex numbers) | + | * pow (exponentiation for integer, real and complex numbers to real and integer powers) |

* protected | * protected | ||

* qualified | * qualified | ||

Line 25: | Line 25: | ||

In addition to all the [[Standard_Pascal#Symbols | symbols of Standard Pascal]] the following have been added to Extended Pascal: | In addition to all the [[Standard_Pascal#Symbols | symbols of Standard Pascal]] the following have been added to Extended Pascal: | ||

− | * ** (exponentiation for integer, real and complex numbers) | + | * ** (exponentiation for integer, real and complex numbers to real and integer powers) |

* >< (computes a set symmetric difference) | * >< (computes a set symmetric difference) | ||

* => | * => |

## Revision as of 06:06, 17 September 2017

**Extended Pascal** is the name given to the version of Pascal specified in International Organization for Standardization (ISO) standard 10206. It specifies an enhanced version of the Standard Pascal language that was specified in the ISO 7185 specification. The 214-page ISO 10206 document was published in May 1991 and not been revised since.

Support in Free Pascal for Extended Pascal is planned, and will be via compiler mode extpas.

## Enhancements to Standard Pascal

- Modularity and separate compilation (implemented with new keywords
**module**,**import**,**export**,**only**,**qualified**and**protected**). - Direct access file handing (via
**SeekRead**,**SeekWrite**,**SeekUpdate**and**update**procedures, and the**position**,**LastPosition**and**empty**functions as well as an*update file mode*).

## Reserved Words

In addition to all the reserved words of Standard Pascal the following (referred to as *word-symbols* in the ISO 10206 document) have been added to Extended Pascal:

- and_then (short circuit version of and - right side not evaluated if not necessary)
- bindable
- export
- import
- module
- only
- or_else (short circuit version of or - right side not evaluated if not necessary)
- pow (exponentiation for integer, real and complex numbers to real and integer powers)
- protected
- qualified
- value

## Symbols

In addition to all the symbols of Standard Pascal the following have been added to Extended Pascal:

- ** (exponentiation for integer, real and complex numbers to real and integer powers)
- >< (computes a set symmetric difference)
- =>

## External links

- ISO/IEC 10206:1991: Extended Pascal standard