Abstrak Dokumen ini menjelaskan cara instalasi (pemasangan) dan pemakaian perangkat lunak (software atau program) penerjemah Lingu ke bahasa pemrograman Java. Lingu adalah bahasa spesifikasi perancangan program basis data yang dapat diverifikasi. Bahasa ini dikembangkan sebagai bagian dari Riset Unggulan Terpadu Internasional (RUTI) Fasilkom UI, lihat grammar (tatabahasa) nya di lampiran
A. . Bahasa ini bersifat sederhana untuk memudahkan user memberikan spesifikasi program yang kemudian dapat diperiksa/verifikasi kebenarannya. Namun bahasa ini belum bisa dikompilasi untuk menghasilkan output yang bisa dipakai. Untuk itulah dikembangkan penerjemah Lingu ke Java agar dapat diperoleh output yang dapat mengimplementasikan spesifikasi yang direpresentasikan dalam bahasa Lingu. Sebelumnya, penerjemah MuPL2Java dikembangkan dengan maksud yang serupa. Dari hasil penelitian yang dilakukan, MuPL dikembangkan lebih lanjut menjadi Lingu untuk penyederhanaan aspek verifikasi. Tehnik pengembangan MuPL2Java, yang dikembangkan dengan menggunakan JLex dan JavaCUP, berbeda dengan penerjemah Lingu ke Java yang menggunakan tehnik attribute grammar UUAG. Pendahuluan Secara umum, penerjemahan adalah suatu proses untuk mengubah bentuk, yaitu dari bentuk yang satu ke bentuk yang berbeda. Dalam istilah linguistik, penerjemahan berhubungan erat dengan proses transformasi dari suatu bahasa tertentu ke dalam bahasa lain, dengan mempertahankan arti yang terkandung di dalam bahasa yang diterjemahkan. Aktor dalam penerjemahan biasa kita sebut sebagai penerjemah. Istilah penerjemah dapat merujuk kepada seorang manusia maupun suatu alat bantu otomasi yang dibangun oleh manusia.
1 Bagian dari proyek RUTI II tahun 2003, didanai oleh Kementerian Riset dan Teknologi, Republik Indonesia
Penerjemahan bukanlah suatu pekerjaan yang trivial, baik dikerjakan oleh manusia ataupun alat bantu. Untuk menghasilkan hasil penerjemahan yang akurat, diperlukan aturan-aturan mengenai tata cara penerjemahan yang harus dilakukan. Aturan-aturan ini terkait erat pada bahasa yang akan diterjemahkan dan bahasa yang akan dihasilkan. Selanjutnya, kita akan merujuk pada kedua bahasa tersebut dengan sebutan bahasa sumber dan bahasa target. Untuk memperoleh hasil yang benar, terdapat aspek-aspek yang perlu diperhatikan. Pada dasarnya, aspek penting dalam penerjemahan terdiri atas tata bahasa dan semantik dari masing-masing bahasa sumber dan bahasa target. Tata bahasa menentukan aturan mengenai bagaimana sebuah bahasa itu ditulis atau digunakan, sedangkan semantik memberikan arti dari bahasa tersebut. Dalam kaitannya dengan bahasa pemrograman, tata bahasa mendefinisikan aturan-aturan yang ketat dan kaku mengenai bagaimana layaknya kita menyusun suatu bahasa. Suatu bahasa tidak diperkenankan untuk memiliki arti yang ambigu, di mana suatu kalimat dalam bahasa tertentu hanya boleh memiliki satu dan hanya satu arti. Oleh karena itu, kita mendapatkan semantik yang unik untuk masing-masing kalimat yang unik. Di sisi lain, bahasa-bahasa komunikasi seperti: Bahasa Inggris, Bahasa Indonesia, وهلم جرا, memiliki fleksibilitas lebih pada tata bahasanya. Meskipun kita melanggar aturan tata bahasa tertentu pada bahasa komunikasi, terkadang masih dimungkinkan untuk memahami arti dari kalimat tersebut. Ini adalah alasan mengapa bahasa komunikasi dikenal juga sebagai bahasa yang ambigu, di mana persepsi dari suatu kalimat antara satu pihak dengan pihak yang lain bisa berlainan. Jadi, kita perlu mengerti tata bahasa dan semantik dari tiap-tiap bahasa secara mendalam sebelum kita dapat menerjemahkannya. Langkah pertama dalam penerjemahan adalah memahami arti dari apa yang hendak kita terjemahkan. Langkah ini dilakukan dengan mencocokkan masukan yang ada dengan tata bahasa dan semantik dari bahasa sumber. Kemudian arti yang diperoleh disusun ke dalam bahasa target berdasarkan tata bahasa dari bahasa target untuk merepresentasikan semantik yang sesuai. Langkah ini harus dilakukan secara berhati-hati untuk menghasilkan arti yang sama antara bahasa sumber dan bahasa target. Penerjemah Lingu ke Java Lingu adalah sebuah bahasa tingkat tinggi yang difokuskan pada transaksi basis data. Walaupun demikian, apabila dibandingkan dengan bahasa SQL, Lingu هو أبسط لغة وطريقة مختلفة من الكتابة. Akan tetapi, تقدم Lingu العديد من الميزات التي يمكن اعتبارها بديلا جذابا, antara lain: 1. Lingu لغة مجردة التي تسمح المنطق على lingu على مستوى أعلى. 2. Lingu هي لغة صغيرة وبسيطة. مع lingu البساطة, هذه اللغة هي أسهل للاستخدام.
3. Lingu يحظى بدعم لاختبار والتحقق من صحة. وهذا يعطي الخيار للحفاظ على برامج المطابقة التي تم إنشاؤها باستخدام الوظائف المحددة. 4. Lingu يمكن التحقق منها عن طريق توليد شروط التحقق التي يمكن التحقق منها باستخدام أدوات نظرية واقية (نظرية المبرهن). lingu يتم إعطاء هذه الميزات يمكن استخدامه كأساس لمواصفات النظام. Dengan adanya kemampuan untuk memverifikasi dan mengujicobakan Lingu, maka implementasi sistem, terutama yang sifatnya kritikal, mampu dijamin validitasnya. Walaupun demikian, Lingu merupakan bahasa yang tidak dapat dieksekusi. Oleh karena itu, dibutuhkan transformasi dari bahasa Lingu di tingkat abstrak menjadi bahasa yang sifatnya kongkrit, yaitu program komputer. Java diambil sebagai pilihan untuk bahasa target dari hasil transformasi Lingu. Ide pengembangan penerjemah Lingu ke Java adalah untuk mengotomatisasi transformasi bahasa Lingu menjadi bahasa Java. Lingu dapat digunakan untuk melakukan verifikasi terhadap program yang hendak dibuat. Dengan menggunakan penerjemah Lingu ke Java, spesifikasi yang sudah terbukti kebenarannya dapat dihasilkan program Java. Idealnya, program yang dihasilkan tidak terpaku pada bahasa Java saja. يمكن أن تتحقق نظام التركيز فقط على أساس مواصفات مكتوبة في lingu ثم في طائفة واسعة من لغات البرمجة باعتبارها شكلا ملموسا وفقا للاحتياجات. وقد وضعت Lingu مترجم للجافا باستخدام النظام باعتباره أداة UUAG. UUAG السمة قواعد اللغة هو نظام التي تنتجها جامعة أوترخت. ويساعد هذا النظام على تطوير تطبيقات تنتمي إلى المجموعة التي تضم مترجم مترجم التطبيق. والنتيجة النهائية هي تنفيذ التطبيقات في أي هاسكل لغة البرمجة. Lingu مترجم للجافا ويمكن تعديلها لإنتاج مترجمين آخرين وظيفتها هو ترجمة lingu إلى لغات البرمجة الأخرى. ويتم ذلك ببساطة عن طريق تحديد دلالات العمل لترجمة لغة الهدف الجديدة واستخدامها لاحقا كبديل عن التعريفات العمل الدلالي الترجمة القديمة.
يمكن قراءتها من المصدر الأصلي