2015-09-25 9:53 GMT+02:00 Thierry Goubier <thierry.goub...@gmail.com>:

> 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.
>

Note to self for later: RBScanner>>#scanLiteral call stripSeparators before
checking $# and calling again scanLiteral, which means it has a good chance
of calling stripSeparators twice when dealing with the beginning of a
symbol.

Thierry


> 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 <nicolaih...@web.de>:
>
>>
>>
>> 2015-09-24 22:39 GMT+02:00 Thierry Goubier <thierry.goub...@gmail.com>:
>>
>>> Le 24/09/2015 09:11, Nicolai Hess a écrit :
>>>
>>>>
>>>>
>>>> 2015-09-24 8:19 GMT+02:00 Peter Uhnák <i.uh...@gmail.com
>>>> <mailto:i.uh...@gmail.com>>:
>>>>
>>>>     >   - 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