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.