X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Fasta.ml;h=cb4521ef242b9daf6cca0706d7e93c3d5e4935aa;hb=8beacdfe24b6e93a7c1a4faee4c5587104f5c1ad;hp=4e53bcd5d1ce3cd4b72ce9e072429b0987e047b2;hpb=4242f0d829dd1709d05cebace9f37386090fb25e;p=tatoo.git diff --git a/src/asta.ml b/src/asta.ml index 4e53bcd..cb4521e 100644 --- a/src/asta.ml +++ b/src/asta.ml @@ -2,7 +2,7 @@ (* *) (* TAToo *) (* *) -(* ? *) +(* Lucca Hirschi, ? *) (* ? *) (* *) (* Copyright 2010-2012 Université Paris-Sud and Centre National de la *) @@ -34,6 +34,11 @@ struct let st (st,la,f) = st let la (st,la,f) = la let fo (st,la,f) = f + let print fmt (st,la,f) = + Format.fprintf fmt "(%a,%s,%a)" + State.print st + "TODO la" + Formula.print f end module SetT = @@ -42,11 +47,11 @@ struct end type t = { - reco : StateSet.t; - selec : StateSet.t; - bottom : StateSet.t; - top : StateSet.t; - trans : SetT.t; + mutable reco : StateSet.t; + mutable selec : StateSet.t; + mutable bottom : StateSet.t; + mutable top : StateSet.t; + mutable trans : SetT.t; } exception Not_found_transition @@ -68,6 +73,21 @@ let transitions asta st = | (a,s,l) :: tl -> (s,l) :: (remove_states tl) in remove_states (SetT.elements (SetT.filter filter asta.trans)) -let print fmt asta = () + +let print fmt asta = + let pp = Format.fprintf fmt in + pp "Recognizing states: "; + StateSet.print fmt asta.reco; + pp "\nSelecting states: "; + StateSet.print fmt asta.selec; + pp "\nBottom states: "; + StateSet.print fmt asta.bottom; + pp "\nTop states: "; + StateSet.print fmt asta.top; + pp "\nTransitions: \n"; + Format.fprintf fmt "{@[ %a @]}" (* todo: check boxes *) + (Pretty.print_list ~sep:"@, " (Transition.print)) + (SetT.elements (asta.trans)) + let to_file out asta = ()