Skip to main content

Bahasa Manis (BM): Bahasa pemrograman berbahasa Indonesia dengan interpreter, transpiler, dan playground.

Project description

Bahasa Manis (BM)

Bahasa Manis icon

PyPI version

Bahasa pemrograman berbahasa Indonesia dengan interpreter, transpiler, CLI, dan playground web.

PyPI: https://pypi.org/project/bahasamanis/

Instalasi

Disarankan menggunakan pipx (CLI terisolasi dan langsung tersedia di PATH):

pipx ensurepath
pipx install bahasamanis

Alternatif (pip + virtualenv):

python -m venv .venv
.\.venv\Scripts\Activate.ps1   # Windows PowerShell
pip install bahasamanis

Instalasi dari sumber (pengembangan):

pip install -e .

Perintah CLI:

  • bm run|jalankan file.bm
  • bm transpile|ubah file.bm -o file.py
  • bm repl

Playground Web

python server.py
# buka http://127.0.0.1:5000

Quickstart

cetak "Masukkan nama:"
baca nama
cetak "Halo, {nama}!"

Jalankan:

bm jalankan hello.bm
# atau
bm run hello.bm

Fitur Bahasa Singkat

  • Kata kunci: cetak, baca, jika/elif/lain/akhir, selama, untuk, fungsi/kembali, lanjut/henti
  • Boolean: benar, salah
  • Operator logika: dan, atau, tidak
  • Interpolasi string: "Halo, {nama}" (ekspresi di dalam {...} aman & didukung)

Interop Python & Modul BM (paket/pakai)

  • Impor modul Python dengan alias Indonesia:

    paket "math" sebagai m
    cetak "akar 16 = {m.sqrt(16)}"
    
  • Impor modul BM lokal atau pustaka standar berbahasa Indonesia:

    pakai "bm_standar/json" sebagai j
    data = {"nama": "BM", "versi": 1}
    cetak j.bentuk(data, rapi=benar)
    

Catatan: Paket bahasamanis menyertakan data paket bahasamanis_data yang berisi folder bm_standar/, sehingga contoh di atas berfungsi langsung setelah instal dari PyPI (tanpa perlu menyalin file .bm secara manual).

Pustaka Standar BM

Paket bahasamanis menyertakan pustaka standar BM yang dapat diimpor menggunakan perintah pakai. Pustaka standar ini termasuk:

  • bm_standar/json: modul untuk bekerja dengan data JSON
  • bm_standar/jaringan: modul untuk bekerja dengan jaringan
  • bm_standar/waktu: modul untuk bekerja dengan waktu
  • bm_standar/acak: modul untuk bekerja dengan bilangan acak

Transpile -> Python

String dengan {...} ditranspilasi menjadi f-string Python.

# BM
cetak "Halo, {1+2}"

# Python
print(f"Halo, {1+2}")

Error Berbahasa Indonesia

Pesan kesalahan telah dilokalkan, misalnya:

  • Kesalahan sintaks pada ekspresi ...: tidak ditutup
  • Kesalahan runtime pada baris N: operator '>' tidak didukung antara tipe 'str' dan 'int'

VS Code Extension (lokal)

Folder: vscode-bahasamanis/

Cara coba:

  1. Buka folder vscode-bahasamanis/ di VS Code.
  2. Tekan F5 untuk menjalankan Extension Development Host.
  3. Buka file .bm untuk melihat highlight dan snippet.

Windows EXE

Rilis menyediakan binary tunggal bm.exe di halaman Release GitHub. Unduh bm.exe, lalu jalankan:

bm.exe jalankan contoh.bm

Changelog ringkas

0.1.11

  • Interop Python: paket "modul" sebagai alias
  • Import modul BM: pakai "path/modul.bm" [sebagai alias]
  • CLI Indonesia: bm jalankan, bm ubah, bm repl (kompatibel dengan run/transpile)
  • Pustaka standar dibundel: bm_standar/{berkas,json,jaringan,waktu,acak} via paket data bahasamanis_data
  • Perbaikan runtime: output print di-flush, resolusi pakai lebih kuat, default argumen fungsi dievaluasi saat pemanggilan

Lisensi

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bahasamanis-0.1.11.post1.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bahasamanis-0.1.11.post1-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file bahasamanis-0.1.11.post1.tar.gz.

File metadata

  • Download URL: bahasamanis-0.1.11.post1.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bahasamanis-0.1.11.post1.tar.gz
Algorithm Hash digest
SHA256 a7241c5e75c48cdd3be7fa984cd2e3fd9202d0f0d720e7d0fea185fb05f9e0d3
MD5 0af9fee17d24e47e839e8498860af33f
BLAKE2b-256 6b3c8763ad23631ea751bc4902e32535452e6b7bc9739ade96219a8f494419c9

See more details on using hashes here.

File details

Details for the file bahasamanis-0.1.11.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for bahasamanis-0.1.11.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 83d981c23bd20b1065edebbad2e29126cc14fb3ba85a53cc5ea042569d4a38df
MD5 7949e4375d18150dcb8ca6806ed6c3e7
BLAKE2b-256 f71682a4a8b30d31e6e9ccb2e607bf5fea05079a7d6cfb05b0358e804453608a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page