Sun Apr 6 14:43:02 EDT 2008
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
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?