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,a00006d3c4735d70 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-12-31 14:46:06 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.mathworks.com!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: Certified C compilers for safety-critical embedded systems Date: 31 Dec 2003 17:46:05 -0500 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: <3fe00b82.90228601@News.CIS.DFN.DE> <3FE026A8.3CD6A3A@yahoo.com> <3bf1uvg2ntadvahfud2rg6ujk24sora6gr@4ax.com> <2u3auvogde8ktotlaq0ldiaska3g416gus@4ax.com> <20619edc.0312221020.3fd1b4ee@posting.google.com> <20619edc.0312222106.3b369547@posting.google.com> <45cs9hAbLc6$EAAx@phaedsys.demon.co.uk> <3fe9f0d7.104475725@News.CIS.DFN.DE> <5802069.JsgInS3tXa@linux1.krischik.com> <1072464162.325936@master.nyc.kbcfp.com> <1563361.SfB03k3vvC@linux1.krischik.com> <11LvOkBBXw7$EAJw@phaedsys.demon.co.uk> <3ff0687f.528387944@News.CIS.DFN.DE> <1086072.fFeiH4ICbz@linux1.krischik.com> <3ff18d4d.603356952@News.CIS.DFN.DE> <1731094.1f7Irsyk1h@linux1.krischik.com> <3ff1b8ef.614528516@News.CIS.DFN.DE> <3ff21255.637418757@News.CIS.DFN.DE> <3OCdnR1Hv5k2dG-iRVn-sw@comcast.com> NNTP-Posting-Host: pip1-5.std.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls4.std.com 1072910765 17085 192.74.137.185 (31 Dec 2003 22:46:05 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Wed, 31 Dec 2003 22:46:05 +0000 (UTC) User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.ada:4002 Date: 2003-12-31T17:46:05-05:00 List-Id: (I've deleted comp.arch.embedded, since this is about some weird Ada obscurity.) "Robert I. Eachus" writes: > There was a time when the parenthesis were required. I think it made it > from Preliminary Ada into Ada 80, but definitely was gone before Ada > 82. I believe that's correct. >... The argument against the empty parentheses was mostly stylistic, but > the equivalence of enumeration and other literals to function calls was > the real killer. Agreed. >...A rule that determine when the empty parentheses were > required was considered to be a burden on users, but it also would have > been a burden on implementors and the ARG. ;-) But I think requiring empty parens on parameterless calls would actually *simplify* the compiler. I can think of two cases: function F(X: Integer := 1) return String; Only context can tell whether F(37) means "call F with actual parameter 37" versus "call F with actual parameter defaulted to 1, and then select component number 37 of the resulting String." That is, it requires overload resolution to figure out the syntax of "F(37)" -- is it a function call or is it an indexed component? The other example is entry families. Task_Name.Entry_Name(X) could mean to call a parameterless entry whose index in the family is X, or it could mean to call a single entry passing actual parameter X. The compiler can't tell which it is based purely on (context free) syntax. - Bob