Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Finite state mashines in LISP

639 views
Skip to first unread message

Mohamed Noamany

unread,
Sep 25, 1999, 3:00:00 AM9/25/99
to
Hello,
Is there any representation of finite state machines (automata) in
LISP.
ayny advice is highly appreciated,
thanks,
MOhamed FArok Noamany
RA & Ph.D. student

Erik Naggum

unread,
Sep 26, 1999, 3:00:00 AM9/26/99
to
* Mohamed Noamany <m...@cs.nmsu.edu>

| Is there any representation of finite state machines (automata) in LISP.
| ayny advice is highly appreciated,

the usual way to write them is with PROG, utilizing tags for the state
names, and GO to effect state transitions. despite the shudder that some
people feel for this way to write code, the important thing to remember
with PROG in Common Lisp is that tags can only be specified at elements
in the list of forms in the PROG form itself, i.e., no tags at any lower
level. this fact means that the usual problems with "goto" are avoided.

#:Erik

William Tanksley

unread,
Sep 26, 1999, 3:00:00 AM9/26/99
to

...and all the other problems (i.e. the knee-jerk opposition to goto) can
be prevented by wrapping the gotos (and the procs) in your own
state-machine macro. Nobody can sustain an objection to machine-generated
gotos -- after all, that's what it all becomes eventually ;-).

I searched for the paper and code I had recalled, but all I can find is
the Forth version. Oh well -- the Lisp version is obvious and very
similar. Julian V. Noble wrote this for The Journal of Forth Applications
and Research, http://www.jfar.org/article001.html.

Enjoy.

>#:Erik

--
-William "Billy" Tanksley

Fernando D. Mato Mira

unread,
Sep 27, 1999, 3:00:00 AM9/27/99
to
Mohamed Noamany wrote:

> Hello,


> Is there any representation of finite state machines (automata) in
> LISP.

LCO :->


--
((( DANGER )) LISP BIGOT (( DANGER )) LISP BIGOT (( DANGER )))

Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html


Marc Cavazza

unread,
Sep 27, 1999, 3:00:00 AM9/27/99
to

Mohamed Noamany wrote:

> Hello,
> Is there any representation of finite state machines (automata) in
> LISP.

> ayny advice is highly appreciated,

> thanks,
> MOhamed FArok Noamany
> RA & Ph.D. student

You can also have a look at Chapter 14 of Charniak's (et al.)
"Artificial Intelligence Programming" (Lawrence Erlbaum)

Marc

Marco Antoniotti

unread,
Sep 28, 1999, 3:00:00 AM9/28/99
to

Dave Bakhash <ca...@bu.edu> writes:

> Mohamed Noamany <m...@cs.nmsu.edu> writes:
>
> > Hello, Is there any representation of finite state machines
> > (automata) in LISP. ayny advice is highly appreciated,
>

> Don't quote me, but I think I found a CLOS implementation once when I
> was looking through the code for a part-of-speech tagger developed by
> Xerox Parc. If I'm remembering it right, it's reasonably
> well-written. You'll have to do a web search.

Ok. I will stick my head out. I have a FSM package I built years
ago. It is graph based (read: a memory hog) and it supports most of
the basic FSM operations (yep. try to intersect/shuffle N machines
to reallyhave some fun :) ).

Unfortunately it is combined with some hairy Temporal Logic code. I
will be happy to do a cleanup and to provide the code. Please contact
me directly.

Cheers

--
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa

thi

unread,
Sep 29, 1999, 3:00:00 AM9/29/99
to
> FSM in lisp?

if you don't mind installing Guile, you can use THUD for modeling FSMs.
please see:

http://www.glug.org/people/ttn/software/thud/

for more info.

cheers,
thi

0 new messages