on 2004-11-23 16:45:18 -0300, Charlls Quarra wrote:
I see in SCUM_Prim.cpp that you define some primitives
as "_SCUM_View_DoSomething". Is this simply a naming
convention or the _ are translated as some member
operator into the sc language? I see a similar pattern
in the LangPrimSource
just a naming convention.
Anyhow, this name you feed into the definePrimitive
call is not the same name that those primitives are
known from the sc language. Where the actual names (sc
names of the primitives) are stored?
the name you pass to definePrimitive is what sclang
uses to resolve primitives; it's the key into a lookup table
to retrieve the address of the actual primitive.
so e.g.
definePrimitive(
base, index++, // book keeping
"_SCUM_Object_SetProperty", // primitive name
SCUM_Prim::Object_SetProperty, // function address
3, // num args
0 // num varargs
);
corresponds to
prSetProperty { | key, value |
_SCUM_Object_SetProperty
^this.primitiveFailed
}
the number of required arguments is three because the
receiver is passed on the stack, too.
<sk>
_______________________________________________
sc-dev mailing list
sc-dev@xxxxxxxxxxxxxxx
http://www.create.ucsb.edu/mailman/listinfo/sc-dev