<div dir="ltr">What is self parserClass expected to answer when one happens to be an instance of <span style="font-size:13px">OGLExtManager?</span><div><span style="font-size:13px"><br></span></div><div>This *is* interesting. Is that Igor's generated code? Stasenko, he might be someone who'd know what was supposed to be going on here. Odds are, if we can figure out what sort of parser is supposed to be answered, we can make it work in Cuis.</div><div><br></div><div>I'm interested in this stuff myself, because Cuis would be a great platform to make games on if we had some solid support for OpenGL, mainly because it wastes less time on the Morphic loop than the other dialects.</div><div><br></div><div>--C</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 16, 2015 at 7:15 PM, Phil (list) <span dir="ltr"><<a href="mailto:pbpublist@gmail.com" target="_blank">pbpublist@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Mon, 2015-02-16 at 18:49 -0800, Casey Ransberger wrote:<br>
> I think parserClass was there to give everyone a hook to implement<br>
> their own parsers, because Smalltalk was (in part) a prog language<br>
> research platform. Given that Cuis aims to be a minimal system,<br>
> someone may have removed it as unnecessary. Also, when Juan changes<br>
> some critical behavior, he tends to prefer coming up with a new name<br>
> for the method and associated variables, so that folks with existing<br>
> code aren't confused when their dependencies start behaving in<br>
> unexpected ways; this might also be what happened.<br>
<br>
</span>I'm fine with it being removed... just wanted to understand why it was<br>
removed. I know there's been a lot of cog/compiler/vm stuff going on<br>
recently that I haven't kept up on so thought I'd check in before just<br>
making the minimal changes to get it working again if something bigger<br>
is going on.<br>
<span class=""><br>
> It would be interesting to look at what wants to refer to parserClass.<br>
> Could be one of those packages is doing something very, very<br>
> interesting:)<br>
><br>
><br>
</span>It's from OGLExtManager...<br>
<br>
forwardExtMethod: aSelector<br>
"Compile a forwarder method in OpenGL"<br>
| code parser fwdCode |<br>
code := self class sourceCodeAt: aSelector.<br>
parser := self parserClass new.<br>
parser parseSelector: code.<br>
code := code copyFrom: 1 to: (parser endOfLastToken min: code size).<br>
fwdCode := String streamContents:[:s|<br>
s nextPutAll: code.<br>
s newLineTab: 1; nextPutAll: '"This method was automatically<br>
generated"'.<br>
s newLineTab: 1; nextPutAll: '^glExt '; nextPutAll: code.<br>
].<br>
(OpenGL sourceCodeAt: aSelector ifAbsent:['']) = fwdCode<br>
ifTrue:[^self]. "no change"<br>
OpenGL compile: fwdCode classified: (self class organization<br>
categoryOfElement: aSelector).<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
_______________________________________________<br>
Cuis mailing list<br>
<a href="mailto:Cuis@jvuletich.org">Cuis@jvuletich.org</a><br>
<a href="http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org" target="_blank">http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org</a><br>
</div></div></blockquote></div><br></div>