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.