- •Acknowledgements
- •Introduction
- •Information technology --- Programming languages --- Pascal
- •1 Scope
- •2 Normative reference
- •3 Definitions
- •3.1 Error
- •4 Definitional conventions
- •5 Compliance
- •5.1 Processors
- •5.2 Programs
- •6 Requirements
- •6.1 Lexical tokens
- •6.1.1 General
- •6.1.2 Special-symbols
- •6.1.3 Identifiers
- •6.1.4 Directives
- •6.1.5 Numbers
- •6.1.6 Labels
- •6.1.7 Character-strings
- •6.1.8 Token separators
- •6.1.9 Lexical alternatives
- •6.2 Blocks, scopes, and activations
- •6.2.1 Blocks
- •6.2.2 Scopes
- •6.2.3 Activations
- •6.3 Constant-definitions
- •6.4 Type-definitions
- •6.4.1 General
- •6.4.2 Simple-types
- •6.4.2.1 General
- •6.4.2.2 Required simple-types
- •6.4.2.3 Enumerated-types
- •6.4.2.4 Subrange-types
- •6.4.3 Structured-types
- •6.4.3.1 General
- •6.4.3.2 Array-types
- •6.4.3.3 Record-types
- •6.4.3.5 File-types
- •6.4.4 Pointer-types
- •6.4.5 Compatible types
- •6.4.7 Example of a type-definition-part
- •6.5 Declarations and denotations of variables
- •6.5.1 Variable-declarations
- •6.5.2 Entire-variables
- •6.5.3 Component-variables
- •6.5.3.1 General
- •6.5.3.2 Indexed-variables
- •6.5.3.3 Field-designators
- •6.5.4 Identified-variables
- •6.5.5 Buffer-variables
- •6.6 Procedure and function declarations
- •6.6.1 Procedure-declarations
- •6.6.2 Function-declarations
- •6.6.3 Parameters
- •6.6.3.1 General
- •6.6.3.2 Value parameters
- •6.6.3.3 Variable parameters
- •6.6.3.4 Procedural parameters
- •6.6.3.5 Functional parameters
- •6.6.3.6 Parameter list congruity
- •6.6.3.7 Conformant array parameters
- •6.6.3.8 Conformability
- •6.6.5.3 Dynamic allocation procedures
- •6.6.5.4 Transfer procedures
- •6.6.6 Required functions
- •6.6.6.1 General
- •6.6.6.2 Arithmetic functions
- •6.6.6.3 Transfer functions
- •6.6.6.4 Ordinal functions
- •6.6.6.5 Boolean functions
- •6.7 Expressions
- •6.7.1 General
- •6.7.2 Operators
- •6.7.2.1 General
- •6.7.2.2 Arithmetic operators
- •6.7.2.3 Boolean operators
- •6.7.2.4 Set operators
- •6.7.2.5 Relational operators
- •6.7.3 Function-designators
- •6.8 Statements
- •6.8.1 General
- •6.8.2 Simple-statements
- •6.8.2.1 General
- •6.8.2.2 Assignment-statements
- •6.8.2.3 Procedure-statements
- •6.8.2.4 Goto-statements
- •6.8.3.5 Case-statements
- •6.8.3.6 Repetitive-statements
- •6.8.3.7 Repeat-statements
- •6.8.3.8 While-statements
- •6.8.3.10 With-statements
- •6.9 Input and output
- •6.9.1 The procedure read
- •6.9.2 The procedure readln
- •6.9.3 The procedure write
- •6.9.3.1 Write-parameters
- •6.9.3.2 Char-type
- •6.9.3.3 Integer-type
- •6.9.3.4 Real-type
- •6.9.3.5 Boolean-type
- •6.9.3.6 String-types
- •6.9.4 The procedure writeln
- •6.9.5 The procedure page
- •6.10 Programs
- •Annex a
- •Collected syntax
- •Annex b
- •Cross-references
- •Annex c
- •Required identifiers
- •Identifier Reference(s)
- •Annex d
- •Annex e
- •Implementation-defined features
- •Annex f
- •Implementation-dependent features
Annex b
(Informative)
Cross-references
access 6.5.1 6.5.3.1 6.5.3.3 6.5.5 6.6.3.3 6.6.3.7.2
6.6.3.7.3 6.6.5.2 6.8.2.2 6.8.3.10 6.10
actual 6.6.3.3 6.6.3.4 6.6.3.5 6.7.3 6.8.2.3 6.8.3.9
actual-parameter 6.6.3.2 6.6.3.3 6.6.3.4 6.6.3.5 6.6.3.7.1 6.6.3.7.2
6.6.3.7.3 6.6.5.3 6.7.3
actual-parameter-list 6.6.6.5 6.7.3 6.8.2.3 6.9.5
array-type 6.4.3.1 6.4.3.2 6.5.3.2 6.6.3.7.1 6.6.3.8
assignment-compatible 6.4.6 6.5.3.2 6.6.3.2 6.6.5.2 6.6.5.4 6.8.2.2
6.8.3.9 6.9.1
assignment-statement 6.2.3.3 6.6.2 6.6.5.3 6.8.2.1 6.8.2.2 6.8.3.9
base-type 6.4.3.4 6.4.5 6.4.6 6.7.1
block 6.2.1 6.2.3.1 6.2.3.2 6.2.3.3 6.2.3.4 6.3
6.4.1 6.4.2.3 6.5.1 6.6.1 6.6.2 6.6.3.1
6.6.3.2 6.6.3.3 6.6.3.4 6.6.3.5 6.6.3.7.1 6.6.3.7.2
6.6.3.7.3 6.7.3 6.8.1 6.8.2.3 6.8.3.9 6.10
body 6.6.1 6.8.3.8 6.8.3.9
boolean-expression 6.7.2.3 6.8.3.4 6.8.3.7 6.8.3.8
boolean-type 6.4.2.2 6.7.2.3 6.7.2.5 6.9.3.1 6.9.3.5
buffer-variable 6.5.1 6.5.5 6.6.5.2 6.9.1 6.9.3 6.9.5
6.10
case-constants 6.4.3.3 6.6.5.3 6.8.3.5
char-type 6.1.7 6.4.2.2 6.4.3.2 6.4.3.5 6.5.5 6.6.6.4
6.9.1 6.9.3.1 6.9.3.2
character 6.1.7 6.1.9 6.4.2.2 6.6.6.4 6.9.1 6.9.3.2
6.9.3.3 6.9.3.4.1 6.9.3.4.2
character-string 6.1.1 6.1.7 6.1.8 6.3 6.4.3.2 6.7.1
closed 6.1.5 6.1.6 6.4.6 6.6.3.8 6.7.1 6.7.2.2
compatible 6.4.3.3 6.4.5 6.4.6 6.4.7 6.6.3.8 6.7.2.5
6.8.3.9
component 6.4.3.1 6.4.3.2 6.4.3.3 6.4.3.5 6.5.1 6.5.3.1
6.5.3.2 6.5.3.3 6.6.2 6.6.3.3 6.6.3.6 6.6.3.7.3
6.6.5.2 6.6.6.5 6.8.2.2 6.8.3.10 6.9.1 6.9.4
6.9.5
component-type 6.4.3.2 6.4.3.5 6.4.6 6.5.5 6.6.3.2 6.6.3.7.1
6.6.3.8
components 6.1.7 6.4.3.1 6.4.3.2 6.4.3.3 6.4.3.5 6.4.5
6.5.3.3 6.6.5.2 6.8.3.10 6.9.3.6
compound-statement 6.2.1 6.8.1 6.8.3.1 6.8.3.2
conformant-array-schema 6.6.3.6 6.6.3.7.1 6.6.3.8
congruous 6.6.3.4 6.6.3.5 6.6.3.6
constant 6.3 6.4.2.4 6.4.3.3 6.6.2 6.6.3.7.1
corresponding 1.2 4 6.1.4 6.1.9 6.2.3.2 6.2.3.3
6.4.1 6.4.3.3 6.5.4 6.6.3.1 6.6.3.3 6.6.3.6
6.6.3.7.1 6.6.3.7.2 6.6.3.7.3 6.6.3.8 6.6.4.1 6.6.5.2
6.7.2.2 6.7.3 6.8.2.3
defining-point 6.2.1 6.2.2.1 6.2.2.2 6.2.2.3 6.2.2.4 6.2.2.5
6.2.2.7 6.2.2.8 6.2.2.9 6.2.2.11 6.2.3.1 6.2.3.2
6.3 6.4.1 6.4.2.3 6.4.3.3 6.5.1 6.5.3.3
6.6.1 6.6.2 6.6.3.1 6.6.3.4 6.6.3.5 6.6.3.7.1
6.8.3.10 6.10
definition 3.1 4 5.1 6.4.3.5 6.6.3.7.1
directive 6.1.4 6.6.1 6.6.2
entire-variable 6.5.1 6.5.2 6.8.3.9
enumerated-type 6.4.2.1 6.4.2.3
error 3.1 3.2 5.1 6.4.6 6.5.3.3 6.5.4
6.5.5 6.6.3.8 6.6.5.2
6.6.5.3 6.6.6.2 6.6.6.3 6.6.6.4 6.6.6.5 6.7.1
6.7.2.2 6.7.3 6.8.3.5 6.9.1 6.9.3 6.9.3.1
6.9.4 6.9.5
expression 6.5.3.2 6.6.3.2 6.6.3.7.2 6.6.5.2 6.6.5.3 6.6.5.4
6.6.6.2 6.6.6.3 6.6.6.4 6.6.6.5 6.7.1 6.7.2.3
6.7.3 6.8.2.2 6.8.3.5 6.8.3.9 6.9.3 6.9.3.1
factor 6.1.5 6.6.3.7.1 6.6.5.3 6.7.1 6.7.2.1
field 6.4.3.3 6.5.3.3 6.6.3.3
field-designator 6.2.2.6 6.5.3.1 6.5.3.3
field-identifier 6.4.3.3 6.5.3.3 6.8.3.10
file-type 6.4.3.1 6.4.3.5 6.4.6 6.5.5 6.6.3.2 6.10
file-variable 6.5.5 6.6.5.2 6.6.6.5 6.9.1 6.9.2 6.9.3
6.9.4
formal 6.2.3.2 6.6.1 6.6.2 6.6.3.1 6.6.3.2 6.6.3.3
6.6.3.4 6.6.3.5 6.6.3.7.1 6.6.3.7.2 6.6.3.7.3 6.7.3
6.8.2.3
formal-parameter-list 6.6.1 6.6.2 6.6.3.1 6.6.3.4 6.6.3.5 6.6.3.7.1
function 6.1.2 6.2.3.2 6.2.3.3 6.4.3.5 6.6 6.6.1
6.6.2 6.6.3.5 6.6.6.3 6.6.6.4 6.6.6.5 6.7.2.2
6.7.3 6.9.3.3 6.9.3.4.1 6.9.3.4.2
function-block 6.1.4 6.2.3.2 6.2.3.3 6.6.2 6.6.3.1 6.8.2.2
function-declaration 6.1.4 6.2.1 6.6.2 6.7.3
function-designator 6.2.3.4 6.6.3.7.2 6.7.1 6.7.3
function-identifier 6.2.3.1 6.2.3.2 6.2.3.3 6.6.2 6.6.3.1 6.6.3.5
6.7.3 6.8.2.2
goto-statement 6.8.1 6.8.2.1 6.8.2.4 6.8.3.1 6.8.3.7 6.8.3.9
identifier 4 6.1.3 6.2.2.1 6.2.2.5 6.2.2.7 6.2.2.8
6.2.2.9 6.2.2.11 6.3 6.4.1 6.4.2.3 6.4.3.3
6.5.1 6.5.2 6.5.3.3 6.6.1 6.6.2 6.6.3.1
6.6.3.7.1 6.6.3.7.2 6.8.3.9 6.8.3.10 6.10
identifier-list 6.4.2.3 6.4.3.3 6.5.1 6.6.3.1 6.6.3.7.1 6.6.3.7.3
6.10
implementation-defined 3.1 3.3 5.1 5.2 6.1.7
6.4.2.2 6.6.5.2 6.7.2.2 6.9.3.1 6.9.3.4.1 6.9.3.5
6.9.5 6.10
implementation-dependent 3.2 3.4 5.1 5.2 6.5.3.2
6.7.1 6.7.2.1 6.7.3 6.8.2.2 6.8.2.3 6.9.5
6.10
index-type 6.4.3.2 6.5.3.2 6.6.3.7.1 6.6.3.8
indexed-variable 6.5.3.1 6.5.3.2 6.6.3.7.2
integer-type 6.1.5 6.3 6.4.2.2 6.4.2.3 6.4.6 6.6.6.2
6.6.6.3 6.6.6.4 6.6.6.5 6.7.2.2 6.7.2.5 6.9.1
6.9.3.1 6.9.3.3
label 6.1.2 6.1.6 6.2.1 6.2.2.1 6.2.2.5 6.2.2.7
6.2.2.8 6.2.2.9 6.2.2.11 6.2.3.2 6.2.3.3 6.8.1
6.8.2.4
member 6.4.6 6.7.1 6.7.2.5
note 3 3.1 3.5 5 5.1 5.2
6.1 6.1.4 6.1.7 6.1.9 6.2.2.8 6.2.2.10
6.2.2.11 6.2.3.2 6.2.3.3 6.4.2.2 6.4.3.1 6.4.3.2
6.4.3.3 6.4.3.4 6.4.3.5 6.4.4 6.4.7 6.5.1
6.5.3.2 6.5.3.3 6.5.4 6.6.3.1 6.6.3.7 6.6.3.7.1
6.6.3.7.2 6.6.3.8 6.6.4.1 6.6.5.2 6.6.5.3 6.7.1
6.7.2.1 6.7.2.2 6.7.2.5 6.8.1 6.8.3.4 6.8.3.5
6.9.1 6.9.2 6.9.3.4.2 6.9.4 6.10
number 5.1 6.1.7 6.4.2.2 6.4.2.3 6.4.3.2 6.4.5
6.6.3.6 6.6.6.4 6.7.3 6.8.2.3 6.9.1 6.9.3.3
6.9.3.4 6.9.3.4.1 6.9.3.4.2
operand 6.7.2.1 6.7.2.2 6.7.2.5
operator 6.5.1 6.7.1 6.7.2.1 6.7.2.2 6.7.2.4 6.7.2.5
6.8.3.5
ordinal 6.4.2.1 6.4.2.2 6.4.2.3 6.6.6.1 6.6.6.4 6.7.2.5
ordinal-type 6.4.2.1 6.4.2.4 6.4.3.2 6.4.3.3 6.4.3.4 6.6.6.4
6.7.1 6.7.2.5 6.8.3.5 6.8.3.9
parameter 6.6.1 6.6.3.1 6.6.3.2 6.6.3.3 6.6.3.4 6.6.3.5
6.6.3.6 6.6.3.7.1 6.6.3.7.2 6.6.3.7.3 6.6.5.2 6.6.6.2
6.6.6.5 6.8.3.9 6.9.1 6.9.2 6.9.3 6.9.3.5
6.9.4 6.10
pointer 6.4.1 6.5.1 6.7.2.5
pointer-type 6.4.4 6.5.4 6.6.5.3
procedure 6.1.2 6.2.3.2 6.2.3.3 6.4.4 6.5.4 6.6
6.6.1 6.6.3.4 6.6.3.7.2 6.8.2.3 6.8.3.9 6.9.1
6.9.2 6.9.3 6.9.4 6.9.5 6.10
procedure-block 6.1.4 6.2.3.2 6.2.3.3 6.6.1 6.6.3.1 6.8.2.3
procedure-declaration 6.1.4 6.2.1 6.6.1 6.8.2.3
procedure-identifier 6.2.3.1 6.2.3.2 6.2.3.3 6.6.1 6.6.3.1 6.6.3.4
6.7.3 6.8.2.3
procedure-statement 6.2.3.4 6.8.2.1 6.8.2.3 6.8.3.9
program-parameters 6.2.3.5 6.10
real-type 6.1.5 6.3 6.4.2.2 6.4.6 6.6.6.2 6.6.6.3
6.7.2.2 6.7.2.5 6.9.1 6.9.3.1 6.9.3.4
record-type 6.4.3.1 6.4.3.3 6.5.3.3 6.6.5.3 6.8.3.10
record-variable 6.4.3.3 6.5.3.3 6.8.3.10
reference 6.5.3.1 6.5.3.3 6.5.4 6.5.5 6.6.3.3 6.6.3.7.2
6.6.3.7.3 6.8.2.2 6.8.3.10
region 6.2.1 6.2.2.2 6.2.2.3 6.2.2.4 6.2.2.5 6.2.2.6
6.2.2.7 6.2.2.10 6.2.3.1 6.2.3.2 6.3 6.4.1
6.4.2.3 6.4.3.3 6.5.1 6.5.3.3 6.6.1 6.6.2
6.6.3.1 6.6.3.7.1 6.8.3.10 6.10
result 6.2.3.2 6.2.3.3 6.2.3.5 6.6.1 6.6.2 6.6.6.2
6.6.6.3 6.6.6.4 6.7.2.2 6.7.2.4 6.7.2.5 6.7.3
6.8.2.2
same 3.5 5.2 6.1 6.1.3 6.1.4 6.1.7
6.2.3.3 6.4.1 6.4.2.2 6.4.2.4 6.4.3.2 6.4.5
6.4.6 6.4.7 6.5.3.1 6.5.3.2 6.6.3.2 6.6.3.3
6.6.3.5 6.6.3.6 6.6.3.7.1 6.6.3.7.2 6.6.3.8 6.6.6.2
6.6.6.4 6.7.1 6.7.2.2 6.7.2.4 6.7.2.5 6.8.3.5
6.8.3.10
scope 6.2 6.2.2 6.2.2.2 6.2.2.4 6.2.2.5 6.2.2.8
set-type 6.4.3.1 6.4.3.4 6.7.1 6.7.2.5
statement 6.2.1 6.2.3.2 6.6.5.4 6.8.1 6.8.2.1 6.8.3.1
6.8.3.4 6.8.3.5 6.8.3.8 6.8.3.9 6.8.3.10
string-type 6.1.7 6.4.3.2 6.4.5 6.4.6 6.6.3.7.1 6.7.2.5
6.9.3.1 6.9.3.6
structured-type 6.4.3.1 6.4.3.5 6.5.1 6.8.2.2
subrange 6.4.2.4 6.4.5 6.7.1 6.9.1
textfile 6.4.3.5 6.5.5 6.6.6.5 6.9.1 6.9.2 6.9.3
6.9.4 6.9.5 6.10
token 4 6.1 6.1.1 6.1.2 6.1.8 6.1.9
totally-undefined 6.2.3.5 6.5.3.3 6.6.5.2 6.6.5.3 6.8.2.2 6.9.4
6.9.5
type-identifier 6.2.2.9 6.2.2.11 6.4.1 6.4.2.1 6.4.4 6.6.3.1
6.6.3.2 6.6.3.3 6.6.3.6 6.6.3.7.1 6.6.3.8 6.10
undefined 6.5.3.3 6.5.4 6.6.5.2 6.6.5.3 6.6.6.5 6.7.1
6.7.3 6.8.2.2 6.8.3.9 6.9.1 6.9.3 6.9.4
variable 6.2.3.2 6.2.3.3 6.4.1 6.4.3.5 6.4.4 6.5.1
6.5.3.1 6.5.3.2 6.5.3.3 6.5.4 6.5.5 6.6.3.1
6.6.3.2 6.6.3.3 6.6.3.7.1 6.6.3.7.2 6.6.3.7.3 6.6.5.2
6.6.5.3 6.6.5.4 6.7.1 6.8.2.2 6.8.3.9 6.8.3.10
6.9.1 6.10
variable-access 6.5.1 6.5.3.2 6.5.3.3 6.5.4 6.5.5 6.6.3.3
6.6.3.7.3 6.6.5.2 6.6.5.3 6.7.1 6.7.3 6.8.2.2
6.8.3.9 6.9.1 6.9.2
variant 6.4.3.3 6.5.3.3 6.6.5.3
word-symbol 6.1.2 6.1.3 6.1.4
ISO/IEC 7185:1990(E)