The Inbox: Compiler-eem.243.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Compiler-eem.243.mcz

commits-2
A new version of Compiler was added to project The Inbox:
http://source.squeak.org/inbox/Compiler-eem.243.mcz

==================== Summary ====================

Name: Compiler-eem.243
Author: eem
Time: 14 November 2012, 11:54:44.286 pm
UUID: e2c4d1ed-4a14-4481-b887-dae54eecf492
Ancestors: Compiler-eem.242

Use a smaller hammer to crack the same tiny nut.

=============== Diff against Compiler-eem.242 ===============

Item was changed:
  ----- Method: Parser>>pragmaLiteral: (in category 'pragmas') -----
  pragmaLiteral: selectorSoFar
  "Read a pragma literal.  As a nicety we allow a variable name (rather
  than a literal string) as the second argument to primitive:error:"
 
  (hereType == #string or: [ hereType == #literal or: [ hereType == #number or: [ hereType == #character ] ] ])
  ifTrue: [ ^ self advance ].
  (here == $# and: [ tokenType == #word ])
  ifTrue: [ ^ self advance ].
  (here == #- and: [ tokenType == #number ])
  ifTrue: [ ^ (self advance; advance) negated ].
  (here = 'true' or: [ here = 'false' or: [ here = 'nil' ] ])
+ ifTrue: [ ^ (Scanner new scanTokens: self advance) first ].
- ifTrue: [ ^ Compiler evaluate: self advance ].
  "This nicety allows one to supply a primitive error
  temp as a variable name, rather than a string."
  ((selectorSoFar beginsWith: 'primitive:')
  and: [(selectorSoFar endsWith: 'error:')
  and: [hereType == #word]]) ifTrue:
  [^self advance].
  ^self expected: 'Literal constant'!