Related articles |
---|
Transformations of pointer parameters in C krinke@infbssts.cs.tu-bs.de (1996-05-24) |
Re: Transformations of pointer parameters in C derek@knosof.co.uk (Derek M Jones) (1996-05-26) |
From: | krinke@infbssts.cs.tu-bs.de (Jens Krinke) |
Newsgroups: | comp.compilers,comp.lang.c |
Date: | 24 May 1996 15:45:30 -0400 |
Organization: | TU Braunschweig, FRG |
Keywords: | C, optimize |
Hi,
I want to do a transformation of C-programs to eliminate some
pointers. As C has no reference parameters, they are often emulated
like this:
void add(int a, int b, int* c){
*c = a + b;
}
main(){
int z;
add(1, 2, &z);
...
}
In my abstract syntax tree of that program I want to transform it into
an extended C with reference parameters. The example would look like
the following, which has a reference paramater notation similar to
C++:
void add(int a, int b, int& c){
c = a + b;
}
main(){
int z;
add(1, 2, z);
...
}
Has anybody done something like that before? (Of course, you can think
of more complicated examples, where the actual argument is a
pointer...)
Any hint would be appreciated.
Thanks,
Jens
--
______________________________________________________________________
Jens Krinke krinke@ips.cs.tu-bs.de
+49 531 391 7583 http://www.cs.tu-bs.de/~krinke
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.