This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Meta-Level Compilation project / Introspector/ AST access / Licensing question


Hello All,

At the risk of beating a dead horse,
Once again I have some more licensing questions.

Back with more questions about using the gcc for
extracting ASTS and storing them in a database,
documenting them and tranforming them into new and
interesting programs. 

Here is a project that I have found that is similar to
what I have been working on. The stanford "Meta-level
Compilation" project.

It was not hrefed or mentioned on this list (that I
could find), and I was wondering why there was no
announcment or mention of it yet. So I thought to
bring it up for discussion.

http://hands.stanford.edu/ (Full snippet at the end of
the mail)

This must be old news, but new to me :
"The goal of the Meta-level Compilation (MC) project
is to allow system implementors to easily build simple
domain- and application-specific compiler extensions
to check, optimize, and transform code."

The project is meant to do checking and reporting of
bugs and user defined AST transformations.

My introspector project provides access to the ASTs
via an  XML file, and transformations on them in that
form. 

But there is no a real difference, we are talking
about processing the ASTS outside of the core
compiler.

Should there be any issues with embedding a scripting
language in the gcc? 

http://hands.stanford.edu/osdi2000/node3.html
"More generally, since the metal language has been
designed to be shielded from both the underlying
language and compiler" 

Does that mean the checking code does have to be
Gpled? Can a user via some interpreted language
embedded in the compiler avoid the GPL?

Does that not open up the entire issue of the GCC as a
lib? Also the usage of the gcc for non-free software
development?

If this is not a problem then there should be no
problem embedding GCC as a dynamic perl module!

I have it in testing as 12MB shared lib, but I was
always worried about upsetting people. 

Right now it just can start the compiler with my
introspector patches applied, but it would be easy to
extend if there are not any objections.

I some of you dont want the gcc being embedded as a
shared lib, but it would be very usefull!

It would be just as easy to install a callback
routines and process the ASTs in perl instead of
dumping them as in the tree-dump.c module.

Does anyone object?
What do you think?

All I want to know is if there are any problems with
me publishing all my code under the GPL? 

There has been alot of discussion on this list about 
the GPL question.

All I really want to hear is that there is no problem,
and I can continue along on my project, without
worries of causing any problems.

Best Regards,
Mike
----------------------------------------------

>From http://hands.stanford.edu/
--------------- SNIP  -------------------------------
The goal of the Meta-level Compilation (MC) project is
to allow system implementors to easily build simple
domain- and application-specific compiler extensions
to check, optimize, and transform code. These
extensions have found over 500 errors in real systems
such as Linux, OpenBSD, Xok, and the Stanford FLASH
machine's cache coherence code. 

MC gives extensions access to compiler data structures
and analyses such as the abstract syntax tree (AST),
control flow graph, and dataflow information.
Extensions are applied down all paths through
functions. Exponential behavior is avoided in practice
because extensions are usually deterministic with a
small number of states, and we employ aggressive
caching on top of the basic backtracking search. 

Our current implementation of MC consists of two
parts: an open compiler (xgcc) and a language for
writing extensions (Metal). Because xgcc is based on
the GNU C compiler (gcc), we have the ability to run
analyzers over an enormous base of system-like source
code.

The xgcc system is still in development so we are not
releasing it at this time. Check back here
periodically for updates on this work and the system. 
--------------- SNIP  -------------------------------


=====
James Michael DuPont

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]