|extensible compilers firstname.lastname@example.org (1998-03-18)|
|Re: extensible compilers email@example.com (ICHISUGI Yuuji) (1998-03-20)|
|Re: extensible compilers firstname.lastname@example.org (1998-03-20)|
|Re: extensible compilers email@example.com (Bruce Stephens) (1998-03-22)|
|extensible compilers firstname.lastname@example.org (1998-03-22)|
|Re: extensible compilers email@example.com (N. D. Culver) (1998-03-24)|
|Re: extensible compilers firstname.lastname@example.org (N. D. Culver) (1998-04-03)|
|From:||email@example.com (David Keppel)|
|Date:||20 Mar 1998 01:27:08 -0500|
|Organization:||Computer Science & Engineering, U of Washington, Seattle|
Michael Trofimov <firstname.lastname@example.org> wrote:
>Do you know anyhow about extendsiable compilers?
our moderator writes:
>[Extensible languages were fashionable in the mid 1970s. ...]
At least one out of the three of us is confused about terminology.
Our moderator is correct about extnsible _languages_ but the question
was at least nominally about extensible _compilers_, rather than
compilers for extensible languages.
See, for example:
%A Luis H. Rodriguez Jr.
%T Coarse-Grained Parallelism Using Metaobject Protocols
%I Xerox Palo Alto Research Center (PARC)
%R SSL-91-06 (Also an MIT Master's Thesis)
%X Alternatives for parallelizing compiler: smart compiler,
directives. Smart compilers are never smart enough. Directives fail
to be expressive enough. Use a general-purpose programming language
(the same one recognized by the compiler) to write metaobject protocol
code that is incorporated in to the compiler to perform
parallelization on an application-specific basis.
Details the MOP and walks through an example (n-body) in detail.
For example, you write C code for an N-body problem and then you also
write an optimizer pass that is called using a fixed protocol (e.g.,
it rewrites a tuple list), and the optimizer pass is allowed to
perform application-specific transformations. The optimizer pass is
compiled and dynamically linked into the compiler. The transformation
augments the normal optimizer phases; it doesn't change the semantics
of the original N-body problem code, but it does help the compiler
provide a better implementation.
Note that at no time has the source _language_ been extended. The
compiler has been extended.
I'm not up-to-date on the work, but Gregor Kiczales has a group at
Xerox PARC that's looked at this area and a bunch of related ones, see
;-D on ( Ex Tensible ) Pardo
[Oh, sorry, you're right, that's different. But wow, what a debugging
nightmare that must be. -John]
Return to the
Search the comp.compilers archives again.