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
- Repozitoriyani fork qiling
- Branch yarating:
git checkout -b yangi-xususiyat - O'zgarishlaringizni qo'shing:
git commit -am 'Yangi xususiyat qo'shildi' - Branch ga push qiling:
git push origin yangi-xususiyat - Pull Request yarating
📄 Litsenziya
MIT License - batafsil ma'lumot uchun LICENSE faylini ko'ring.
📞 Aloqa
- 📧 Email: RaKUZENUZ@gmail.com
- 💬 Telegram: @UzMaxBoy
Ziyo dasturlash tili - O'zbek dasturchilari uchun yaratilgan! 🇺🇿
Project details
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
ziyo_lang-1.0.1-py3-none-any.whl
(11.7 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d44539fe82180b735b2e5e632731cd704e23d6eacab42675c5aa1a469d5f3c73
|
|
| MD5 |
0309ee77ca2c14114a21f63fce51ed6f
|
|
| BLAKE2b-256 |
dcc72df97f00be1a16fa6bee9e3daf3b9c33df0a95f32759927482bd97385a24
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9a52d496907bc5d75421674d4f72f16732461f6ce2d2b4bcfca8a2782174dcf
|
|
| MD5 |
55236117a74ed6dcdb8105e888c886d9
|
|
| BLAKE2b-256 |
977c899004a4ec059a93c6427f5edb6bd40e1148c1cb186f980f6a581fcee7b0
|