Re: How to type braces for computed gotos

federation2005@netzero.com
Mon, 21 Jul 2014 10:32:28 -0700 (PDT)

          From comp.compilers

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

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).


Post a followup to this message

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