2015-06-19 24 views

cevap

9

Groovy groovy grammar description aracılığıyla antlr ile kaynak kodu ayrıştırır, daha sonra bu Javac cevap için

+1

Harika teşekkürler! Görüyorum ki haftasonu için biraz ışık okumam var. :) – bholl

+3

sadece timin ne demek istediğini tamamlamak için ... yüce bir dosya (ya da bir demet) derlerken cevap doğru. Groovy derleyicisinin java kodunu da derlemesi gerekiyorsa, o zaman şu anda aşağıdakileri yapar: 1. Groovy code -> .java stubs. 2. javac, tüm java dosyalarını derler. 3. Groovy kodu - javac tarafından üretilen sınıfları da kullanarak yukarıdaki gibi> sınıf dosyaları. Bu, Groovy'de sınıfları kullanmanıza olanak tanıyan, sınıfları Groovy'de (ve benzeri) kullanan sınıfları oluşturmanıza olanak sağlar. Farklı derleme adımlarındaki dosyaların yalnızca ayrılmasının artık çalışmayacağı bir düzeye. – blackdrag

2

Groovy derleyici görünüyor kaynağı doğrudan bytecode'a derleyin:

groovyc, Groovy derleyici komut satırı aracıdır. Groovy kaynaklarını bytecode'a derlemenizi sağlar. Java dünyasında javac ile aynı rolü oynar.

Kaynak: http://www.groovy-lang.org/groovyc.html

+0

Teşekkür gerektirmez asm

kullanarak bytecode üretir. Bunu anlıyorum ve daha önce groovyc kullandım. Ancak bu belgeler Groovy derleyicisinin yaptığı şeyi söylemez. Kapakların altında javak kullanıyor mu? – bholl

+0

@bholl Bunu doğrulamak için bilgi bulamadığım halde, bunun olduğundan şüpheliyim. Ham bytecode üretmek için istediğiniz bayt kodunu derleyen bir Java kaynağı oluşturmaktan çok daha kolay olacaktır. – jamestn529

+0

Standart Java kodunu içeren bir .groovy dosyası oluşturduğunuz durumu hayal edin. Bu ideal bir durum değil ama yapabilirsin. Eğer groovy bir şekilde javacın bir kısmını normal java kodu koşulları altında kullanmıyorsa, bu durum groovyc derleyicisi adamlar için çok fazla yinelenen iş gibi görünüyor. – bholl