2015-09-24 8:19 GMT+02:00 Peter Uhnák <i.uhnak@gmail.com>:
- 250 * 1.5 returns -2.25
why is this valid syntax?
It should not. RBParser bug. This is not valid Smalltalk syntax. As Ben showed similar cases raise an error but this one generate incorrect compiledMethod instead.
On Thu, Sep 24, 2015 at 5:35 AM, Ben Coman <btc@openinworld.com> wrote:
RBParser parseExpression: '-250 * 1.5' => "RBMessageNode(-250 * 1.5)" RBParser parseExpression: '- 250 * 1.5' => "RBMessageNode(*1.5 * 1.5)"
RBParser parseExpression: '250 * -1.5' => "RBMessageNode(250 * -1.5)" RBParser parseExpression: '250 * - 1.5' => MNU RBToken>>realvalue.
RBParser parseExpression: '-250' => "RBLiteralValueNode(-250)" RBParser parseExpression: '- 250' => MNU RBToken>>realvalue.
So how significant should be the space between the negative sign and its number?
cheers -ben
On Thu, Sep 24, 2015 at 6:34 AM, Clément Bera <bera.clement@gmail.com> wrote:
RBParser parseExpression: '- 250 * 1.5' => Answers RBMessageNode(*1.5 * 1.5)
Second expression looks correct.
Hence RBParser bug.
2015-09-23 23:42 GMT+02:00 phil@highoctane.be <phil@highoctane.be>:
debug it on the first one gives "MNU: receiver of
"doSemanticAnalyisIn:"
is nil.
Weird.
On Wed, Sep 23, 2015 at 8:40 AM, stepharo <stepharo@free.fr> wrote:
Hi guys
I think that this is quite bad that - 250 * 1.5 returns -2.25
while
-250 * 1.5 return 375
stef