Fri Aug 1 10:35:10 CEST 2008
control flow analysis
Chunks of code in target-word structs are basic blocks in muchnick's
terminology. (Function calls don't count here, because they don't
actually change the flow of control arbitrarily: they are equivalent
to inlined instructions).
One thing I probably need to change is to separate basic blocks after
These are the basic building blocks for control structures:
* unconditional jump
* conditional jump
It seems essential to be able to represent the condition generators in
an abstract form, so they can be easily inverted. (The code that
generates the flag can be inverted, instead of the flag being inverted
after its generated).
Otoh. It should be possible to build a control flow graph with
non-instantiated code. This is the problem I tried to solve with
delimited control, but there have to be better ways.. Some form of
reflectivity on the macro end might be necessary: representing
non-primitive macros as lists?