Skip to content

XeyyzuV2/aha-lang

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AHA! Lang

AHA! Lang Logo

Advanced Hybrid Architecture

A fast, expressive, and modern programming language designed for building anything from web backends to game engines.

CI/CD License: MIT Rust


✨ Fitur Utama

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 Cargo yang kuat.

🚀 Mulai Cepat

Prasyarat

  • Rust (versi 1.75 atau lebih baru)
  • LLVM 14 dan library pendukung
  • Clang 14

Instalasi di Ubuntu/Debian

# 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

Mengompilasi dari Sumber

  1. Clone repositori:

    git clone https://github.com/ahalang-dev/aha-lang.git
    cd aha-lang
  2. Jalankan Kompilator:

    cargo run -- --file <nama_file>.aha

Contoh Kode

Buat file bernama contoh.aha:

let x = 10;
let y = 20;

if x > y {
    x
} else {
    y
}

Jalankan:

cargo run -- --file contoh.aha

Output 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

🧠 Arsitektur Kompiler

Kompiler AHA! dibangun dengan arsitektur modern dan modular:

  1. Lexer: Memecah kode sumber menjadi token-token.
  2. Parser: Mengurai token menjadi Abstract Syntax Tree (AST) menggunakan Pratt Parser.
  3. Code Generator: Menerjemahkan AST menjadi LLVM Intermediate Representation (IR).
  4. LLVM Backend: Mengoptimalkan dan mengompilasi IR menjadi kode mesin asli.

Architecture Diagram


🛣️ Peta Jalan (Roadmap)

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)
  • 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

🤝 Berkontribusi

Kami sangat terbuka untuk kontribusi! Baik itu melaporkan bug, menyarankan fitur baru, atau berkontribusi kode.

Lihat CONTRIBUTING.md untuk panduan lebih lanjut.


📄 Lisensi

Proyek ini dilisensikan di bawah Lisensi MIT. Lihat file LICENSE untuk detailnya.


💡 Mengapa AHA!?

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!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 100.0%