Detailed Specification
18. Module
[Disagreement with ANS]
18.2
A function name or routine name and parameters written in DEF-line
or routine header cannot be of the form in 27., 28., 29., and, 30..
So is a function name written in a function-let-statement.
In the rule 26., defined-function, routine-identifier,
simple-numeric-variable, simple-string-variable,
and formal-array cannot be of the form in 27.,28.,29.,and ,30..
A numeric function declared in a share-statement or
a public-statement must be the same arithmetic option as the module body.
18.2
An OPTION ARITHMETICCor MODULE OPTION ARITHMEIC must
precede PUBLIC NUMERIC statements and SHARE NUMERIC statements.
An OPTION BASE or MODULE OPTION BASE must
precede PUBLIC-statements,and SHARE-statements.
18.2(54)
Declare statements with external-share-types for subprograms
or pictures can be omitted.
18.4
External subprograms and external pictures contained
in a module are assumed to be declared PUBLIC.
Even if they are declared SHARE, they are assumed PUBLIC.
18.4(1)
Module bodies are executed before execution of the main-program.
If a program has two or more modules,the preceding module shall be executed first.