Found two bugs by rewriting the compilation in the thesis.
authorLucca Hirschi <lucca.hirschi@gmail.com>
Tue, 3 Jul 2012 14:04:20 +0000 (16:04 +0200)
committerLucca Hirschi <lucca.hirschi@gmail.com>
Tue, 3 Jul 2012 14:04:20 +0000 (16:04 +0200)
src/asta.ml
src/compil.ml
tests/results/my.result

index dc7b88d..56bb8da 100644 (file)
@@ -122,7 +122,7 @@ let print fmt asta =
       StateSet.print asta.selec;
     pp "@[<v 0># Bottom states: %a@ @]"
       StateSet.print asta.bottom;
-    pp "@[<v 0># Tom states: %a@ @]"
+    pp "@[<v 0># Top states: %a@ @]"
       StateSet.print asta.top;
     let print_list_tr fmt z=
       if SetT.is_empty z 
index f505229..720bb98 100644 (file)
@@ -39,6 +39,7 @@ let trans query =
     Asta.add_quer asta top_st;
     Asta.init_top asta;
     Asta.add_top asta top_st;
+    Asta.add_bot asta top_st;  (* for trees which are leaves *)
     Asta.add_tr asta (top_st, Asta.any_label, or_top) true
       
   and trans_last (ax,test,pred) =      (* a selecting state is needed *)
@@ -49,8 +50,7 @@ let trans query =
     Asta.add_quer asta q';
     Asta.add_top asta q;
     Asta.add_top asta q';
-    Asta.add_bot asta q;
-    Asta.add_bot asta q';
+    Asta.add_bot asta q;               (* q' \notin B !! *)
     let Simple lab = test in
     let tr_selec = (q', lab, fo_p)
     and tr_q = (q, Asta.any_label, form_propa_selec q q' ax) in
index 227e738..57e54c1 100644 (file)
@@ -17,8 +17,8 @@ Parse query OK ! Parse Tree OK ! Compil OK ! Run OK !
   # Query states: { q₁ q₂ q₈ q₉ }
   # Recognizing states: { q₀ q₃ q₄ q₅ q₆ q₇ }
   # Selecting states: { q₁ }
-  # Bottom states: { qâ\82\81 qâ\82\82 qâ\82\88 }
-  # Tom states: { q₉ }
+  # Bottom states: { qâ\82\82 qâ\82\88 qâ\82\89 }
+  # Top states: { q₉ }
   # Queries transitions:
     |  q₁ ----F(b)---> ↓₁q₀  
     |  q₂ ----Cof(ø)---> ↓₁q₂ ∨ ↓₂q₂ ∨ ↓₁q₁ ∨ ↓₂q₁