Advanced Hybrid Architecture
A fast, expressive, and modern programming language designed for building anything from web backends to game engines.
AHA! dirancang dari awal untuk memberikan pengalaman pengembangan yang luar biasa:
- 🚀 Performa Tinggi: Dikompilasi ke LLVM IR untuk optimasi kode mesin yang maksimal, setara dengan C++.
- 🧠 Sistem Tipe Cerdas: Statis dengan inferensi tipe otomatis. Aman dari bug, namun tetap ringkas untuk ditulis.
- 🔀 Konkurensi Aman: Model Aktor bawaan untuk menulis kode paralel yang bebas dari race condition.
- 🛠️ Manajemen Sumber Daya Kontrol Penuh: Kontrol memori manual yang aman dengan "Resource Lifetimes", tanpa overhead Garbage Collector.
- 📦 Ekosistem Modern: Dibangun di atas Rust, memanfaatkan toolchain
Cargoyang kuat.
- Rust (versi 1.75 atau lebih baru)
- LLVM 14 dan library pendukung
- Clang 14
# Update package list
sudo apt-get update
# Install LLVM, Clang, and development libraries
sudo apt-get install -y llvm-14-dev clang-14 libpolly-14-dev zlib1g-dev-
Clone repositori:
git clone https://github.com/ahalang-dev/aha-lang.git cd aha-lang -
Jalankan Kompilator:
cargo run -- --file <nama_file>.aha
Buat file bernama contoh.aha:
let x = 10;
let y = 20;
if x > y {
x
} else {
y
}
Jalankan:
cargo run -- --file contoh.ahaOutput yang Diharapkan:
--- KOMPILER AHA! ---
Membaca file: contoh.aha
[1] LEXING...
[2] PARSING...
Parsing berhasil!
[3] CODE GENERATION...
Kode LLVM IR berhasil dihasilkan!
--- LLVM IR OUTPUT ---
; ModuleID = 'aha_module'
...
----------------------
[4] EKSEKUSI (JIT)...
Program berhasil dijalankan. Hasil: 20
Kompiler AHA! dibangun dengan arsitektur modern dan modular:
- Lexer: Memecah kode sumber menjadi token-token.
- Parser: Mengurai token menjadi Abstract Syntax Tree (AST) menggunakan Pratt Parser.
- Code Generator: Menerjemahkan AST menjadi LLVM Intermediate Representation (IR).
- LLVM Backend: Mengoptimalkan dan mengompilasi IR menjadi kode mesin asli.
AHA! masih dalam pengembangan awal. Ini adalah rencana kami:
- Milestone 1: Fondasi Kompiler
- Lexer & Parser
- Tipe data Integer
- Ekspresi Aritmatika & Perbandingan
- Pernyataan Kondisional
if/else
- Milestone 2: Fitur Fundamental
- Tipe data
Boolean - Fungsi dan Cakupan (Scope)
- Pernyataan Perulangan (
while,for)
- Tipe data
- Milestone 3: Struktur Data Tingkat Lanjut
- Array dan String
- Struct
- Milestone 4: Pustaka Standar
- Modul I/O File
- Modul Jaringan
- Modul Web (HTTP Server)
- Milestone 5: Tooling & Ekosistem
- AHA! Language Server (untuk VS Code, dll.)
- [ ] Package Manager
- [ ] Dokumentasi Interaktif
Kami sangat terbuka untuk kontribusi! Baik itu melaporkan bug, menyarankan fitur baru, atau berkontribusi kode.
Lihat CONTRIBUTING.md untuk panduan lebih lanjut.
Proyek ini dilisensikan di bawah Lisensi MIT. Lihat file LICENSE untuk detailnya.
Kami percaya bahwa pemrograman harus lebih dekat dengan cara berpikir manusia. AHA! bertujuan untuk menghilangkan boilerplate dan kompleksitas yang tidak perlu, memungkinkan Anda untuk fokus pada logika dan solusi yang Anda bangun.
Bergabunglah dengan kami dalam menciptakan generasi berikutnya dari bahasa pemrograman!