Computer Science

Membangun Bahasa Pemrograman Mini dengan Python: Lexer, Parser, dan Evaluator

Bangun interpreter mini dengan Python sambil mempelajari lexer, parser, AST, dan evaluator melalui implementasi bertahap.

Diperbarui 28 Agu 2026id5 bagian · 20 pelajaran4 jam 30 menit
Belum ada ulasan
Level Beginner
Kategori Computer Science
Perkiraan Durasi 4 jam 30 menit

Skill yang dibangun

Apa yang akan Anda pelajari

Memecah teks program menjadi token menggunakan lexer Python dan memeriksa hasil tokenisasi pada berbagai input.

Menyusun parser sederhana yang mengubah urutan token menjadi abstract syntax tree (AST) dengan aturan prioritas operator.

Membedakan syntax error, token yang tidak valid, dan runtime error melalui pesan kesalahan serta kasus uji yang terarah.

Mengevaluasi AST untuk menjalankan ekspresi dan variabel dalam interpreter mini, lalu memvalidasi hasilnya dengan pengujian sederhana.

Siapa Target Audiens Kursus Ini

Pemula yang telah memahami dasar Python seperti variabel, tipe data, fungsi, percabangan, perulangan, dan penggunaan list atau dictionary. Kursus ini ditujukan bagi peserta yang ingin memahami bagaimana kode diproses oleh komputer secara lebih mendalam, tetapi belum memiliki pengalaman dengan compiler, interpreter, parsing, atau desain bahasa pemrograman. Peserta tidak perlu memahami teori formal compiler, karena konsep diperkenalkan melalui contoh konkret dan implementasi bertahap.

Project outcomes

Apa yang Akan Anda Buat

Peserta akan membangun interpreter mini berbasis Python yang menerima program sederhana, mengenali angka, operator, identifier, dan tanda baca, menyusun AST, lalu mengevaluasi ekspresi serta assignment variabel. Implementasi dibuat bertahap agar setiap komponen dapat dijalankan dan diuji secara terpisah sebelum digabungkan.

Konten Kursus

Dari Teks Program Menjadi Hasil Eksekusi

4 pelajaran | 120 menit
Mengapa Komputer Tidak Langsung Menjalankan Teks Kode
25 menit
Menetapkan Spesifikasi MiniLang yang Dapat Diuji
30 menit
Menyiapkan Proyek Python dan Jalur Debugging
30 menit
Membuat Pipeline Interpreter yang Terlihat
35 menit

Lexer: Memecah Source Code Menjadi Token

4 pelajaran | 155 menit
Token sebagai Kontrak antara Lexer dan Parser
35 menit
Pemindaian Karakter dengan State yang Eksplisit
45 menit
Operator, Tanda Kurung, dan Ambiguitas Input
35 menit
Menguji Lexer dari Kasus Normal hingga Rusak
40 menit

Parser dan AST: Menangkap Struktur Ekspresi

4 pelajaran | 155 menit
Mengapa Urutan Token Belum Cukup
30 menit
Merepresentasikan AST dengan Dataclass Python
35 menit
Recursive Descent untuk Prioritas Operator
50 menit
Parser Error yang Menunjuk Lokasi dan Ekspektasi
40 menit

Evaluator, Environment, dan Keandalan Interpreter

4 pelajaran | 175 menit
Menjalankan AST Secara Rekursif
45 menit
Variabel dan Environment sebagai Ruang Nama
45 menit
Memisahkan Syntax Error dari Runtime Error
40 menit
Menyatukan Interpreter dan Mengukur Perilakunya
45 menit

Proyek Akhir: Membangun Interpreter MiniLang Interaktif

4 pelajaran | 300 menit
Perancangan Fitur dan Setup Interpreter MiniLang
60 menit
Implementasi Lexer, Parser, dan Evaluator Terpadu
90 menit
REPL, Error Handling, dan Penyempurnaan Pengalaman Pengguna
75 menit
Pengujian Akhir, Dokumentasi, dan Presentasi Hasil
75 menit

Deskripsi Kursus

Kode yang kita tulis tidak langsung dijalankan sebagai hasil akhir. Teks program perlu dipecah menjadi token, disusun menurut aturan sintaks, lalu dievaluasi menjadi perilaku yang dapat diamati. Kursus ini mengajak peserta mengikuti alur tersebut dengan membangun bahasa pemrograman mini menggunakan Python, tanpa mengharuskan pemahaman teori formal compiler di awal.

Implementasi dimulai dari lexer untuk mengenali angka, operator, identifier, dan tanda baca. Setelah itu kita menyusun parser yang menghasilkan struktur data berbentuk abstract syntax tree (AST), kemudian membuat evaluator yang menjalankan ekspresi dan pernyataan berdasarkan struktur tersebut. Setiap tahap dikaitkan dengan input, output, error, serta asumsi yang digunakan agar peserta dapat memeriksa alasan di balik setiap keputusan desain.

Proyek akhirnya adalah interpreter mini yang dapat membaca dan mengevaluasi program sederhana, termasuk ekspresi aritmetika, variabel, serta aturan sintaks yang ditentukan selama kursus. Cakupan ini sengaja dibatasi agar model mental tentang pemrosesan bahasa terlihat jelas dan kode tetap dapat diuji secara bertahap. Peserta juga berlatih mengisolasi kegagalan lexer, parser, dan evaluator ketika hasil program tidak sesuai harapan.

Rating & Ulasan

0 ratings