view test/goto.c @ 79:82d0e30f61dd

*** empty log message ***
author kono
date Mon, 03 Mar 2003 04:56:51 +0900
parents
children 83d901658ce9
line wrap: on
line source



code (*conv)(int,code (*)());
code a2(int i,code conv());
code a3(int i,code conv());
code a4(int i,code conv());
code a5(int i,code conv());

code (*exit0)(int);
void *env;

code
a2(int i,code conv())
{
    printf("%d %x\n",i,conv);
    goto conv(i+1,a4);
}

code
a3(int i,code (*conv)())
{
    printf("%d %x\n",i,conv);
    goto conv(i+1,a5);
}

code
a4(int i,code conv())
{
    printf("%d %x\n",i,conv);
    goto (*conv)(i+1,exit0);
}

code
a5(int i,code (*conv)())
{
    printf("%d %x\n",i,conv);
    goto (*conv)(i+1),env;
}

main(int ac,char *av[]) {
    exit0 = return;
    env   = environment;
    conv = a2;
    goto conv(1,a3);
}