Changes by: Brian Emre Aydemir (baydemir at cis.upenn.edu)
Date: 2002-05-13 02:45:56 -0700 (Mon, 13 May 2002)
Revision: 3633
Log message:

      Cleaning up FIR evaluation / operational semantics.  The substantively new
      addition is that we can now evaluate matchExp's (match expressions).
      
      Adding a new conversional firExpEvalC (Mp_mc_fir_eval) which essentially
      evaluates any expression it can.  Essentially, this is firConstElimC, except
      this one works (at least on every example I've tried).  Again, since the MCC
      front ends do so much optimization, I don't know how well this works in
      general, but I do have evidence, based on the errors I had to fix during
      debugging, that it at least gets rid of a (pointless) idOp expression some
      where in MCC's mcc/test/fc/simple/fact.c.  (-:
      
      Granted, it can't evaluate much at the moment, but at least it's a start, and
      it should even be sufficient for the expressions in our power example.
      
      Take a look at theories/mc/tests/mp_mc_test.ml for some examples.
      
      Functions are still a problem at this point.
      

Changes  Path
+28 -12 metaprl/theories/mc/mp_mc_compile.ml
+8 -1 metaprl/theories/mc/mp_mc_compile.mli
+3 -5 metaprl/theories/mc/mp_mc_connect_base.ml
+12 -7 metaprl/theories/mc/mp_mc_const_elim.ml
+1 -0 metaprl/theories/mc/mp_mc_const_elim.mli
+2 -2 metaprl/theories/mc/mp_mc_deadcode.ml
+212 -29 metaprl/theories/mc/mp_mc_fir_eval.ml
+70 -10 metaprl/theories/mc/mp_mc_fir_eval.mli
+62 -11 metaprl/theories/mc/tests/mp_mc_test.ml