X3J11: Why no labelled loops?

Chris Torek chris at mimsy.UUCP
Mon Mar 9 06:44:48 AEST 1987


:In article <545 at mntgfx.MENTOR.COM>, franka at mntgfx.MENTOR.COM (Frank A. Adrian) writes:
:>[Jump tables] would be useful in writing threaded code interpreters
:>and in doing high performance code.

In article <674 at elrond.UUCP>, adb at elrond.UUCP (Alan D. Brunelle) writes:
>Would it not be better to use what C already offers? How about implementing
>this with routines rather than goto's? 

This may be unacceptably slow.

>If you declare an array of pointers to functions, then when you have
>your byte_code then:
> 
>(*func)[byte_code](params);
> 
>will do exactly what your want with the added overhead of a procedure
>call. (DON'T flame me on the syntax - look it up....)

And look it up again!  It is (*table[code])(param).  If function
call overhead is not a problem, this works very well for driving
state transition based actions too.
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7690)
UUCP:	seismo!mimsy!chris	ARPA/CSNet:	chris at mimsy.umd.edu



More information about the Comp.lang.c mailing list