comp.lang.ada
 help / color / mirror / Atom feed
From: anon@anon.org (anon)
Subject: Re: Unary operator after binary operator: legal or not?
Date: Tue, 31 Jul 2007 08:01:17 GMT
Date: 2007-07-31T08:01:17+00:00	[thread overview]
Message-ID: <h%Bri.384485$p47.369566@bgtnsc04-news.ops.worldnet.att.net> (raw)
In-Reply-To: KYtri.46105$Fc.35820@attbi_s21

This maybe a compiler error.  It seams that my GNAT 2.1 from (NYC) as 
well as my GNAT 4.3 (GNU) and my Adacore GNAT 2005 (GPL) all state 
the same that it there is a "missing operand". But if you use the 
following:
       return "+"(Left) & "+"(Right);
or 
       return (+Left) & (+Right);
they both work

From LRM 4.4 .. 4.5 and LRM 6.6 states that the unary functions can be 
redefined.  The reason I say this may be an compiler error is because 
the following will still give the same error: 

Compiling: xyz.adb (source file time stamp: 2007-07-30 03:00:04)

     1. 
     2. function Xyz (Left, Right : in integer) return integer is
     3. 
     4. begin -- Xyz
     5.     if +Left <= +Right then
     6.        return +Left * +Right;
                             |
        >>> missing operand

     7.     end if;
     8. end Xyz;




In <KYtri.46105$Fc.35820@attbi_s21>, "Jeffrey R. Carter" <spam.jrcarter.not@acm.nospam.org> writes:
>Here's something confusing I encountered:
>
>with Ada.Strings.Unbounded;
>
>function Xyz (Left, Right : in Ada.Strings.Unbounded.Unbounded_String)
>return String is
>    function "+" (Right : in Ada.Strings.Unbounded.Unbounded_String)
>    return String renames Ada.Strings.Unbounded.To_String;
>begin -- Xyz
>    if +Left <= +Right then
>       return +Left & +Right;
>       --            ^ Error reported here.
>    end if;
>end Xyz;
>
>A compiler reports "missing operand", referencing the space after the "&".
>
>Why then does it accept the comparison in the previous line? Both are
>
>+Left [binary operator] +Right
>
>-- 
>Jeff Carter
>"Have you gone berserk? Can't you see that that man is a ni?"
>Blazing Saddles
>38




  parent reply	other threads:[~2007-07-31  8:01 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-30 22:52 Unary operator after binary operator: legal or not? Jeffrey R. Carter
2007-07-30 23:39 ` Markus E.L.
2007-07-31  0:22 ` Adam Beneschan
2007-07-31 21:52   ` Jeffrey R. Carter
2007-07-31  8:01 ` anon [this message]
2007-07-31  8:16   ` Unary operator after binary operator: legal or not? => Compiler Error anon
2007-07-31  8:38     ` AW: Unary operator after binary operator: legal or not? => CompilerError Grein, Christoph (Fa. ESG)
2007-07-31 15:05     ` Unary operator after binary operator: legal or not? => Compiler Error Robert A Duff
2007-07-31 15:39       ` Dmitry A. Kazakov
2007-07-31 15:53         ` Robert A Duff
2007-07-31 17:02           ` Georg Bauhaus
2007-07-31 19:17             ` Adam Beneschan
2007-08-01  7:16               ` Maciej Sobczak
2007-08-01 15:23                 ` Adam Beneschan
2007-07-31 20:59             ` Robert A Duff
2007-08-01  7:24               ` Georg Bauhaus
2007-08-01  8:02                 ` Dmitry A. Kazakov
2007-08-01  8:17                   ` AW: Unary operator after binary operator: legal or not? => CompilerError Grein, Christoph (Fa. ESG)
2007-08-01 10:10                     ` Ian Clifton
2007-08-01  9:34                   ` Unary operator after binary operator: legal or not? => Compiler Error Georg Bauhaus
2007-08-01 21:51                 ` Jeffrey R. Carter
2007-07-31 17:52           ` Dmitry A. Kazakov
2007-08-02 20:44           ` Charles Lindsey
2007-08-03  7:48             ` Stuart
2007-08-03  7:51             ` Dmitry A. Kazakov
2007-07-31 23:22     ` anon
2007-08-01  0:13       ` Adam Beneschan
2007-08-01  6:20         ` Unary operator after binary operator: legal or not? => Illegal anon
2007-08-01  5:34       ` AW: Unary operator after binary operator: legal or not? => CompilerError Grein, Christoph (Fa. ESG)
2007-08-01  6:46         ` To := Grein, Christoph (Fa. ESG) anon
2007-08-01  7:11           ` AW: " Grein, Christoph (Fa. ESG)
2007-08-02  6:52             ` anon
2007-08-02  8:56               ` AW: " Grein, Christoph (Fa. ESG)
2007-08-02 22:29                 ` Markus E.L. 2
2007-08-02 23:02                   ` tmoran
2007-08-02 23:11                     ` Ed Falis
2007-08-02 23:34                     ` Markus E.L. 2
2007-08-03  4:42                   ` AW: " Grein, Christoph (Fa. ESG)
2007-08-02 22:28               ` Markus E.L. 2
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox