Related articles |
---|
Best "simple" C Compiler I've ever seen andrewchamberss@gmail.com (2014-05-04) |
How to type braces for computed gotos (was: Best "simple" C Compiler I federation2005@netzero.com (2014-07-18) |
Re: How to type braces for computed gotos gah@ugcs.caltech.edu (glen herrmannsfeldt) (2014-07-19) |
Re: How to type braces for computed gotos ivan@ootbcomp.com (Ivan Godard) (2014-07-18) |
Re: How to type braces for computed gotos gah@ugcs.caltech.edu (glen herrmannsfeldt) (2014-07-21) |
Re: How to type braces for computed gotos federation2005@netzero.com (2014-07-21) |
Re: How to type braces for computed gotos wclodius@earthlink.net (2014-07-21) |
Re: How to type braces for computed gotos gah@ugcs.caltech.edu (glen herrmannsfeldt) (2014-07-23) |
Re: How to type braces for computed gotos wclodius@earthlink.net (2014-07-22) |
Re: How to type braces for computed gotos anton@mips.complang.tuwien.ac.at (2014-07-25) |
From: | federation2005@netzero.com |
Newsgroups: | comp.compilers |
Date: | Mon, 21 Jul 2014 10:32:28 -0700 (PDT) |
Organization: | Compilers Central |
References: | 14-05-013 14-07-033 14-07-035 |
Keywords: | design |
Posted-Date: | 21 Jul 2014 13:44:05 EDT |
On Friday, July 18, 2014 9:21:28 PM UTC-5, glen herrmannsfeldt wrote:
> > [That's an extension. In standard C, you can only goto a label. -John
> > Perhaps it's similar to this GCC extension
> >
https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html#Labels-as-Values]
> In standard C you can only goto label constants.
I read the type from context. The compiler test uses a prefix "&&" operator,
which is the same as the one used in GCC for addressing goto labels.
The particular points of interest and contact are several:
One, it indirectly hooks up with an earlier thread here on multi-level
jumps. This leads directly to the notion of continuations, with the
archetypical case in point being Scheme ...
Two, ... and a second case in point being the old stand-by DC, which
has never received a solid well-founded standardization because of its
heavy use of continuations (i.e. a good high-level language analogue
of DC's string-based "execute" command).
Three, both these and the computed goto lead directly to the notion of
multi-entry point routines, coroutines and multi-threaded computation.
(Which ties to the thread about "the most important part of a
compiler").
I was hoping for a more robust typing scheme to be in place for
continuations since the question of how to type continuations has
always been a major road block for me, and it looked like this
compiler might have been experimenting with some kind of
continuation-typing, more robust than the one-size-fits-all "solution"
that GCC has.
In GCC itself, it might be worth considering an upgrade to
continuations that inherit their type from the return type of the
function body they reside in (or: if lambdas are allows, like Java or
C++ ... from the return type of the enclosing lambda).
Return to the
comp.compilers page.
Search the
comp.compilers archives again.