re-add basic step tracing
Matt S Trout [Wed, 3 Aug 2016 17:29:40 +0000 (17:29 +0000)]
lib/DX/Deparse.pm
lib/DX/SearchState.pm

index 5350b58..7326775 100644 (file)
@@ -181,12 +181,32 @@ sub _fmt_searchstate {
   ], $meta);
 }
 
-sub _fmt_step_normal {
+sub _fmt_step_considerproposition {
   my ($self, $step, $meta) = @_;
-  $self->_fmt_object([
+  'consider '.$self->_fmt($step->proposition, $meta);
+}
+
+sub _fmt_step_resolveproposition {
+  my ($self, $step, $meta) = @_;
+  'resolve '.$self->_fmt_object([
     [ actions => $step->actions ],
-    [ alternative_step => $step->alternative_step ],
+    ($step->alternative_step
+      ? [ alternative_step => '...' ]
+      : ()),
   ], $meta);
 }
 
+sub _fmt_step_backtrack { 'backtrack' }
+
+sub _fmt_step_markassolution { 'mark as solution' }
+
+sub _fmt_step_enterrecheck {
+  my ($self, $step, $meta) = @_;
+  'recheck '.$self->_fmt($step->proposition_list->[0], $meta);
+}
+
+sub _fmt_step_completerecheck { 'complete recheck' }
+
+sub _fmt_step_failrecheck { 'fail recheck' }
+
 1;
index 78b7528..1742ff5 100644 (file)
@@ -51,6 +51,7 @@ sub new_for {
 sub with_one_step {
   my ($self) = @_;
   return undef unless my $step = $self->next_step;
+  trace step => $step;
   return $step->apply_to($self);
 }