Skip to main content

Ziyo - O'zbekcha dasturlash tili

Project description

Ziyo - O'zbekcha Dasturlash Tili

Ziyo - bu o'zbek tilida yozilgan va Python ga transpile qilinuvchi dasturlash tili. U oson o'rganiladigan va barcha qurilmalarda ishlaydi.

✨ Xususiyatlari

  • ✅ O'zbekcha kalit so'zlar
  • ✅ Python ga transpile qilinadi
  • ✅ Cross-platform (Linux, Windows, macOS, Android Termux)
  • ✅ Oson o'rganish
  • ✅ CLI buyruqlari
  • ✅ Sintaksis tekshirish

🚀 O'rnatish

pip orqali (Kelajakda)

pip install ziyo-lang

📖 Foydalanish

CLI Buyruqlari

# .zs faylni bajarish
ziyo-run salom.zs

# Transpiled Python kodini ko'rsatish
ziyo-run salom.zs --show-py

# Sintaksis tekshirish
ziyo-run salom.zs --check

# Batafsil ma'lumot
ziyo-run --help

# Versiya ko'rsatish
ziyo-run --version

Python Kutubxona sifatida

import ziyo_lang

# Ziyo kodini Python kodiga aylantirish
ziyo_code = '''
o'zgaruvchi ism = "Zafar";
chiqar("Salom, " + ism + "!");
'''

# Transpile qilish
python_code = ziyo_lang.transpile(ziyo_code)
print(python_code)

# Kodni bajarish
ziyo_lang.run(ziyo_code)

# Sinov qilish
is_valid, errors = ziyo_lang.validate_code(ziyo_code)
if not is_valid:
    for error in errors:
        print(f"Xato: {error}")

🔤 Kalit So'zlar

Ziyo Python Tavsif
chiqar() print() Chop etish
funksiya def Funksiya e'lon qilish
o'zgaruvchi var O'zgaruvchi e'lon qilish
agar if Shart operatori
aks else Agar shart bo'lmasa
uchun for Takrorlash sikli
qilsa while Shartli takrorlash
qayt return Qiymat qaytarish
haqiqat True Haqiqiy qiymat
yolg'on False Yolg'on qiymat

💻 Misol Dasturlar

Salom Dunyo

# Izoh - bu qator e'tiborga olinmaydi
chiqar("Salom, Dunyo!");

# O'zgaruvchi e'lon qilish
o'zgaruvchi ism = "Anvar";
chiqar("Mening ismim " + ism);

# Funksiya
funksiya salom(kim) {
    chiqar("Salom, " + kim + "!");
}

salom(ism);

Hisoblovchi Dastur

o'zgaruvchi son = 5;

agar (son > 0) {
    chiqar("Son musbat");
} aks {
    chiqar("Son manfiy yoki nol");
}

# For sikli
uchun (i = 1; i <= son; i = i + 1) {
    chiqar("Hisoblash: " + i);
}

Funksiya Misoli

funksiya qoshish(a, b) {
    o'zgaruvchi natija = a + b;
    qayt natija;
}

o'zgaruvchi x = 10;
o'zgaruvchi y = 20;
o'zgaruvchi summa = qoshish(x, y);

chiqar("Natija: " + summa);

📝 Sintaksis

O'zgaruvchilar

# Son
o'zgaruvchi yosh = 25;

# Matn
o'zgaruvchi ism = "Aziz";

# Boolean
o'zgaruvchi student = haqiqat;

# Ro'yxat (array)
o'zgaruvchi mevalar = ["olma", "banan"];

Shart Operatorlari

agar (shart) {
    # kod
} aks {
    # boshqa kod
}

agar (yosh >= 18) {
    chiqar("Katta");
} aks {
    chiqar("Kichik");
}

Takrorlash

# For sikli
uchun (i = 1; i <= 5; i = i + 1) {
    chiqar(i);
}

# While sikli
o'zgaruvchi son = 3;
qilsa (son > 0) {
    chiqar("Son: " + son);
    son = son - 1;
}

Funksiyalar

funksiya nom(param1, param2) {
    o'zgaruvchi natija = param1 + param2;
    qayt natija;
}

# Chaqirish
o'zgaruvchi javob = nom(5, 3);

🖥️ Platformalar

  • 🐧 Linux (barcha distributsiyalar)
  • 🪟 Windows 10/11
  • 🍎 macOS 10.14+
  • 📱 Android Termux
  • 🌐 Web (JavaScript orqali, kelajakda)

🔧 Kengaytirish

Kelgusi Xususiyatlar

  • OOP qo'llab-quvvatlash (class, obyekt)
  • Import moduli
  • Fayl operatsiyalari
  • Xatolarni boshqarish (try/except)
  • Web interface
  • IDE extension
  • Online compiler

O'z xususiyatlaringizni qo'shish

# compiler.py da yangi kalit so'z qo'shish
self.token_map.append((r"\byangisoz\s*\(", "yangifunksiya("))

# Yoki qo'shimcha sintaksis qoidalari
def custom_processing(self, code):
    # Mahsus mantiq
    return processed_code

🤝 Hissa Qo'shish

  1. Repozitoriyani fork qiling
  2. Branch yarating: git checkout -b yangi-xususiyat
  3. O'zgarishlaringizni qo'shing: git commit -am 'Yangi xususiyat qo'shildi'
  4. Branch ga push qiling: git push origin yangi-xususiyat
  5. Pull Request yarating

📄 Litsenziya

MIT License - batafsil ma'lumot uchun LICENSE faylini ko'ring.

📞 Aloqa


Ziyo dasturlash tili - O'zbek dasturchilari uchun yaratilgan! 🇺🇿

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

ziyo_lang-1.0.1.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

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

ziyo_lang-1.0.1-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file ziyo_lang-1.0.1.tar.gz.

File metadata

  • Download URL: ziyo_lang-1.0.1.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for ziyo_lang-1.0.1.tar.gz
Algorithm Hash digest
SHA256 d44539fe82180b735b2e5e632731cd704e23d6eacab42675c5aa1a469d5f3c73
MD5 0309ee77ca2c14114a21f63fce51ed6f
BLAKE2b-256 dcc72df97f00be1a16fa6bee9e3daf3b9c33df0a95f32759927482bd97385a24

See more details on using hashes here.

File details

Details for the file ziyo_lang-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: ziyo_lang-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for ziyo_lang-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b9a52d496907bc5d75421674d4f72f16732461f6ce2d2b4bcfca8a2782174dcf
MD5 55236117a74ed6dcdb8105e888c886d9
BLAKE2b-256 977c899004a4ec059a93c6427f5edb6bd40e1148c1cb186f980f6a581fcee7b0

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