Programming D. E. Knuth in Python with the Deterministic Finite Automaton construct
Evan Driscoll
driscoll at cs.wisc.edu
Sat Mar 17 22:59:31 EDT 2012
On 3/17/2012 9:03, Antti J Ylikoski wrote:
>
> In his legendary book series The Art of Computer Programming,
> Professor Donald E. Knuth presents many of his algorithms in the form
> that they have been divided in several individual phases, with
> instructions to GOTO to another phase interspersed in the text of the
> individual phases.
>
>
> A1. (Do the work of Phase A1.) If <zap> then go to Phase A5,
> otherwise continue.
>
> A2. (Do some work.) If <zorp> go to Phase A4.
>
> A3. (Some more work.)
>
> A4. (Do something.) If <condition ZZZ> go to Phase A1.
>
> A5. (Something more). If <foobar> then go to Phase A2, otherwise
> end.
Clearly you just need the goto module (http://entrian.com/goto/):
from goto import goto, label
label .A1
# do work of phase A1
if <zap>: goto .A5
label .A2
# do some work
if <zorp>: goto .A4
# do some more work
label .A4
# do something
if <condition zzz>: goto .A1
label .A5
# something more
if <foobar>: goto .A2
Clearly the best solution of all.
(Note: do not actually do this.)
Evan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 552 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/python-list/attachments/20120317/4d4f14ed/attachment-0001.sig>
More information about the Python-list
mailing list