Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site umcp-cs.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!umcp-cs!chris
From: chris@umcp-cs.UUCP (Chris Torek)
Newsgroups: net.lang.c,net.lang.pascal,net.lang,net.unix,net.sources
Subject: Re: C to Pascal translation.
Message-ID: <1928@umcp-cs.UUCP>
Date: Sat, 15-Dec-84 20:34:57 EST
Article-I.D.: umcp-cs.1928
Posted: Sat Dec 15 20:34:57 1984
Date-Received: Mon, 17-Dec-84 03:49:50 EST
References: <392@amdcad.UUCP>
Distribution: net
Organization: U of Maryland, Computer Science Dept., College Park, MD
Lines: 31
Xref: watmath net.lang.c:3506 net.lang.pascal:160 net.lang:1138 net.unix:3119 net.sources:2176

In general, it cannot be done.  What would you do with

	union u {
		int (*f)();
		char *c;
	} u;

	h() {
		u.c = "foo";
	}

	g() {
		u.f = h;	/* Remember, I'm actually allowed to
				   make this assignment as complicated
				   as I want.  Maybe it depends on
				   input data.... */
	}

	main () {
		g();
		(*u.f)();
		printf("%s\n", u.c);
	}

If you make some restrictions, then it can sort of be done.
-- 
(This line accidently left nonblank.)

In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (301) 454-7690
UUCP:	{seismo,allegra,brl-bmd}!umcp-cs!chris
CSNet:	chris@umcp-cs		ARPA:	chris@maryland