Teks ini beberapa dibuat oleh AI
Earl adalah bahasa pemrograman eksperimental yang saya kembangkan menggunakan JavaScript. Earl mencoba menghadirkan cara berpikir pemrograman yang lebih alami dan penutur Bahasa Indonesia.
Earl bukan hanya sekadar proyek iseng, tapi juga eksperimen desain bahasa - bagaimana kalau kita membuat bahasa pemrograman yang tidak perlu dengan kata "if", "while", atau "print", namun jika
, ulangi
, dan tampilkan?
Dibalik itu semua, Earl adalah interpreter baris-demi-baris yang memetakan setiap instruksi berbasis token ke modul modular seperti masukan.js
, jika.js
, ulangi.js
, dan lainnya.
Kenapa Saya Membuat Earl?
Motivasi sederhananya:
- Bahasa lokal, akses lebih mudah. Banyak pemula kesulitan belajar karena sintaks terasa asing. Earl menjembatani itu.
- Eksperimen desain. Saya ingin tahu, bagaimana pengalaman "membuat bahasa sendiri" - dari tokenizer, memory, kontrol alur, hingga REPL.
- Modularitas. Dengan sistem modular berbasis Node.js, Earl mudah dikembangkan, diajarkan, atau di-fork.
Contoh Kode Earl
masukkan :nama:
tampilkan "Halo," + :nama:
Penjelasan:
:nama:
adalah data nilai yang Anda masukkan untuk mencetak di tampilkan oleh :nama:
itu sendiri.
Struktur Internal Earl
Setiap baris dalam Earl diproses dengan sistem seperti ini:
- Tokenizer: memecah baris menjadi token (tokenize.js)
- Executor: token pertama (misalnya tampilkan) dipetakan ke modul (tampilkan.js)
- Interpreter: modul menangani logika berdasarkan token dan memory.
Earl menyimpan semua variabel dan objek disebuah memori bersama global yaitu memory.js dan menangani struktur data kompleks seperti:
- Daftar (array) dan daftar bersarang
- Dikta (object)
- Kelas dan instance: mendukung atribut dan tipe khusus
Fitur unggulan Earl
- Bahasa alami: semua perintah dalam Bahasa Indonesia, beberapa sedikit persen bahasa Inggris.
- Modular: setiap instruksi diatur di file berbeda.
- REPL dan File Mode
- Struktur data lengkap: list, objek, kelas
- Akses data kompleks
Cara Menjalankan Earl
- Klon atau gandakan repositori:
git clone https://github.com/aflacake/earl-lang
cd earl-lang
npm install
- Buat file .earl
masukkan :nama:
tampilkan :nama:
- Jalankan
node index.js nama_file_kamu.earl
atau masuk ke REPL:
node index.js
Ingin Lihat Isi Memori?
Pearl punya perintah khusus untuk debugging:
tampilkan memory
Ini akan mencetak isi memory dengan struktur penuh cocok untuk melihat state saat runtime.
Yuk Kontribusi!
Earl masih dalam tahap pengembangan dan terbuka untuk:
- Saran fitur
- Perbaikan bug
- Kolaborasi desain sintaks
- Pull request modul baru
Kalau kamu tertarik dengan desain bahasa, sistem interpreter, atau mengajar pemrograman lokal, dengan senang hati saya bisa berdiskusi denganmu.
Jangan ragu untuk memberi feedback, atau clone dan coba sendiri. Siapa tahu kamu dapat berkontribusi di Pearl berikutnya!
Top comments (1)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.