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=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4c019ad9cc913bbe X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-09-13 19:53:43 PST Newsgroups: comp.lang.ada Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!newsfeed.media.kyoto-u.ac.jp!newsfeed.mesh.ad.jp!osa.uu.net!sea.uu.net!ash.uu.net!world!news From: Robert A Duff Subject: Re: The Dreaded "Missing Subunits" Sender: news@world.std.com (Mr Usenet Himself) Message-ID: Date: Sat, 14 Sep 2002 02:53:11 GMT References: <1b585154.0209121449.ef12609@posting.google.com> <3D819EE7.3A69E5EB@praxis-cs.co.uk> NNTP-Posting-Host: shell01.theworld.com Organization: The World Public Access UNIX, Brookline, MA X-Newsreader: Gnus v5.7/Emacs 20.7 Xref: archiver1.google.com comp.lang.ada:28967 Date: 2002-09-14T02:53:11+00:00 List-Id: Emmanuel Briot writes: > Peter Amey writes: > > > Are you really using the GNAT compiler with Rational naming > > conventions? I don't know if that is the cause of your problem but it > > certainly won't help. Rational (rather bizarrely in my view) use > > xxx.1.ada for specs and xxx.2.ada for bodies. I'm not sure why Peter thinks this convention is bizarre. In fact, it has some nice properties. I think the Rational convention is quite rational indeed. For example a simple wildcard can be use to select interesting files, like "all the Ada source code in this directory", "all the specs", "all the bodies", "the spec of package X and all its children", "the specs and bodies of X and all its children". And when you list them in alphabetical order they come out in a sensible order (specs before bodies, parents before children). So for example if I print out "*.ada" I get a stack of paper in a sensible order for reading. With the GNAT convention, things come out in the wrong order. >... The GNAT convention > > (which automates builds) is to use: > > > > unit_name.ads for specs, unit_name.adb for bodies and > > grandparent-parent-unit_name.adb for subunits. > > This is of course wrong. True. GNAT can be told to use the Rational convention, and works just fine. However,... >...Have a look in the documentation at pragma > Source_File_Name, which provides handling for any possible naming scheme you > can conceive. This is also of course wrong. The patterns supported by the pragma are fairly limited, but I can "conceive" of many things. For example, if you want to put all main procedures in files with a certain pattern, it doesn't really work. The sad thing is that although Ada is very portable in many respects, the community of compiler vendors can't agree on file-naming conventions. Contrast with C, where everybody knows what .h and .c mean. - Bob