Note for ref on the original point:

ANSI Smalltalk allow for space between - and the number token. Squeak is
then non A

For the new point:

ANSI Smalltalk does not allow for space between # and the selector, or
between # and the quoted string.

Should be an easy fix.

Marcus, how do we should validate RBParser changes? Reparse all the code in
the image and compares ASTs?

Thierry

2015-09-25 8:52 GMT+02:00 Nicolai Hess <[email protected]>:

>
>
> 2015-09-24 22:39 GMT+02:00 Thierry Goubier <[email protected]>:
>
>> Le 24/09/2015 09:11, Nicolai Hess a écrit :
>>
>>>
>>>
>>> 2015-09-24 8:19 GMT+02:00 Peter Uhnák <[email protected]
>>> <mailto:[email protected]>>:
>>>
>>>     >   - 250 * 1.5 returns -2.25
>>>
>>>     why is this valid syntax?
>>>
>>>
>>>
>>> I don't know if this is valid syntax (I always wondered that there is
>>> one place in PointTest, that is not compilable with old compiler but
>>> compiles
>>> fine with opal).
>>> But the error happens in
>>> RBParser>>#parseNegatedNumber.
>>> If a #- is recognized, it tests if a literalnumber follows (but from the
>>> token stream, that is, the spaces are ignored).
>>> Now the real bug is, that we do two "steps" and concstruct a new
>>> literalvaluenode from the now following tokens.
>>> RBParser parseExpression:'- 2' -> throws an error, because no following
>>> tokens
>>> RBParser parseExpression:'- 2 * 3' -> works but actually duplicates the
>>> two last tokens "*3 *3.
>>> and some funny other things '- 2@1' -> '-1@1'
>>>
>>
>> Another one I found in the tests: would you expect
>>
>> RBParser parseExpression: '#
>>
>> 1 = 1'
>>
>> To be the same thing as '#1 = 1' ?
>>
>
> I tested this in squeak and it seems that
> #1 isn't allowed as symbol, the only way to use a digit as symbol is
> #'1' (is this defined in smalltalks syntax defintion?)
>
> -> Parsing '#' has to be fixed too.
>
>
>
>
>>
>> Thierry
>>
>
>

Reply via email to