The C Stack in interpreters - why?

clearm@comcast.net
13 May 2005 18:03:24 -0400

          From comp.compilers

Related articles
The C Stack in interpreters - why? clearm@comcast.net (2005-05-13)
Re: The C Stack in interpreters - why? Peter_Flass@Yahoo.com (Peter Flass) (2005-05-14)
Re: The C Stack in interpreters - why? haberg@math.su.se (2005-05-14)
Re: The C Stack in interpreters - why? clearm@comcast.net (2005-05-14)
Re: The C Stack in interpreters - why? nmm1@cus.cam.ac.uk (2005-05-14)
Re: The C Stack in interpreters - why? anton@mips.complang.tuwien.ac.at (2005-05-14)
Re: The C Stack in interpreters - why? haberg@math.su.se (2005-05-14)
[9 later articles]
| List of all articles for this month |

From: clearm@comcast.net
Newsgroups: comp.compilers
Date: 13 May 2005 18:03:24 -0400
Organization: http://groups.google.com
Keywords: code, question, C
Posted-Date: 13 May 2005 18:03:24 EDT

I am trying to understand why the C stack is used in interpreters
rather than an explicity built stack on the heap? Up until now I
presumed that the explicit stack was how everyone did it, then I
learned that, apparently the way a lot of bytecode interpreters work
is to recursively call themselves whenever a
procedure/routine/method/whaterver is called.


Things I have been able to learn so far:


(1) A lot of languages use the C stack
(2) A lot of people complain about it and point out all of the
limitations of it.


Can someone tell me why the C stack is so often used instead of
explicit? People are willing to re-write entire interpreters in order
to get rid of the C stack (i.e. stackless python), so why do people use
the C stack for interpreters to begin with?


I am writing an interpreter and I need to know the best way to proceed
on this issue. I WOULD like to be able to embed my interpreter in C
programs and I WOULD like to be able to call C from my language.


Thanks!


MC


Post a followup to this message

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