====== Conformance rules ====== ===== Definition ===== 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 ===== Examples ===== 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 );