From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED.3d73Ybk3C5U4I2t8lv+lAQ.user.gioia.aioe.org!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: decomposing large packages Date: Thu, 9 Jan 2020 09:58:07 +0100 Organization: Aioe.org NNTP Server Message-ID: References: NNTP-Posting-Host: 3d73Ybk3C5U4I2t8lv+lAQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader01.eternal-september.org comp.lang.ada:57810 Date: 2020-01-09T09:58:07+01:00 List-Id: On 2020-01-09 09:25, mario.blunk.gplus@gmail.com wrote: > that solves the problem for the moment. When working with subunits, it is not obvious for the newcomer that: > 1. the subunit file must be named P-n.adb . Means the same notation must be used as if it where a child unit of P. > 2. there is no spec file (P-n.ads) required. > 3. in the subunit file P-n.adb there must NOT be an entry like "package body P.n is" (and of course no "end P.n;") as one does in child units. > 4. no other procedure or function must exist in P-n.adb . > > I wonder why the authors of Ada training books don't point out such things ... Because file naming and one compilation unit per source file limitation are GNAT specific. The language does not dictate this. Other compilers use different approaches. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de