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(codegen) - Operator
<=,>= - Pernyataan Perulangan
while✅ - Pernyataan Perulangan
for(parser) - Fungsi dengan parameter ✅
- Statement
return✅
- Tipe data
- Milestone 3: Struktur Data Tingkat Lanjut ✅
- String type
- Array (parser + codegen)
- Struct definitions
- Field access (person.name)
- Milestone 4: Pustaka Standar ✅
- print(int) - print integers
- print_str(string) - print strings
- abs(x) - absolute value
- min(a, b) - minimum
- max(a, b) - maximum
- Milestone 5: Tooling & Ekosistem ✅
- VS Code Extension (syntax highlighting)
- CLI improvements (--emit-ir, --version)
- Better error messages
-
Milestone 6: Type System
- Type inference
- Type annotations
- Generics / Parametric types
-
Milestone 7: Resource Lifetimes ⭐
- Ownership semantics
- Borrow checking
- Automatic resource cleanup
-
Milestone 8: Concurrency
- Actor model
- Message passing
- Async/await
-
Milestone 9: Package Ecosystem
- Package manager (
aha install) - Module system
- Dependency resolution
- Package manager (
-
Milestone 10: Self-Hosting 🏆
- AHA! compiler written in AHA!
- Bootstrap process
- Production ready
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!