At 02:55 PM 10/21/2003 -0400, Dan Sugalski wrote:
Here's the scoop:

Metadata for classes is simple. In PIR/assembly, they're noted with
.things:

  .class Foo
    .is bar
    .is baz
    .does some_thing
    .member x
    .member y
    .member z
  .ssalc

Unless someone tells me that ssalc is horribly obscene in some relatively
common language, and we may still if the translation amuses me
sufficiently.

I'm sure ssalc must mean something bad somewhere. Technically nothing is stopping us from using .end for everything since we are using a LALR parser and don't need fancy error reporting,

Classes, when instantiated, have a backing namespace that's identical to
the class name.

Good.


So do we support :: or . for scope resolution? Or both?

It's OK for the code that handles PIR and assembly to ignore this for the
moment, at least until the metadata segment is better defined. Which will
be soon, though I'd rather someone else do the bytecode modification as
it's been a long time since I've had my hand in there.

Well we can hide this under PIR. Once PIR is set, we can start by implementing on the fly class creation, then change IMCC to emit metadata when the rest is in. That way HL languages don't have to change later. For now we just have IMCC emit newclass, etc. and manually construct the classes.

-Melvin




Reply via email to