Tentang Indonesiaku
Indonesiaku adalah bahasa pemrograman berbasis bytecode VM yang dibangun dengan C11. Kata kuncinya memakai Bahasa Indonesia—jika, selagi, fungsi, kelas, dan cetak—agar program dapat ditulis dan dibaca dengan istilah yang akrab.
Bahasa pemrograman dalam Bahasa Indonesia
Indonesiaku dirancang untuk memberi pilihan sintaks Bahasa Indonesia tanpa mengorbankan fitur dasar yang dibutuhkan saat menulis program: fungsi, kelas, modul, koleksi, penanganan kesalahan, JSON, dan HTTP.
Cara kerjanya
Kode .idk dikompilasi dalam satu lintasan menjadi bytecode, lalu dijalankan oleh VM berbasis stack. Implementasinya terinspirasi dari Crafting Interpreters (clox) dan tersedia terbuka di repositori.
Kode sumber (.idk)
↓ Scanner # token
↓ Compiler single-pass # Pratt parser → bytecode
↓ Virtual machine berbasis stack
↓ Keluaran
Yang sudah berjalan
- Nilai dan koleksi
angka, boolean, string, kosong, list, dan kamus. - Alur program
jika, selagi, untuk ... dalam, hentikan, dan lanjut. - Fungsi
rekursi, closure, dan fungsi kelas-satu. - Objek
kelas, init, diri, pewarisan (<), dan super. - Kesalahan
naikkan serta coba/kecuali. - Modul dan pustaka
impor, teks, daftar, matematika, kamus, JSON, dan HTTP. - Runtime
GC mark-sweep, file I/O, waktu/tanggal, dan soket TCP.
Contoh yang ikut diuji
Ada todo-list berbasis command line di examples/todo_cli.idk dan server HTTP kecil di examples/todo_server.idk. Keduanya bukan aplikasi produksi; keduanya dipakai untuk menguji fitur-fitur bahasa bekerja bersama pada Linux, macOS, dan Windows.
Untuk siapa
- Pelajar yang ingin melihat isi interpreter, bukan hanya memakai sintaksnya.
- Pengajar yang membutuhkan contoh kecil untuk membahas compiler dan VM.
- Orang yang tertarik pada desain bahasa pemrograman berbahasa Indonesia.