Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-07-03 19:33:38 -0700 (Sun, 03 Jul 2005)
Revision: 1183
Log message:

      Ok, this is the first pass of adding separate variable scopes.
      It compiles, but I'm sure it doesn't work yet.
      
      This is option 2:
         - Dynamic open/include/export are allowed.  Each operation
           performs a link step.
         - There are 4 kinds of variables:
             - Private (statically scoped).
             - Protected (current object, dynamically scoped),
               access is limited to sub-objects.
             - Public (current object, dynamically scoped),
               access is unrestricted.
             - File (file object, dynamically scoped).
               Each loaded file has an associated object.
      
      During the link step, each unlinked variable is assigned to
      the appropriate kind.
      
      The language is still functional of course.
      

Changes  Path
+10 -0 libmojave-branches/strictscope1/stdlib/lm_filename_util.ml
+4 -0 libmojave-branches/strictscope1/stdlib/lm_filename_util.mli
+0 -1 omake-branches/strictscope1/Files
+11 -5 omake-branches/strictscope1/src/build/omake_build.ml
+12 -6 omake-branches/strictscope1/src/build/omake_builtin.ml
+16 -13 omake-branches/strictscope1/src/build/omake_builtin_base.ml
+10 -5 omake-branches/strictscope1/src/build/omake_builtin_file.ml
+22 -17 omake-branches/strictscope1/src/build/omake_builtin_io.ml
+40 -26 omake-branches/strictscope1/src/build/omake_builtin_io_fun.ml
+4 -94 omake-branches/strictscope1/src/build/omake_builtin_object.ml
+0 -5 omake-branches/strictscope1/src/build/omake_builtin_object.mli
+8 -4 omake-branches/strictscope1/src/build/omake_builtin_shell.ml
+7 -3 omake-branches/strictscope1/src/build/omake_builtin_target.ml
+12 -8 omake-branches/strictscope1/src/build/omake_builtin_test.ml
+1 -1 omake-branches/strictscope1/src/build/omake_builtin_util.ml
+1 -1 omake-branches/strictscope1/src/env/omake_ast_lex.mll
+53 -69 omake-branches/strictscope1/src/env/omake_command_digest.ml
+430 -301 omake-branches/strictscope1/src/env/omake_env.ml
+51 -32 omake-branches/strictscope1/src/env/omake_env.mli
+587 -482 omake-branches/strictscope1/src/env/omake_ir_ast.ml
+8 -11 omake-branches/strictscope1/src/env/omake_ir_ast.mli
+26 -38 omake-branches/strictscope1/src/env/omake_ir_free_vars.ml
+2 -2 omake-branches/strictscope1/src/env/omake_ir_free_vars.mli
+20 -27 omake-branches/strictscope1/src/env/omake_ir_semant.ml
+1 -1 omake-branches/strictscope1/src/env/omake_ir_semant.mli
+148 -162 omake-branches/strictscope1/src/eval/omake_eval.ml
+3 -5 omake-branches/strictscope1/src/eval/omake_eval.mli
+53 -38 omake-branches/strictscope1/src/eval/omake_rule.ml
+9 -5 omake-branches/strictscope1/src/eval/omake_value.ml
+5 -2 omake-branches/strictscope1/src/eval/omake_value.mli
+56 -43 omake-branches/strictscope1/src/ir/omake_ir.ml
+300 -247 omake-branches/strictscope1/src/ir/omake_ir_print.ml
Deleted omake-branches/strictscope1/src/ir/omake_ir_print.mli
+2 -1 omake-branches/strictscope1/src/ir/omake_ir_util.ml
+1 -1 omake-branches/strictscope1/src/ir/omake_ir_util.mli
+7 -3 omake-branches/strictscope1/src/ir/omake_symbol.ml
+7 -3 omake-branches/strictscope1/src/main/omake_main.ml
+42 -31 omake-branches/strictscope1/src/main/omake_shell.ml
+7 -2 omake-branches/strictscope1/src/shell/omake_shell_job.ml