Re: backend question

"Mark" <whopkins@alpha2.csd.uwm.edu>
24 Nov 2002 01:26:55 -0500

          From comp.compilers

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]
| List of all articles for this month |
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.


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.