[squeak-dev] Squeak 4.6: Compiler-dtl.305.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Jul 21 23:38:11 UTC 2021
David T. Lewis uploaded a new version of Compiler to project Squeak 4.6:
http://source.squeak.org/squeak46/Compiler-dtl.305.mcz
==================== Summary ====================
Name: Compiler-dtl.305
Author: dtl
Time: 21 July 2021, 7:38:08.593 pm
UUID: 58432771-0204-44ce-8992-339c5e9aa325
Ancestors: Compiler-eem.304
Backport Compiler-eem.394 to squeak46. Required for various VMMaker and VM plugins that use _:_:_: syntax convention for C function code generation.
Name: Compiler-eem.394
Author: eem
Time: 18 September 2018, 11:01:49.239937 am
UUID: 446b4a31-2799-41fa-82d4-e503a94fb360
Ancestors: Compiler-bf.393
Fix a bug in Scanner>>xUnderscore that prevented parsing e.g.
method: p _: q _: r
^'cool'
=============== Diff against Compiler-eem.304 ===============
Item was changed:
----- Method: Scanner>>xUnderscore (in category 'multi-character scans') -----
xUnderscore
+ self allowUnderscoreAssignments ifTrue:
+ "Figure out if x _foo (no space between _ and foo) should be a selector or assignment."
+ [(self allowUnderscoreSelectors
+ and: [#(xLetter xDigit xUnderscore xColon) includes: (self typeTableAt: aheadChar)])
+ ifFalse:
+ [self step.
+ tokenType := #leftArrow.
+ ^token := #'_']].
+ self allowUnderscoreSelectors ifTrue:
+ [^self xLetter].
- self allowUnderscoreAssignments ifTrue:[ | type |
- "Figure out if x _foo (no space between _ and foo)
- should be a selector or assignment"
- (((type := self typeTableAt: aheadChar) == #xLetter
- or:[type == #xDigit or:[type == #xUnderscore]])
- and:[self allowUnderscoreSelectors]) ifFalse:[
- self step.
- tokenType := #leftArrow.
- ^token := #'_'
- ].
- ].
- self allowUnderscoreSelectors ifTrue:[^self xLetter].
^self xIllegal!
More information about the Squeak-dev
mailing list
|