at the activation point (see Section 10.3) by an actual parameter list. The formal parameter list in the procedure or function heading determines the identifiers by which those entities are known in the block of the procedure or function, and the nature and type required of the actual parameters. 

The actual parameters for predeclared procedures and functions do not always conform to the rules for ordinary procedures and functions (see Sections 11.4, 11.5 and 12). 

## 11.3.1. Formal parameter lists. 

FormalParameterList = "(" FormalParameterSection { ";" FormalParameterSection } ")" . FormalParameterSection = ValueParameterSpecification I VariableParameterSpecification ProceduralParameterSpecification I FunctionalParameterSpecification. 

The parameters specified by a formal parameter section are either value, variable, procedural, or functional parameters. 

11.3.1.1. Formal value and variable parameters. A value or variable parameter specification introduces each of the identifiers in its identifier list as a variable identifier. If a type identifier occurs, it denotes the type possessed by each variable identifier. If a conform ant-array schema occurs, each of the variable identifiers is called a conform ant-array parameter, and the type that it possesses depends on the type of the actual parameter. Within a given activation, all formal parameters defined in the same formal parameter section possess the same type. 

Note: Conform ant-array schemas are not supported by all implementations of Pascal. In particular, Level 0 implementations do not support them, whereas Level 1 implementations do. 

ValueParameterSpecification = IdentifierList ":" ( Typeldentifier ConformantArraySchema ). VariableParameterSpecification = "var" IdentifierList ":" (Typeldentifier I ConformantArraySchema). ConformantArraySchema = PackedConformantArraySchema I U npackedC onformantArraySchema . 

