Conformance rules

Should the syntax rules require or allow the multiple-specification of a subprogram the following variations are permitted:

  • One numeric variable can only be replaced by another numeric variable if both variables possess the same value.
  • A simple name can only be replaced by a selected name (in which the simple name serves as a selector) if in both specifications the direction of the simple name is determined by the same declaration.

Two specifications for one subprogram are conform if - irrespective of comments and the variations mentioned above - both specifications are made up of the same sequence of lexical elements and corresponding lexical elements have the same meaning. The specification of a impure function is never conform to that of a pure function

The specifications for the procedure p are not conform as they are not made up of the same sequence of lexical elements.

PROCEDURE p ( x, y : integer );
PROCEDURE p (x : integer ; y : integer);
PROCEDURE p ( x, y : IN integer );