Janino 2.7.8

Lisensi: Gratis ‎Ukuran file: 1.05 MB
‎Peringkat Pengguna: 2.7/5 - ‎6 ‎Suara

Janino adalah super kecil, super-fastcompiler yang membaca ekspresi Java, memblokir, atau file sumber, dan menghasilkan bytecode Java yang dimuat dan dieksekusi secara langsung. Ini tidak dimaksudkan untuk menjadi alat pengembangan, tetapi kompilator tertanam untuk tujuan kompilasi run-time, seperti evaluator ekspresi atau "halaman server" mesin seperti JSP. Properti Tujuan desain utama adalah untuk menjaga kompilasi kecil dan sederhana, sementara sebagian mengorbankan kelengkapan. Saya tidak suka ide membawa perpustakaan besar untuk aplikasi sederhana. Lihat Parser untuk daftar fitur bahasa yang diimplementasikan dan hilang. Kapan Anda memerlukan evaluator ekspresi yang efisien? Katakanlah Anda membangun sistem e-commerce, yang menghitung biaya pengiriman untuk barang-barang yang dimasukkan pengguna ke dalam keranjang belanjanya. Karena Anda tidak tahu model biaya pengiriman pedagang pada waktu implementasi, Anda dapat menerapkan serangkaian model biaya pengiriman yang teringa-pikir (biaya tetap, berat, berdasarkan jumlah item, ...) dan memilih salah satu dari mereka pada waktu proses. Dalam praktiknya, Anda pasti akan menemukan bahwa model biaya pengiriman yang Anda terapkan akan jarang cocok dengan apa yang diinginkan pedagang, jadi Anda harus menambahkan model khusus, yang khusus untuk pedagang. Jika model merchant berubah nanti, Anda harus mengubah kode, mengompilasi ulang, dan mendistribusikan ulang perangkat lunak Anda. Karena ini sangat tidak fleksibel, ekspresi biaya pengiriman harus ditentukan pada run-time, bukan pada waktu kompilasi. Ini menyiratkan bahwa ekspresi harus dipindai, diurai, dan dievaluasi pada run-time, itulah sebabnya Anda memerlukan evaluator ekspresi. Evaluator ekspresi sederhana akan mengurai ekspresi dan membuat "sintaks tree". Ekspresi "a + b * c", misalnya, akan dikompilasi menjadi "Sum" objek yang operan pertamanya adalah parameter "a" dan operan kedua WHO adalah "Product" objek yang operan adalah parameter "b" dan "c". Pohon sintaks seperti itu dapat dievaluasi dengan relatif cepat. Namun, kinerja run-time adalah tentang faktor 100 lebih buruk daripada kode Java asli.

Riwayat versi

  • Versi 2.5.7 diposting di 2002-11-09
    Memperbarui halaman gambaran umum.

Detil Program

Eula

EULA - Perjanjian Lisensi Pengguna Akhir

Janino - Compiler Java[TM] tertanam Hak Cipta (c) 2001-2010, Arno Unkrig Semua hak dilindungi undang-undang. Redistribusi dan penggunaan dalam bentuk sumber dan biner, dengan atau tanpa modifikasi, diizinkan asalkan kondisi berikut terpenuhi: 1. Redistribusi kode sumber harus mempertahankan hak cipta di atas perhatikan, daftar kondisi ini dan penafian berikut. 2. Redistribusi dalam bentuk biner harus mereproduksi hal-hal di atas hak cipta, daftar kondisi ini dan penafian dalam dokumentasi dan/atau materi lainnya dengan distribusi. 3. Nama penulis tidak dapat digunakan untuk mendukung atau mempromosikan produk yang berasal dari perangkat lunak ini tanpa izin tertulis. PERANGKAT LUNAK INI DISEDIAKAN OLEH PENULIS ''APA ADANYA'' DAN JAMINAN TERSIRAT, TERMASUK, TETAPI TIDAK TERBATAS PADA, JAMINAN KELAYAKAN UNTUK MERCHANTABILITY DAN KESESUAIAN UNTUK TUJUAN TERTENTU DISKLIK. DALAM HAL APA PUN PENULIS TIDAK BERTANGGUNG JAWAB ATAS LANGSUNG, TIDAK LANGSUNG, INSIDENTAL, KHUSUS, TELADAN, ATAU KONSEKUENSIAL KERUSAKAN (TERMASUK, TETAPI TIDAK TERBATAS PADA, PENGADAAN BARANG ATAU JASA; HILANGNYA PENGGUNAAN, DATA, ATAU KEUNTUNGAN; ATAU BISNIS GANGGUAN) NAMUN DISEBABKAN DAN PADA TEORI TANGGUNG JAWAB APA PUN, BAIK DALAM KONTRAK, TANGGUNG JAWAB YANG KETAT, ATAU KESALAHAN (TERMASUK KELALAIAN ATAU JIKA TIDAK) TIMBUL DENGAN CARA APA PUN DARI PENGGUNAAN PERANGKAT LUNAK INI, BAHKAN JIKA DIBERITAHU TENTANG KEMUNGKINAN KERUSAKAN TERSEBUT.