Related articles |
---|
[6 earlier articles] |
Re: backend question joachim_d@gmx.de (Joachim Durchholz) (2002-11-20) |
Re: backend question chase@world.std.com (David Chase) (2002-11-20) |
Re: backend question reig@tenerife.ics.uci.edu (Fermin Reig) (2002-11-24) |
Re: backend question felixundduni@freenet.de (felix) (2002-11-24) |
Re: backend question fjh@cs.mu.OZ.AU (Fergus Henderson) (2002-11-24) |
Re: backend question thp@cs.ucr.edu (2002-11-24) |
Re: backend question whopkins@alpha2.csd.uwm.edu (Mark) (2002-11-24) |
Re: backend question nmm1@cus.cam.ac.uk (Nick Maclaren) (2002-11-24) |
Re: backend question joachim_d@gmx.de (Joachim Durchholz) (2002-11-24) |
Re: backend question nmm1@cus.cam.ac.uk (Nick Maclaren) (2002-11-26) |
Re: backend question fjh@students.cs.mu.OZ.AU (Fergus Henderson) (2002-12-01) |
Re: backend question fjh@students.cs.mu.OZ.AU (Fergus Henderson) (2002-12-01) |
Re: backend question nmm1@cus.cam.ac.uk (Nick Maclaren) (2002-12-03) |
[3 later articles] |
From: | "Mark" <whopkins@alpha2.csd.uwm.edu> |
Newsgroups: | comp.compilers |
Date: | 24 Nov 2002 01:26:55 -0500 |
Organization: | University of Wisconsin - Milwaukee, Computing Services Division |
References: | 02-11-078 02-11-099 02-11-104 |
Keywords: | C, design |
Posted-Date: | 24 Nov 2002 01:26:55 EST |
joachim.durchholz@gmx.de writes:
>> + [C] begins to bite if you're doing
>> + concurrency, exceptions, fancy integer arithmetic, tail-call
>> + elimination, or state machines.
>Indirect goto is good for state machines (and it's been used for that
>purpose). It doesn't help with the other issues.
Since a program is, itself, already a state machine (goto label =
state, goto = state transition, etc.), there's generally no need to
put another state machine on top of that.
So, the need for an explicit state machine (along with the apparent
need for indirect gotos) is generally a symptom of another more
fundamental issue: the lack of concurrency at the language level.
For, that's precisely where you have to concern yourself with bringing
the implicit state machine structure of the program up to the
forefront: as the pretext to chopping up processes into snippets so
they can be interleaved and threaded together by hand.
In fact, I've learned long ago to put this in a hair trigger. As soon
as you even hear 'state machine', you immediately jump 'anh anh!
You're trying to do concurrency by hand. Stop that.' (Slap on the
wrist).
So, the actual problem is not the lack of facility for indirect gotos
in the context of doing state machines. It's the lack of concurrency.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.