Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-04-25 12:55:31 -0700 (Wed, 25 Apr 2007)
Revision: 10501
Log message:

      This is the var1 jumbo patch.  There are no semantic changes, only
     code structure, which now looks like 0.9.9 but has no features from
     0.9.9.
     
     ************************************************************************
     *** 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 change to the code only.  The update is large,
     but it should be relatively uncontroversial.
     
     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:
     
        * VarPrivate: private, statically scoped
        * VarThis: current object, dynamically scoped
        * VarVirtual: global, dynamically scoped
        * VarGlobal: the usual default
     
     ** Omake_ir_ast now structurally looks like 0.9.9.
     
     Other changes:
     
     * export variables are computed at compile time in Omake_ir_ast,
       instead of at runtime.
     
     * function parameters are private (not protected).
     
     * defined/getvar/setvar functions allow qualified names.

Changes  Path
+2 -0 omake-branches/0.9.8.x/lib/Pervasives.om
+7 -3 omake-branches/0.9.8.x/src/Makefile
+7 -3 omake-branches/0.9.8.x/src/Makefile.nt
+6 -6 omake-branches/0.9.8.x/src/build/omake_build.ml
+11 -7 omake-branches/0.9.8.x/src/build/omake_builtin.ml
+4 -4 omake-branches/0.9.8.x/src/build/omake_builtin.mli
+71 -5 omake-branches/0.9.8.x/src/build/omake_builtin_util.ml
+10 -4 omake-branches/0.9.8.x/src/build/omake_builtin_util.mli
+41 -44 omake-branches/0.9.8.x/src/build/omake_rule.ml
+39 -20 omake-branches/0.9.8.x/src/builtin/omake_builtin_base.ml
+6 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_file.ml
+47 -16 omake-branches/0.9.8.x/src/builtin/omake_builtin_io.ml
+31 -32 omake-branches/0.9.8.x/src/builtin/omake_builtin_io_fun.ml
+108 -5 omake-branches/0.9.8.x/src/builtin/omake_builtin_object.ml
+3 -2 omake-branches/0.9.8.x/src/builtin/omake_builtin_shell.ml
+12 -11 omake-branches/0.9.8.x/src/builtin/omake_builtin_sys.ml
+5 -4 omake-branches/0.9.8.x/src/builtin/omake_builtin_target.ml
+10 -9 omake-branches/0.9.8.x/src/builtin/omake_builtin_test.ml
Properties omake-branches/0.9.8.x/src/clib/
+1 -0 omake-branches/0.9.8.x/src/env/omake_ast_lex.mll
+39 -21 omake-branches/0.9.8.x/src/env/omake_ast_parse.input
+107 -81 omake-branches/0.9.8.x/src/env/omake_command_digest.ml
+546 -575 omake-branches/0.9.8.x/src/env/omake_env.ml
+30 -30 omake-branches/0.9.8.x/src/env/omake_env.mli
+7 -4 omake-branches/0.9.8.x/src/env/omake_gen_parse.ml
+1255 -465 omake-branches/0.9.8.x/src/env/omake_ir_ast.ml
+20 -27 omake-branches/0.9.8.x/src/env/omake_ir_ast.mli
+77 -84 omake-branches/0.9.8.x/src/env/omake_ir_free_vars.ml
+5 -5 omake-branches/0.9.8.x/src/env/omake_ir_free_vars.mli
+43 -46 omake-branches/0.9.8.x/src/env/omake_ir_semant.ml
+187 -168 omake-branches/0.9.8.x/src/eval/omake_eval.ml
+9 -9 omake-branches/0.9.8.x/src/eval/omake_eval.mli
+4 -3 omake-branches/0.9.8.x/src/eval/omake_value.ml
+3 -2 omake-branches/0.9.8.x/src/eval/omake_value.mli
+1 -0 omake-branches/0.9.8.x/src/ir/OMakefile
+7 -6 omake-branches/0.9.8.x/src/ir/omake_command_type.ml
+185 -35 omake-branches/0.9.8.x/src/ir/omake_ir.ml
+102 -72 omake-branches/0.9.8.x/src/ir/omake_ir_print.ml
+6 -5 omake-branches/0.9.8.x/src/ir/omake_ir_print.mli
+9 -9 omake-branches/0.9.8.x/src/ir/omake_ir_util.ml
+22 -4 omake-branches/0.9.8.x/src/ir/omake_options.ml
+5 -3 omake-branches/0.9.8.x/src/ir/omake_options.mli
+7 -0 omake-branches/0.9.8.x/src/ir/omake_symbol.ml
Copied omake-branches/0.9.8.x/src/ir/omake_var.ml (from rev 10497, omake-jumbo-branches/var1/0.9.8.x/src/ir/omake_var.ml)
Copied omake-branches/0.9.8.x/src/ir/omake_var.mli (from rev 10497, omake-jumbo-branches/var1/0.9.8.x/src/ir/omake_var.mli)
+5 -13 omake-branches/0.9.8.x/src/ir/omake_virtual_id.ml
+3 -6 omake-branches/0.9.8.x/src/ir/omake_virtual_id.mli
Properties omake-branches/0.9.8.x/src/libmojave/
+6 -6 omake-branches/0.9.8.x/src/main/omake_main.ml
+23 -23 omake-branches/0.9.8.x/src/main/omake_shell.ml
+3 -2 omake-branches/0.9.8.x/src/shell/omake_shell_completion.ml
+3 -2 omake-branches/0.9.8.x/src/shell/omake_shell_job.ml