[Pkg] The Trunk: ShoutCore-eem.43.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Feb 3 19:38:23 UTC 2015
Eliot Miranda uploaded a new version of ShoutCore to project The Trunk:
http://source.squeak.org/trunk/ShoutCore-eem.43.mcz
==================== Summary ====================
Name: ShoutCore-eem.43
Author: eem
Time: 3 February 2015, 11:38:17.924 am
UUID: c34f1798-fdff-4e96-b35a-9c7b1b207289
Ancestors: ShoutCore-ul.42
Port Pharo fixes for parsing " :arg || temps | " in blocks
and scaled decimals.
=============== Diff against ShoutCore-ul.42 ===============
Item was added:
+ ----- Method: SHParserST80>>parsingBlockArguments (in category 'token testing') -----
+ parsingBlockArguments
+ ^ranges notEmpty and: [ranges last type = #blockPatternArg]!
Item was changed:
----- Method: SHParserST80>>scanBinary (in category 'scan') -----
scanBinary
| c d |
c := self currentChar.
currentTokenSourcePosition := sourcePosition.
currentToken := c asString.
d := self nextChar.
((self isSelectorCharacter: c) or: [c == $:]) ifFalse: [^currentToken].
+ (c == $: and: [d == $=]) ifTrue: " := assignment"
+ [currentToken := currentToken , d asString.
+ self nextChar.
+ ^currentToken].
+ ((c == $|) and: [self parsingBlockArguments]) ifTrue:
+ [^currentToken].
+ [self isSelectorCharacter: d] whileTrue:
+ [currentToken := currentToken , d asString.
+ d := self nextChar].
- (c == $: and: [d == $=])
- ifTrue: [" := assignment"
- currentToken := currentToken , d asString.
- self nextChar.
- ^currentToken].
- [self isSelectorCharacter: d]
- whileTrue: [
- currentToken := currentToken , d asString.
- d := self nextChar].
^currentToken!
Item was changed:
----- Method: SHParserST80>>scanNumber (in category 'scan') -----
scanNumber
| start c nc base |
start := sourcePosition.
self skipDigits.
c := self currentChar.
c == $r
ifTrue: [
base := Integer readFrom: (ReadStream on: (source copyFrom: start to: sourcePosition - 1)).
self peekChar == $- ifTrue:[self nextChar].
self skipBigDigits: base.
c := self currentChar.
c == $.
ifTrue: [
(self isBigDigit: self nextChar base: base)
ifFalse: [sourcePosition := sourcePosition - 1]
ifTrue: [self skipBigDigits: base]].
c := self currentChar.
('deq'includes: c)
ifTrue: [
((encodedCharSet isDigit: (nc := self nextChar)) or: [nc == $- and:[(encodedCharSet isDigit: self peekChar)]])
ifFalse: [sourcePosition := sourcePosition - 1]
ifTrue: [self skipDigits]].
c == $s
ifTrue: [
+ (encodedCharSet isDigit: (nc := self nextChar))
+ ifFalse: [nc isLetter ifTrue: [sourcePosition := sourcePosition - 1]]
- (encodedCharSet isDigit: self nextChar)
- ifFalse: [sourcePosition := sourcePosition - 1]
ifTrue: [self skipDigits]].
currentToken := source copyFrom: start to: sourcePosition - 1.
^currentTokenSourcePosition := start].
c == $s
ifTrue: [
+ (encodedCharSet isDigit: (nc := self nextChar))
+ ifFalse: [nc isLetter ifTrue: [sourcePosition := sourcePosition - 1]]
- (encodedCharSet isDigit: self nextChar)
- ifFalse: [sourcePosition := sourcePosition - 1]
ifTrue: [self skipDigits.].
currentToken := source copyFrom: start to: sourcePosition - 1.
^currentTokenSourcePosition := start].
c == $.
ifTrue: [
(encodedCharSet isDigit: self nextChar)
ifFalse: [
sourcePosition := sourcePosition - 1.
currentToken := source copyFrom: start to: sourcePosition - 1.
^currentTokenSourcePosition := start]
ifTrue: [self skipDigits]].
c := self currentChar.
('deq' includes: c)
ifTrue: [
((encodedCharSet isDigit: (nc := self nextChar)) or: [nc == $- and:[(encodedCharSet isDigit: self peekChar)]])
ifFalse: [sourcePosition := sourcePosition - 1]
ifTrue: [self skipDigits]].
c == $s
ifTrue: [
+ (encodedCharSet isDigit: (nc := self nextChar))
+ ifFalse: [nc isLetter ifTrue: [sourcePosition := sourcePosition - 1]]
- (encodedCharSet isDigit: self nextChar)
- ifFalse: [sourcePosition := sourcePosition - 1]
ifTrue: [self skipDigits]].
currentToken := source copyFrom: start to: sourcePosition - 1.
^currentTokenSourcePosition := start!
More information about the Packages
mailing list