Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-03-05 20:34:45 -0800 (Mon, 05 Mar 2007)
Revision: 10173
Log message:
Added the "var1" jumbo branch.
This is the base port, no changes yet.
var1:
Convert the source code in 0.9.8 so that it matches the
source structure in 0.9.9.
There should be no real semantical changes to the OMake
language. This is a code change only.
Major architectural changes:
- The Scope* is folded into the variable, it is
no longer a separate field.
The right way to think is that there are _not_
3 environments, there are 3 kinds of variables
and a single environment.
There are 4 classes of variables (the "any"
replaces the 0.9.8 default variable).
VarPrivate: private, statically scoped
VarThis: current object, dynamically scoped
VarVirtual: global, dynamically scoped
VarAny: the usual default
- Use venv_find_var_virtual to get a global var.
- Omake_ir_ast now structurally looks like 0.9.9.
There is an exception:
- export variables are computed at compile time
in Omake_ir_ast, instead of at runtime.