diff src/iflow.sml @ 1293:acabf3935060

tryDml
author Adam Chlipala <adam@chlipala.net>
date Sun, 05 Sep 2010 14:00:57 -0400
parents a9a500d22ebc
children 02fc16faecf3
line wrap: on
line diff
--- a/src/iflow.sml	Sun Sep 05 12:50:06 2010 -0400
+++ b/src/iflow.sml	Sun Sep 05 14:00:57 2010 -0400
@@ -2040,7 +2040,7 @@
                                   val (ts, cs) = MonoUtil.Exp.fold {typ = fn (_, st) => st,
                                                                    exp = fn (e, st as (cs, ts)) =>
                                                                             case e of
-                                                                                EDml e =>
+                                                                                EDml (e, _) =>
                                                                                 (case parse dml e of
                                                                                      NONE => st
                                                                                    | SOME c =>
@@ -2080,7 +2080,7 @@
                                                               (St.assert [AReln (Eq, [r, x])];
                                                                evalExp (acc :: r :: env) b k))} q
                               end)
-          | EDml e =>
+          | EDml (e, _) =>
             (case parse dml e of
                  NONE => (print ("Warning: Information flow checker can't parse DML command at "
                                  ^ ErrorMsg.spanToString loc ^ "\n");
@@ -2400,7 +2400,7 @@
                                      query = doExp env query,
                                      body = doExp (Unknown :: Unknown :: env) body,
                                      initial = doExp env initial}, loc)
-                          | EDml e1 =>
+                          | EDml (e1, mode) =>
                             (case parse dml e1 of
                                  NONE => ()
                                | SOME c =>
@@ -2410,7 +2410,7 @@
                                      tables := SS.add (!tables, tab)
                                    | Update (tab, _, _) =>
                                      tables := SS.add (!tables, tab);
-                             (EDml (doExp env e1), loc))
+                             (EDml (doExp env e1, mode), loc))
                           | ENextval e1 => (ENextval (doExp env e1), loc)
                           | ESetval (e1, e2) => (ESetval (doExp env e1, doExp env e2), loc)
                           | EUnurlify (e1, t, b) => (EUnurlify (doExp env e1, t, b), loc)