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.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.