Sun Apr 6 14:43:02 EDT 2008

the assembler

keep the road open to have assembler opcodes as syntax, to carry over
source code information.

so what does the assembler do?

  * provides chunks of (fully linked) target code representation given
    a namespace of primitive assemblers.

  * resolves target code/data addresses (using a multi-pass algo)

what does the assembler not do?

  * symbol resolution: all symbols should be resolved by the compiler,
    so there is no need to do any namespace management.

  * code order is determined by the compiler: assembler gets a list of
    word structures.

should it be called 'assemble!', and see it as a graph update

not boring at all: there's a problem that needs to be solved, and
quite a deep one: what about symbols? well actually, they might
evaluate straight to word structures, which are accessible!


evaluation of expressions in the assembler are dependent on 2
different context: whether they are part of call instructions, or part
of literal loads. this seems to solve a big problem, but i can't quite
express it yet...

  * evaluation of symbolic code
  * think about side effects OK/not ?
  * where to store assembler opcodes?