[antlr-interest] Help w/ Function Overloading
Bryan Ewbank
ewbank at gmail.com
Tue Aug 9 10:24:15 PDT 2005
I was more hoping for a reference than a specific discussion of
solutions (should have known better ;-)
I know g++ must do something clever; however, I've avoided that code
because I don't want to end up with something that derives from a
GPL'ed beastie.
The language I'm supporting has:
(1) overloaded functions // C++-like
(2) defaulted parameters in the prototypes // C++-like
(3) uses return type as part of overloading // ugh.
(4) allows name/value pairs in function calls // ugh.
So, given a function
F(a: integer, b:integer = 10)
the goal is for all these to be allowed, and call this function:
F(1);
F(1,3);
F(1, b=3);
F(a=1, b=3);
F(b=3, a=1);
I'm doing name-mangling, but it seems that the number of symbols
managed for each function is exploding on me because of the allowed
name/value pairs in function calls - it smells funny, if you will.
Since it smells funny, I was asking for general references on how to
do function overloading, etc. Some compiler texts ignore overloading;
others treat it as an uninteresting problem or start with "now that
you have the AST..."
Next stop, http://citeseer.ist.psu.edu/
- Bryan
More information about the antlr-interest
mailing list