[squeak-dev] rewrite rule help

Eliot Miranda eliot.miranda at gmail.com
Sat Jun 2 01:25:58 UTC 2018


Hi All,

    can anyone tell me why the following rules

rules
replace: '``@statements. interpreterProxy pop: ``@const. interpreterProxy
pushInteger: ``@integer'
with: '``@statements. interpreterProxy methodReturnInteger: ``@integer';
replace: '``@statements. interpreterProxy pop: ``@const. ^interpreterProxy
pushInteger: ``@integer'
with: '``@statements. ^interpreterProxy methodReturnInteger: ``@integer'.

    or
rules
replace: 'interpreterProxy pop: ``@const. interpreterProxy pushInteger:
``@integer'
with: 'interpreterProxy methodReturnInteger: ``@integer';
replace: 'interpreterProxy pop: ``@const. ^interpreterProxy pushInteger:
``@integer'
with: '^interpreterProxy methodReturnInteger: ``@integer'.

do edit this

primitiveRendererVersion
<export: true>
interpreterProxy methodArgumentCount = 0
ifFalse:[^interpreterProxy primitiveFail].
interpreterProxy pop: 1.
^interpreterProxy pushInteger: 1.

to

primitiveRendererVersion
<export: true>
interpreterProxy methodArgumentCount = 0
ifFalse: [ ^ interpreterProxy primitiveFail ].
^ interpreterProxy methodReturnInteger: 1

but not this?

primitiveTextureDepth
| handle result renderer |
<export: true>
interpreterProxy methodArgumentCount = 2
ifFalse:[^interpreterProxy primitiveFail].
handle := interpreterProxy stackIntegerValue: 0.
renderer := interpreterProxy stackIntegerValue: 1.
interpreterProxy failed ifTrue:[^nil].
result := self cCode:'b3dxActualTextureDepth(renderer, handle)'
inSmalltalk:[-1].
result < 0 ifTrue:[^interpreterProxy primitiveFail].
interpreterProxy pop: 3.
^interpreterProxy pushInteger: result.

_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180601/e799d656/attachment.html>


More information about the Squeak-dev mailing list