Java compiler API [WAS Re: Compiling with Servlet spec 2.3 classloading]

2002-12-16 Thread Ovidiu Predescu
Hi,

Great stuff, Chris! I didn't realize Eclipse comes with its own  
compiler. Your API is a great tool to abstract out the inner details of  
a compiler. I'll check out both of them to see how they could be used  
in a useful way in some of the things I have in mind.

I'm primarily interested in coming up with a way to define Scheme-like  
hygienic macros for Java, which would allow extending the Java language  
syntax in a clean way by developers:

http://webweavertech.com/ovidiu/weblog/archives/000122.html

Having a compiler API that can be used makes a huge difference.

Regards,
Ovidiu

On Saturday, Dec 14, 2002, at 15:37 US/Pacific, Christopher Oliver  
wrote:

I've also had to try to solve the embedded compiling problem (for  
other reasons) and I've also tried to use Pizza. Unfortunately, Pizza  
is very poor quality code and has severe limitations that made it  
unusable for me. Instead I've used the eclipse.org Java Development  
Tools compiler (which is excellent) to implement a simple embeddable  
compiler API. I've placed a copy of the source code on my ftp server  
if anyone is interested in using it  
(ftp://ftp.primaryinterface.com/pub/javacAPI). There is no license for  
the code I've written. The API itself has no dependencies on other  
software. And the provided implementation has no dependencies other  
than on eclipse (don't know if that is a problem for Apache  
projects...).

The provided zip file contains source, compiled code, javadocs, and  a  
couple of example programs: one that simulates the javac command line  
compiler, and another that demonstrates compiling source code in  
memory and dynamically loading the resulting classes.

Regards,

Chris



Stefano Mazzocchi wrote:

[EMAIL PROTECTED] wrote:


Gee, now I've been lurking about the cocoon mailing lists for years,  
posting small and easily ignorable questions - and now this reply;  
it's probably the first time I see: "You are my man, really. I love  
this." on this mailing list... thanks Stefano - nice to know that I  
might be on the right path.


Hey, you saved me from writing a java compiler, isn't that something?  
;-)

Actually I haven't patched pizza, just extended one of their classes  
;-)


Even better.


I tried to compile pizza myself but ran into some troubles getting  
the bootstrap compiler for the pizza files up and running, and since  
extending their classes did the trick I didn't bother too much. As a  
side note: I kinda like the strongly typed hashtables of the pizza  
language (highly irrelevant for the classloading matter)

The code is actually written for my employer, but he has on more  
occasions agreed to let solutions sieve back to the open source  
community - and this thing is really small


Great.


A small disclaimer: I haven't tested this beast thoroughly, but I  
know for sure that statements like "import  
java.util.logging.SocketHandler" and "import java.util.loggging.*"  
work equally well - which was one of my major concerns since all I  
have is a classloader (and not a jar-file) and hence I cannot list  
the contents of a package (I might be wrong on this). But it seems  
that the pizza compiler is doing *the right thing* (tm) and scanning  
all star-imports for classes not explicitly imported.


good


First of all a big thank you to the Pizza people for creating the  
compiler that makes my small addon possible - as written I've posted  
a message on the pizzacompiler discussion forum, asking whether they  
would like to add my stuff,  
http://sourceforge.net/forum/ 
forum.php?thread_id=766013&forum_id=129481, but no reply yet -  
apparently not everybody is as eager about classloding compilers as  
cocoon folkes. I will immediately send of an email to the developers  
asking if they could accept my stuff. In the mean time please copy  
my stuff if you need it. Find attached a zip-file containing both  
source and compiled version - dump the neupart-pizza.jar into  
WEB-INF, edit cocoon.xconf to use the  
com.neupart.cocoon.pizza.ClassLoadingPizza compiler instead of the  
normal Pizza compiler class - and off you go!


Great. I'll try it ASAP.


This version might not be the final say on the issue!



ok

thanks much





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Java compiler API [WAS Re: Compiling with Servlet spec 2.3 classloading]

2002-12-16 Thread Ovidiu Predescu
Hi,

Great stuff, Chris! I didn't realize Eclipse comes with its own  
compiler. Your API is a great tool to abstract out the inner details of  
a compiler. I'll check out both of them to see how they could be used  
in a useful way in some of the things I have in mind.

I'm primarily interested in coming up with a way to define Scheme-like  
hygienic macros for Java, which would allow extending the Java language  
syntax in a clean way by developers:

http://webweavertech.com/ovidiu/weblog/archives/000122.html

Having a compiler API that can be used makes a huge difference.

Regards,
Ovidiu

On Saturday, Dec 14, 2002, at 15:37 US/Pacific, Christopher Oliver  
wrote:

I've also had to try to solve the embedded compiling problem (for  
other reasons) and I've also tried to use Pizza. Unfortunately, Pizza  
is very poor quality code and has severe limitations that made it  
unusable for me. Instead I've used the eclipse.org Java Development  
Tools compiler (which is excellent) to implement a simple embeddable  
compiler API. I've placed a copy of the source code on my ftp server  
if anyone is interested in using it  
(ftp://ftp.primaryinterface.com/pub/javacAPI). There is no license for  
the code I've written. The API itself has no dependencies on other  
software. And the provided implementation has no dependencies other  
than on eclipse (don't know if that is a problem for Apache  
projects...).

The provided zip file contains source, compiled code, javadocs, and  a  
couple of example programs: one that simulates the javac command line  
compiler, and another that demonstrates compiling source code in  
memory and dynamically loading the resulting classes.

Regards,

Chris



Stefano Mazzocchi wrote:

[EMAIL PROTECTED] wrote:


Gee, now I've been lurking about the cocoon mailing lists for years,  
posting small and easily ignorable questions - and now this reply;  
it's probably the first time I see: "You are my man, really. I love  
this." on this mailing list... thanks Stefano - nice to know that I  
might be on the right path.


Hey, you saved me from writing a java compiler, isn't that something?  
;-)

Actually I haven't patched pizza, just extended one of their classes  
;-)


Even better.


I tried to compile pizza myself but ran into some troubles getting  
the bootstrap compiler for the pizza files up and running, and since  
extending their classes did the trick I didn't bother too much. As a  
side note: I kinda like the strongly typed hashtables of the pizza  
language (highly irrelevant for the classloading matter)

The code is actually written for my employer, but he has on more  
occasions agreed to let solutions sieve back to the open source  
community - and this thing is really small


Great.


A small disclaimer: I haven't tested this beast thoroughly, but I  
know for sure that statements like "import  
java.util.logging.SocketHandler" and "import java.util.loggging.*"  
work equally well - which was one of my major concerns since all I  
have is a classloader (and not a jar-file) and hence I cannot list  
the contents of a package (I might be wrong on this). But it seems  
that the pizza compiler is doing *the right thing* (tm) and scanning  
all star-imports for classes not explicitly imported.


good


First of all a big thank you to the Pizza people for creating the  
compiler that makes my small addon possible - as written I've posted  
a message on the pizzacompiler discussion forum, asking whether they  
would like to add my stuff,  
http://sourceforge.net/forum/ 
forum.php?thread_id=766013&forum_id=129481, but no reply yet -  
apparently not everybody is as eager about classloding compilers as  
cocoon folkes. I will immediately send of an email to the developers  
asking if they could accept my stuff. In the mean time please copy  
my stuff if you need it. Find attached a zip-file containing both  
source and compiled version - dump the neupart-pizza.jar into  
WEB-INF, edit cocoon.xconf to use the  
com.neupart.cocoon.pizza.ClassLoadingPizza compiler instead of the  
normal Pizza compiler class - and off you go!


Great. I'll try it ASAP.


This version might not be the final say on the issue!



ok

thanks much





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]