From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gary Subject: Re: From state table to state diagram Date: Thu, 23 Sep 2010 17:02:13 +0200 Message-ID: References: <4af92c2e-de26-4149-bd68-06fd6a0503f0@email.android.com> <878w3vedfz.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from [140.186.70.92] (port=45881 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Oz3M8-0000vd-6Z for emacs-orgmode@gnu.org; Fri, 24 Sep 2010 04:10:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Oz3M6-0008P0-4u for emacs-orgmode@gnu.org; Fri, 24 Sep 2010 04:10:08 -0400 Received: from lo.gmane.org ([80.91.229.12]:37817) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Oz3M5-0008OI-Rl for emacs-orgmode@gnu.org; Fri, 24 Sep 2010 04:10:06 -0400 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1Oz3M4-0004gg-2S for emacs-orgmode@gnu.org; Fri, 24 Sep 2010 10:10:04 +0200 Received: from ge-u-fw01.ggamaur.net ([213.160.40.69]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 24 Sep 2010 10:10:04 +0200 Received: from emacs-orgmode by ge-u-fw01.ggamaur.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 24 Sep 2010 10:10:04 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Sorry, I've been rather lax on this :( I got dragged onto other stuff, went on training courses, and all sorts of other things. Eric Schulte wrote: > Babel does support generating diagrams with graphviz via "dot" code > blocks. Babel is also capable of converting Org-mode tables to list > objects in a number of languages, so I'd recommend writing a table->dot > script in your favorite language, and then using babel to handle the > coordination and Org-mode integration. That's all very easy for you to say :)) > I'm happy to help in this regard, the first step would be something like > the following example which assumes python is your preferred scripting > language (as you can see I have no idea what your state table may look > like)... Well, wikipedia suggests the following[1] (and goes into further detail as well[2]) | Current State -> | State | State | State | | Input v | A | B | C | |------------------+-------+-------+-------| | x | B | ... | ... | | y | ... | C | ... | which basically says that when the machine is in State A and receives 'x' then it transitions to State B, and when it receives a 'y' in State B it transitions to State C. > #+results: state-table > | 1 | 2 | > | 3 | 4 | > > #+source: table-to-dot > #+begin_src python :var table=state-table > python code here Okay. What should this python code here do? :) I know, it converts a table to dot-script, but are there any examples I could look at which take a table as input and output something (anything), just so I can see how the python code should expect its input? > #+end_src > > #+begin_src dot :var text=table-to-dot(table=state-table) > graph{ > $text > } > #+end_src > > Once this is working I think it could make a great addition to the > library of babel [1] (a collection of generally useful code blocks). Sure :) [1] http://en.wikipedia.org/wiki/Finite-state_machine#Concepts_and_vocabulary [2] http://en.wikipedia.org/wiki/State_transition_table