diff src/main.mlton.sml @ 1307:d2ad997ca157

Interface for setting memory limits
author Adam Chlipala <adam@chlipala.net>
date Thu, 14 Oct 2010 11:06:26 -0400
parents 4359e185d3af
children 79557535b843
line wrap: on
line diff
--- a/src/main.mlton.sml	Sun Oct 10 20:33:10 2010 -0400
+++ b/src/main.mlton.sml	Thu Oct 14 11:06:26 2010 -0400
@@ -91,6 +91,15 @@
       | "-noEmacs" :: rest =>
         (Demo.noEmacs := true;
          doArgs rest)
+      | "-limit" :: class :: num :: rest =>
+        (case Int.fromString num of
+             NONE => raise Fail ("Invalid limit number '" ^ num ^ "'")
+           | SOME n =>
+             if n < 0 then
+                 raise Fail ("Invalid limit number '" ^ num ^ "'")
+             else
+                 Settings.addLimit (class, n);
+         doArgs rest)
       | arg :: rest =>
         (if size arg > 0 andalso String.sub (arg, 0) = #"-" then
              raise Fail ("Unknown flag " ^ arg)