diff --git a/example/dots/examplevvXFaI.svg b/example/dots/examplevvXFaI.svg new file mode 100644 index 0000000..1eb8e11 --- /dev/null +++ b/example/dots/examplevvXFaI.svg @@ -0,0 +1,82 @@ + + + + + + +G + + + +node0 + +C:{}{t} +D:{} + + + +node2 + +C:{t} +D:{} + + + +node0->node2 + + +{} + + + +node1 + +C:{z}{}{t} +D:{z} + + + +node1->node0 + + +{} + + + +node4 + +C: +D:{} + + + +node2->node4 + + +{} + + + +node3 + +C:{x y}{z}{}{t} +D:{} + + + +node3->node1 + + +{b} + + + +node4->node4 + +{} + + + diff --git a/example/example.org b/example/example.org index 4c90cb1..fce2b24 100644 --- a/example/example.org +++ b/example/example.org @@ -536,6 +536,49 @@ tab (list (set 'x 'y) (set 'z) (set) (set 't)) :END: + Let's see what the evolution of =rs1= looks like with the context + sequence =ctx1=. + + #+NAME: rs1-sgr + #+HEADER: :var input-rs=munch-sexp(rs1) :var input-ctx=munch-sexp(ctx1) + #+BEGIN_SRC racket :results output drawer +(dotit (ppsg (build-interactive-process (unorg-rs input-rs) (read-ctx input-ctx)))) + #+END_SRC + + #+RESULTS: rs1-sgr + :RESULTS: + digraph G { + node0 [label="(state (set 'z) (list (set 'z) (set) (set 't)))\n"]; + node1 [label="(state (set) (list (set 'x 'y) (set 'z) (set) (set 't)))\n"]; + node2 [label="(state (set) '())\n"]; + node3 [label="(state (set) (list (set 't)))\n"]; + node4 [label="(state (set) (list (set) (set 't)))\n"]; + subgraph U { + edge [dir=none]; + node2 -> node2 [label="{}"]; + } + subgraph D { + node0 -> node4 [label="{}"]; + node1 -> node0 [label="{b}"]; + node3 -> node2 [label="{}"]; + node4 -> node3 [label="{}"]; + } + } + :END: + + #+BEGIN_SRC dot :file dots/examplevvXFaI.svg :results raw drawer :cmd dot :noweb yes +<> + #+END_SRC + + #+RESULTS: + :RESULTS: + [[file:dots/examplevvXFaI.svg]] + :END: + + Note that we need to keep the full context sequence in the name of + each state to avoid confusion between the states at different steps + of the evolution. + * Local Variables :noexport: # Local Variables: # eval: (auto-fill-mode)