Related articles |
---|
Defining polymorphism vs. overloading oliver@karakorum.berkeley.edu (1990-08-30) |
Re: Defining polymorphism vs. overloading burley@world.std.com (1990-09-01) |
Re: Defining polymorphism vs. overloading wright@gefion.rice.edu (1990-09-02) |
Re: Defining polymorphism vs. overloading compilers-sender@esegue.segue.boston.ma.us (1990-09-03) |
Re: Defining polymorphism vs. overloading hrubin@l.cc.purdue.edu (1990-09-03) |
Re: Defining polymorphism vs. overloading px@fctunl.rccn.pt (1990-09-03) |
Re: Defining polymorphism vs. overloading plph@caen.engin.umich.edu (1990-09-03) |
Re: Defining polymorphism vs. overloading daveg@near.cs.caltech.edu (1990-09-03) |
Re: Defining polymorphism vs. overloading dmw9q@uvacs.cs.Virginia.EDU (1990-09-05) |
Re: Defining polymorphism vs. overloading pase@orville.nas.nasa.gov (1990-09-06) |
Re: Defining polymorphism vs. overloading tub!wg@relay.EU.net (1990-09-06) |
Re: Defining polymorphism vs. overloading pase@orville.nas.nasa.gov (Douglas M. Pase) (1990-09-06) |
Re: Defining polymorphism vs. overloading ok@goanna.cs.rmit.OZ.AU (1990-09-07) |
[10 later articles] |
Newsgroups: | comp.compilers |
From: | plph@caen.engin.umich.edu (Mark Montague) |
Keywords: | design, polymorphism |
Organization: | University of Michigan Engineering, Ann Arbor |
References: | <9008310419.AA06194@karakorum.berkeley.edu> |
Date: | Mon, 3 Sep 90 21:09:04 EDT |
Are the square braces in C polymorphic or overloaded? Which term should be
used? I am no expert, but my personal opinion is NEITHER. As a programmer
who has just begun delving into the mysteries of compiler construction, I
prefer to think of the square braces as a SHORTHAND NOTATION which is expanded
by the preprocessor (even though the preprocessor doesn't). So I imagine that
every expression of the form
myarray[index]
is silently transformed into
*(myarray+index)
before the compiler even sees it. Even though it probably doesn't happen
this way for most compilers, this fictional device lets me ignore questions
of polymorphism and operator overloading in a non-object-oriented language
such as C.
Mark Montague
plph@caen.engin.umich.edu
[In the C compilers I've seen subscripts are turned into the intermediate code
equivalent of *(a+b) very early in the compiler, typically as the intermediate
form is being built. -John]
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.