]> hydra-www.ietfng.org Git - dyna2/commitdiff
make run-doctest.py executable
authorTim Vieira <tim.f.vieira@gmail.com>
Mon, 8 Jul 2013 00:25:42 +0000 (20:25 -0400)
committerTim Vieira <tim.f.vieira@gmail.com>
Mon, 8 Jul 2013 00:25:42 +0000 (20:25 -0400)
catch errors when retracting rules.

Makefile
run-doctests.py [changed mode: 0644->0755]
src/Dyna/Backend/Python/interpreter.py
src/Dyna/Backend/Python/post/__init__.py
src/Dyna/Backend/Python/term.py
test/repl/data/english.par

index 4e4439c76fb748b5e6ecbe93866d27d1ae2b958b..0b1cd38c90ce8de9bfef352e584e0e6ccd97a6d1 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -19,7 +19,7 @@ build:
        cabal build
 
 test tests: build
-       ( dist/build/dyna-selftests/dyna-selftests ; python run-doctests.py )
+       ( dist/build/dyna-selftests/dyna-selftests ; ./run-doctests.py )
        # cabal test
 
 # Compilation takes a while; for faster iteration while developing,
old mode 100644 (file)
new mode 100755 (executable)
index 0ec1b56..7b4ddc5
@@ -1,3 +1,4 @@
+#!/usr/bin/env python
 from path import path
 from cStringIO import StringIO
 
index ab12b570097f0896e7e9fd338bff6e5c89557346..b4b54d81b94fba178a3d53d949b390f7a2ad112f 100644 (file)
@@ -336,7 +336,10 @@ class Interpreter(object):
                         xs.remove(u)
                         assert u not in xs, 'Several occurrences of u in xs'
             # run initializer in delete mode
-            rule.init(emit=self.delete_emit)
+            try:
+                rule.init(emit=self.delete_emit)
+            except (TypeError, ZeroDivisionError):
+                pass
         else:
             assert rule.query is not None
             # remove query handler
index f4f3e7b4cf5318bb2ece54a36e5dcdec9985ca39..381a54addb5a02e66fc24976c4451b552f0925ff 100644 (file)
@@ -1,7 +1,7 @@
 import re as _re
 from utils import get_module
 
-available = 'trace', 'dump_solution', 'draw_circuit', 'graph', 'save'
+available = 'trace', 'dump_solution', 'draw_circuit', 'graph', 'save', 'draw'
 
 def run(interp, line):
 
index dae2ad74a15a95716cc854866c6fe56bf7f6b06f..0b9598286d57e10b53a9ef33fd5e9a485e01cacf 100644 (file)
@@ -102,17 +102,26 @@ class _Nil(Term):
         Term.__init__(self, 'nil/0', ())
         self.aggregator = NoAggregator
         self.aslist = []
+
     def __repr__(self):
         return '[]'
-    def __iter__(self):
-        for a in self.aslist:
-            if not isinstance(a, Term):
-                yield a, (None,), a
-            else:
-                yield a, (None,), a
+
     def __contains__(self, x):
         return False
 
+    def like_chart(self):
+        return iter([])
+
+    def __iter__(self):
+        return iter([])
+
+    def __eq__(self, other):
+        try:
+            return self.aslist == other.aslist
+        except AttributeError:
+            return False
+
+
 Nil = _Nil()
 
 
index e7c49bae84231aa015fa8d4cb369adb7f79cf333..98cf93853401ac083d5161806f041972990af995 100644 (file)
@@ -20,4 +20,4 @@
 (ROOT (S (NP Papa) (VP (Modal would) (VP (V have) (VP (V (V eat) -ed) (NP (Det his) (N (N sandwich) -s)))))) .)
 (ROOT (S (NP (Det every) (N sandwich)) (VP (V was) (VP (V (V go) -ing) (VP (V to (V have)) (VP (V been) (Adj delicious)))))) .)
 (ROOT (S (NP (NP (Det the) (N (Adj (Adj fine) and (Adj blue)) (N woman))) and (NP (Det every) (N man))) (VP (VP (Modal must) (VP (V have) (VP (VP (V (V eat) -ed) (NP (Det two) (N (N sandwich) -s))) and (VP (V (V sleep) -ed))))) (PP (P on) (NP (Det the) (N floor))))) .)
-(a b c d)
+(ROOT (A a) (B b) (C c) (D d))