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 ARITHMETICˇ¤or 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.