{"id":49969401,"url":"https://github.com/timetolivechk-spec/uzpp","last_synced_at":"2026-05-18T07:14:02.638Z","repository":{"id":355815173,"uuid":"1229730965","full_name":"timetolivechk-spec/uzpp","owner":"timetolivechk-spec","description":"O'zbek tilida yoziladigan zamonaviy dasturlash tili. Modern programming language with Uzbek syntax, transpiles to C++23.","archived":false,"fork":false,"pushed_at":"2026-05-12T12:36:53.000Z","size":737,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-12T14:33:43.700Z","etag":null,"topics":["compiler","cpp","cpp23","education","educational-language","educational-programming","language-server","open-source","programming-language","transpiler","uzbek","uzbekistan","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=uzpp.uzpp","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timetolivechk-spec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-05T10:29:46.000Z","updated_at":"2026-05-12T12:37:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/timetolivechk-spec/uzpp","commit_stats":null,"previous_names":["timetolivechk-spec/uzpp"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/timetolivechk-spec/uzpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timetolivechk-spec%2Fuzpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timetolivechk-spec%2Fuzpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timetolivechk-spec%2Fuzpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timetolivechk-spec%2Fuzpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timetolivechk-spec","download_url":"https://codeload.github.com/timetolivechk-spec/uzpp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timetolivechk-spec%2Fuzpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33168910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T05:43:36.989Z","status":"ssl_error","status_checked_at":"2026-05-18T05:43:19.133Z","response_time":71,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","cpp","cpp23","education","educational-language","educational-programming","language-server","open-source","programming-language","transpiler","uzbek","uzbekistan","vscode-extension"],"created_at":"2026-05-18T07:14:01.807Z","updated_at":"2026-05-18T07:14:02.631Z","avatar_url":"https://github.com/timetolivechk-spec.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# uz++ — O'zbek Dasturlash Tili\n\n**Ona tilingizda yozing. C++23 tezligida ishlating.**\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![C++23](https://img.shields.io/badge/C%2B%2B-23-blue.svg)](https://en.cppreference.com/w/cpp/23)\n[![Platform](https://img.shields.io/badge/platform-Windows-lightgrey.svg)](#-quick-install)\n[![VS Code](https://img.shields.io/visual-studio-marketplace/v/uzpp.uzpp?label=VS%20Code\u0026color=007ACC)](https://marketplace.visualstudio.com/items?itemName=uzpp.uzpp)\n\n\u003cbr\u003e\n\n**uz++** — C++23 asosida qurilgan, butunlay O'zbek tilida yoziladigan kompilyatsiya tili.\n\n*O'zbek dasturchilar uchun, o'zbek dasturchilar tomonidan.*\n\n---\n\n[O'zbekcha](#-uzbekcha) \u0026nbsp;|\u0026nbsp; [Русский](#-russian) \u0026nbsp;|\u0026nbsp; [English](#-english)\n\n\u003c/div\u003e\n\n---\n\n## ⚡ Quick Install | Tezkor o'rnatish | Быстрая установка\n\n| Platform | One-line install | Status |\n|---|---|---|\n| 🪟 **Windows** | Download [`uzpp-setup.exe`](https://github.com/timetolivechk-spec/uzpp/releases/latest) (~115 MB, **bundles MinGW GCC 14.2 — nothing else to install**) and run it | ✅ Released |\n| 🐧 **Linux** | _AppImage coming soon_ — for now build from source | 🔄 In progress |\n| 🍎 **macOS** | _Homebrew tap coming soon_ — for now build from source | 🔄 In progress |\n| 🧩 **VS Code** | Open Extensions → install `uzpp.uzpp` → it auto-installs the compiler | ✅ Marketplace |\n\n\u003e ⏱️ **Time to first program: under 2 minutes.** Install Windows → open VS Code → write `salom.uzpp` → F5.\n\n---\n\n## 👋 Sizning birinchi dasturingiz | Your first program | Ваша первая программа\n\n### 🇺🇿 O'zbekcha — 30 sekundda\n\n1. [`uzpp-setup.exe`](https://github.com/timetolivechk-spec/uzpp/releases/latest/download/uzpp-setup.exe) ni yuklab oling va ishga tushiring.\n2. Yangi PowerShell oynasini oching va loyiha katalogi yarating:\n   ```powershell\n   mkdir uzpp-test ; cd uzpp-test\n   ```\n3. `salom.uzpp` faylini yarating (Notepad, VS Code yoki istalgan muharrir bilan):\n   ```uzpp\n   ulash \"uzpp_runtime.hpp\"\n\n   butun asosiy() {\n       yozish \u003c\u003c \"Salom, Dunyo!\" \u003c\u003c qator_oxiri;\n       qaytarish 0;\n   }\n   ```\n4. Ishga tushiring:\n   ```powershell\n   uzpp ishga-tushirish salom.uzpp\n   ```\n   Natijada `Salom, Dunyo!` chiqadi.\n\n**Faqat kompilyatsiya** (binary yaratish, ishga tushirmaslik):\n```powershell\nuzpp qurish salom.uzpp                 # build/salom.exe yaratiladi\n.\\build\\salom.exe                      # qo'lda ishga tushirish\n```\n\n**C++ ga tarjima qilingan kodni ko'rish** (debug uchun foydali):\n```powershell\nuzpp transpile salom.uzpp --show-cpp\n```\n\n### 🇷🇺 Русский — 30 секунд\n\n1. Скачайте [`uzpp-setup.exe`](https://github.com/timetolivechk-spec/uzpp/releases/latest/download/uzpp-setup.exe) и запустите (без админ-прав).\n2. Откройте новый PowerShell:\n   ```powershell\n   mkdir uzpp-test ; cd uzpp-test\n   ```\n3. Создайте `salom.uzpp`:\n   ```uzpp\n   ulash \"uzpp_runtime.hpp\"\n\n   butun asosiy() {\n       yozish \u003c\u003c \"Salom, Dunyo!\" \u003c\u003c qator_oxiri;\n       qaytarish 0;\n   }\n   ```\n4. Скомпилируйте и запустите:\n   ```powershell\n   uzpp ishga-tushirish salom.uzpp\n   ```\n\n**Только компилировать**: `uzpp qurish salom.uzpp` → `build\\salom.exe`.\n**Посмотреть сгенерированный C++**: `uzpp transpile salom.uzpp --show-cpp`.\n\n### 🇬🇧 English — 30 seconds\n\n1. Download [`uzpp-setup.exe`](https://github.com/timetolivechk-spec/uzpp/releases/latest/download/uzpp-setup.exe) (~115 MB, bundles MinGW GCC 14.2 — no admin required) and run it.\n2. Open a fresh PowerShell terminal:\n   ```powershell\n   mkdir uzpp-test ; cd uzpp-test\n   ```\n3. Create `salom.uzpp`:\n   ```uzpp\n   ulash \"uzpp_runtime.hpp\"\n\n   butun asosiy() {\n       yozish \u003c\u003c \"Salom, Dunyo!\" \u003c\u003c qator_oxiri;\n       qaytarish 0;\n   }\n   ```\n4. Build + run:\n   ```powershell\n   uzpp ishga-tushirish salom.uzpp\n   ```\n   You'll see `Salom, Dunyo!`.\n\n**Build only** (no execution): `uzpp qurish salom.uzpp` → produces `build\\salom.exe`.\n**Show generated C++**: `uzpp transpile salom.uzpp --show-cpp`.\n\n### 🧩 With VS Code (any OS)\n\n1. VS Code → Extensions → search `uz++` → Install.\n2. Status bar shows `⬇ uz++ install` — click it (or run the **Install** button on the welcome screen). The extension downloads the same `uzpp-setup.exe` automatically on Windows.\n3. Open any `.uzpp` file → press **F5** to run, **Ctrl+F5** to build only.\n\n[![VS Code Marketplace](https://img.shields.io/visual-studio-marketplace/v/uzpp.uzpp?label=VS%20Code%20Extension\u0026color=007ACC)](https://marketplace.visualstudio.com/items?itemName=uzpp.uzpp)\n\n### 📚 More examples\n\n- `examples/` — 10 introductory programs (types, classes, lambdas, Result type, pattern matching).\n- `misollar/` — 10 problem-style programs (FizzBuzz, recursion, threads, JSON, etc.).\n- [docs/getting-started.md](docs/getting-started.md) — 15-minute tutorial covering everything.\n\n---\n\n## 🇺🇿 O'zbekcha\n\n### uz++ nima?\n\n**uz++** — barcha kalit so'zlari O'zbek tilida yoziladigan, C++23 ga transpilatsiya qilinadigan til.\nSiz oddiy O'zbek sintaksisida kod yozasiz — kompilyator uni to'liq C++23 ga aylantiradi va\nmahalliy mashina kodi sifatida ishlatadi. **Hech qanday ish vaqti ortiqligi yo'q.**\n\n### Manba koddan yig'ish — 3 ta buyruq\n\n```bash\ngit clone https://github.com/timetolivechk-spec/uzpp \u0026\u0026 cd uzpp\ncmake -G Ninja -DCMAKE_BUILD_TYPE=Release -B build \u0026\u0026 cmake --build build\n./build/uzpp ishga-tushirish examples/01_salom_dunyo.uzpp\n```\n\n**Natija:**\n```\nSalom, Dunyo!\nuz++ tilida xush kelibsiz!\n```\n\n### 5 ta misol\n\n**1. Salom, Dunyo!**\n```uzpp\nulash \"uzpp_runtime.hpp\"\n\nbutun asosiy() {\n    yozish \u003c\u003c \"Salom, Dunyo!\" \u003c\u003c qator_oxiri;\n    qaytarish 0;\n}\n```\n\n**2. Lambda va yopiq o'zgaruvchilar**\n```uzpp\nbutun asosiy() {\n    butun asos = 10;\n    ozgaruvchan qoshuvchi = [asos](butun x) -\u003e butun {\n        qaytarish x + asos;\n    };\n    yozish \u003c\u003c qoshuvchi(5) \u003c\u003c qator_oxiri;  // 15\n    qaytarish 0;\n}\n```\n\n**3. Xavfsiz xatolik boshqaruvi (Result type)**\n```uzpp\nuzpp::Natija\u003chaqiqiy\u003e xavfsiz_bolish(haqiqiy a, haqiqiy b) {\n    agar (b == 0.0)\n        qaytarish uzpp::Natija\u003chaqiqiy\u003e::xato(\"Nolga bolish mumkin emas!\");\n    qaytarish uzpp::Natija\u003chaqiqiy\u003e::muvaffaqiyat(a / b);\n}\n\nbutun asosiy() {\n    ozgaruvchan r = xavfsiz_bolish(10.0, 0.0);\n    agar (!r.yaroqliMi())\n        yozish \u003c\u003c \"Xato: \" \u003c\u003c r.xatoMazmun() \u003c\u003c qator_oxiri;\n    qaytarish 0;\n}\n```\n\n**4. Pattern Matching**\n```uzpp\nmatn bahola(butun ball) {\n    moslash (ball / 10) {\n        holat 10: qaytarish \"A+\";\n        holat 9:  qaytarish \"A\";\n        holat 8:  qaytarish \"B\";\n        holat 7:  qaytarish \"C\";\n        boshqa:   qaytarish \"F\";\n    }\n}\n```\n\n**5. Asinxron parallel hisoblash**\n```uzpp\nbutun asosiy() {\n    ozgaruvchan v1 = std::async(std::launch::async, []() { qaytarish 6 * 7; });\n    ozgaruvchan v2 = std::async(std::launch::async, []() { qaytarish 10 * 10; });\n    yozish \u003c\u003c \"6×7 = \" \u003c\u003c v1.get() \u003c\u003c qator_oxiri;   // 42\n    yozish \u003c\u003c \"10² = \" \u003c\u003c v2.get() \u003c\u003c qator_oxiri;   // 100\n    qaytarish 0;\n}\n```\n\n### uz++ vs C++ solishtirma\n\n| Vazifa | uz++ | C++ |\n|--------|------|-----|\n| Hello World | `yozish \u003c\u003c \"Salom!\" \u003c\u003c qator_oxiri;` | `std::cout \u003c\u003c \"Hello!\" \u003c\u003c std::endl;` |\n| For tsikli | `uchun (butun i = 0; i \u003c 5; i++)` | `for (int i = 0; i \u003c 5; i++)` |\n| Shartli | `agar (x \u003e 0) { ... } aks_holda { ... }` | `if (x \u003e 0) { ... } else { ... }` |\n| Sinf | `sinf Shahs { ochiq: ... }` | `class Shahs { public: ... };` |\n| Lambda | `[x](butun y) -\u003e butun { ... }` | `[x](int y) -\u003e int { ... }` |\n| Result type | `uzpp::Natija\u003cbutun\u003e` | `std::expected\u003cint, std::string\u003e` |\n\n### ✅ Xususiyatlar\n\n| Xususiyat | Holat |\n|-----------|-------|\n| 80+ o'zbek kalit so'zlari | ✅ |\n| Sinflar va meros | ✅ |\n| Shablonlar (generics) | ✅ |\n| Lambda funksiyalar | ✅ |\n| `Natija\u003cT\u003e` (Result type) | ✅ |\n| `Tanlov\u003cT\u003e` (Option type) | ✅ |\n| Pattern matching (`moslash`) | ✅ |\n| Enum turlari | ✅ |\n| Asinxron/parallel | ✅ |\n| OqimPool (thread pool) | ✅ |\n| JSON kutubxonasi | ✅ |\n| Xatoliklar (try/catch) | ✅ |\n| LSP (VSCode qo'llab-quvvatlash) | ✅ |\n| Kod formatlash | ✅ |\n\n### Kalit so'zlar jadvali\n\n| uz++          | C++           | Ma'no           |\n|---------------|---------------|-----------------|\n| `butun`       | `int`         | Butun son       |\n| `haqiqiy`     | `double`      | Kasr son        |\n| `matn`        | `string`      | Matn            |\n| `mantiqiy`    | `bool`        | Mantiqiy        |\n| `rost`        | `true`        | To'g'ri         |\n| `yolg'on`     | `false`       | Noto'g'ri       |\n| `bosh`        | `void`        | Bo'sh tur       |\n| `agar`        | `if`          | Agar            |\n| `aks_holda`   | `else`        | Aks holda       |\n| `uchun`       | `for`         | Uchun (tsikl)   |\n| `toki`        | `while`       | Toki (tsikl)    |\n| `qaytarish`   | `return`      | Qaytarish       |\n| `sinf`        | `class`       | Sinf            |\n| `tuzilma`     | `struct`      | Tuzilma         |\n| `ochiq`       | `public`      | Ochiq           |\n| `yopiq`       | `private`     | Yopiq           |\n| `himoyalangan`| `protected`   | Himoyalangan    |\n| `mavhum`      | `virtual`     | Mavhum (virtual)|\n| `ustidan_yozish` | `override` | Ustidan yozish  |\n| `shablon`     | `template`    | Shablon         |\n| `ozgaruvchan` | `auto`        | Avtomatik tur   |\n| `ozgarmas`    | `const auto`  | O'zgarmas       |\n| `statik`      | `static`      | Statik          |\n| `sanab_olish` | `enum class`  | Raqamlash       |\n| `vektor`      | `vector`      | Vektor          |\n| `lug'at`      | `unordered_map`| Lug'at         |\n| `ulash`       | `#include`    | Kutubxona ulash |\n| `yozish`      | `cout`        | Chiqarish       |\n| `qator_oxiri` | `endl`        | Yangi qator     |\n| `urinish`     | `try`         | Urinish         |\n| `ushlash`     | `catch`       | Ushlash         |\n| `irgitish`    | `throw`       | Irgitish        |\n| `va`          | `\u0026\u0026`          | Va (AND)        |\n| `yoki`        | `\\|\\|`        | Yoki (OR)       |\n\n### Manba koddan qurish | Building from source\n\nYuqoridagi *Quick Install* tavsiya etiladi — quyidagi ko'rsatma faqat hissa\nqo'shuvchilar uchun (kompilyatorni o'zini o'zgartirayotgan bo'lsangiz).\n\n```bash\n# Talablar: CMake 3.20+, GCC 14+ yoki Clang 18+, Ninja\ngit clone https://github.com/timetolivechk-spec/uzpp\ncd uzpp\ncmake -G Ninja -DCMAKE_BUILD_TYPE=Release -B build\ncmake --build build\n\n./build/uzpp --version\n./build/uzpp ishga-tushirish examples/01_salom_dunyo.uzpp\n./build/uzpp_frontend_tests                       # 25 unit-test\nbash tests/negative/run.sh                        # 27 salbiy test\n```\n\n**Windows (MSYS2 UCRT64):**\n```bash\npacman -S mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninja\n```\n\n**Linux (Ubuntu 24.04):**\n```bash\nsudo apt-get install gcc-14 g++-14 cmake ninja-build\n```\n\nTo'liq qo'llanma: [docs/getting-started.md](docs/getting-started.md). Hissa\nqo'shish bo'yicha ko'rsatmalar: [CONTRIBUTING.md](CONTRIBUTING.md).\n\n### Buyruqlar\n\n| Buyruq | Tavsif |\n|--------|--------|\n| `uzpp qurish fayl.uzpp` | Kompilyatsiya |\n| `uzpp ishga-tushirish fayl.uzpp` | Kompilyatsiya + ishga tushirish |\n| `uzpp format fayl.uzpp` | Kodni formatlash |\n| `uzpp lsp` | LSP server (editor uchun) |\n| `uzpp --version` | Versiyani ko'rish |\n\n### Yo'l xaritasi | Roadmap\n\n| Xususiyat | Holat |\n|-----------|-------|\n| ✅ Asosiy sintaksis (o'zgaruvchilar, funksiyalar, sinflar) | Tayyor |\n| ✅ Shablonlar va generics | Tayyor |\n| ✅ Lambda va closures | Tayyor |\n| ✅ Natija/Tanlov turlari | Tayyor |\n| ✅ Pattern matching | Tayyor |\n| ✅ Enum va mavhum sinflar | Tayyor |\n| ✅ LSP + VSCode kengaytmasi | Tayyor |\n| 🔄 GitHub Actions CI | Sozlanmoqda (billing) |\n| 🔄 Paket menejeri (uzpm) | Ishlanmoqda |\n| 🔄 Hujjatlar generatori | Ishlanmoqda |\n| 📋 `uz++` standart kutubxona kengaytmasi | Rejalashtirilgan |\n| 📋 Xato xabarlari yaxshilash | Rejalashtirilgan |\n| 📋 Debugger integratsiyasi (DAP) | Rejalashtirilgan |\n| 📋 Interaktiv REPL | Rejalashtirilgan |\n\n### Loyiha tuzilmasi\n\n```\nuz++/\n├── src/                         # Kompilyator manba kodi (C++)\n│   ├── lexer.cpp/h              # Tokenizator\n│   ├── parser.cpp/h             # AST quruvchi\n│   ├── ast.h                    # AST tugun turlari\n│   ├── codegen.cpp/h            # C++23 kod generatori\n│   ├── type_checker.hpp         # Semantik tahlil\n│   ├── formatter.cpp/h          # Avto-formatlash\n│   ├── lsp_server.cpp/h         # Language Server Protocol\n│   ├── dap_server.cpp/h         # Debug Adapter Protocol\n│   ├── package_manager.h        # uzpm paket menejeri\n│   └── main.cpp                 # CLI kirish nuqtasi\n├── stdlib/                      # uz++ standart kutubxonasi (header-only)\n├── examples/                    # 10 ta o'rganuvchi misol\n├── misollar/                    # 10 ta amaliy misol (FizzBuzz va h.k.)\n├── tests/                       # 23 integratsiya, 25 frontend unit, 27 salbiy test\n│   ├── frontend_smoke.cpp       # lexer/parser/type_checker/codegen unit-test\n│   └── negative/                # qabul qilinmasligi kerak bo'lgan kodlar\n├── docs/                        # Hujjatlar (getting-started, stdlib-status)\n├── installer/windows/           # Inno Setup skripti → uzpp-setup.exe\n├── vscode-uzpp/                 # Marketplace kengaytmasi\n└── packages/                    # uzpm uchun namuna paketlar\n```\n\n### Hissa qo'shish\n\n[CONTRIBUTING.md](CONTRIBUTING.md) ni o'qing.\n[GitHub Issues](https://github.com/timetolivechk-spec/uzpp/issues) da xato yoki taklif qoldiring.\n\n---\n\n## 🇷🇺 Russian\n\n### Что такое uz++?\n\n**uz++** — язык программирования, в котором весь код пишется на узбекском языке.\nТранспилируется в C++23 и производит нативные бинарные файлы с **полной производительностью C++**.\n\n### Быстрый старт\n\n```bash\ngit clone https://github.com/timetolivechk-spec/uzpp \u0026\u0026 cd uzpp\ncmake -G Ninja -DCMAKE_BUILD_TYPE=Release -B build \u0026\u0026 cmake --build build\n./build/uzpp ishga-tushirish examples/01_salom_dunyo.uzpp\n```\n\n### Пример кода\n\n```uzpp\n// FizzBuzz на uz++\nulash \"uzpp_runtime.hpp\"\n\nbutun asosiy() {\n    uchun (butun i = 1; i \u003c= 20; i++) {\n        agar (i % 15 == 0)           yozish \u003c\u003c \"FizzBuzz\";\n        aks_holda agar (i % 3 == 0)  yozish \u003c\u003c \"Fizz\";\n        aks_holda agar (i % 5 == 0)  yozish \u003c\u003c \"Buzz\";\n        aks_holda                    yozish \u003c\u003c i;\n        yozish \u003c\u003c qator_oxiri;\n    }\n    qaytarish 0;\n}\n```\n\n### Обработка ошибок — Result type\n\n```uzpp\nuzpp::Natija\u003chaqiqiy\u003e xavfsiz_bolish(haqiqiy a, haqiqiy b) {\n    agar (b == 0.0)\n        qaytarish uzpp::Natija\u003chaqiqiy\u003e::xato(\"Нельзя делить на ноль!\");\n    qaytarish uzpp::Natija\u003chaqiqiy\u003e::muvaffaqiyat(a / b);\n}\n\nbutun asosiy() {\n    ozgaruvchan r = xavfsiz_bolish(10.0, 0.0);\n    agar (r.yaroqliMi())\n        yozish \u003c\u003c r.qiymat() \u003c\u003c qator_oxiri;\n    aks_holda\n        yozish \u003c\u003c \"Xato: \" \u003c\u003c r.xatoMazmun() \u003c\u003c qator_oxiri;\n    qaytarish 0;\n}\n```\n\n### Стандартная библиотека\n\n| Модуль               | Возможности                               |\n|----------------------|-------------------------------------------|\n| `uzpp_runtime.hpp`   | Natija, Tanlov, OqimPool, потоки          |\n| `matematika.hpp`     | sin, cos, sqrt, pow, среднее, факториал   |\n| `matn.hpp`           | обрезка, разбивка, замена, конвертация    |\n| `json.hpp`           | разбор и сериализация JSON                |\n| `tarmoq.hpp`         | сетевые операции                          |\n| `fayl_tizimi.hpp`    | файловая система                          |\n| `asinxron.hpp`       | async/await примитивы                     |\n\n### Сборка\n\n```bash\n# Зависимости: CMake 3.20+, GCC 14+ или Clang 18+, Ninja\ncmake -G Ninja -DCMAKE_BUILD_TYPE=Release -B build\ncmake --build build\n```\n\n---\n\n## 🇬🇧 English\n\n### What is uz++?\n\n**uz++** is a systems programming language where all keywords and identifiers are written in Uzbek.\nIt **transpiles to C++23** and produces native binaries with full C++ performance — no runtime overhead.\n\nUzbek speakers can now program in their native language, with the same power as C++23.\n\n### Quick start\n\n```bash\ngit clone https://github.com/timetolivechk-spec/uzpp \u0026\u0026 cd uzpp\ncmake -G Ninja -DCMAKE_BUILD_TYPE=Release -B build \u0026\u0026 cmake --build build\n./build/uzpp ishga-tushirish examples/01_salom_dunyo.uzpp\n```\n\n### Language overview\n\n```uzpp\nulash \"uzpp_runtime.hpp\"\n\n// Generic template function\nshablon \u003ctur T\u003e\nbosh chop_et(matn nom, vektor\u003cT\u003e\u0026 v) {\n    yozish \u003c\u003c nom \u003c\u003c \": \";\n    uchun (ozgaruvchan\u0026 x : v) yozish \u003c\u003c x \u003c\u003c \" \";\n    yozish \u003c\u003c qator_oxiri;\n}\n\nbutun asosiy() {\n    // Vector with lambda sort\n    vektor\u003cbutun\u003e sonlar = {5, 3, 8, 1, 9, 2};\n    std::sort(sonlar.begin(), sonlar.end());\n    chop_et(\"Sorted\", sonlar);\n\n    // Pattern matching\n    moslash (sonlar[0]) {\n        holat 1: yozish \u003c\u003c \"Minimal!\" \u003c\u003c qator_oxiri;\n        boshqa:  yozish \u003c\u003c \"Not minimum\" \u003c\u003c qator_oxiri;\n    }\n\n    // Result type for safe error handling\n    ozgaruvchan r = uzpp::Natija\u003cbutun\u003e::muvaffaqiyat(42);\n    agar (r.yaroqliMi())\n        yozish \u003c\u003c \"Result: \" \u003c\u003c r.qiymat() \u003c\u003c qator_oxiri;\n\n    qaytarish 0;\n}\n```\n\n### Key features\n\n- **80+ Uzbek keywords** — `butun`→`int`, `agar`→`if`, `uchun`→`for`, `sinf`→`class`, ...\n- **Full C++23 feature set** — templates, lambdas, ranges, structured bindings, concepts\n- **`Natija\u003cT\u003e`** — Rust-inspired Result type (`std::expected` wrapper)\n- **`Tanlov\u003cT\u003e`** — Option/Maybe type\n- **`OqimPool`** — built-in thread pool executor\n- **Pattern matching** — `moslash/holat/boshqa` (switch on any type)\n- **Enum types** — `sanab_olish` with auto-generated name helpers\n- **Abstract classes** — `mavhum`, `ustidan_yozish` (virtual/override)\n- **VSCode extension** — syntax highlighting, LSP, hover docs\n- **25+ stdlib modules** — math, strings, JSON, async, networking, graphics (see [docs/stdlib-status.md](docs/stdlib-status.md) for honest status)\n\n### Keyword reference\n\n| uz++          | C++            | Meaning        |\n|---------------|----------------|----------------|\n| `butun`       | `int`          | Integer        |\n| `haqiqiy`     | `double`       | Float/double   |\n| `matn`        | `string`       | String         |\n| `mantiqiy`    | `bool`         | Boolean        |\n| `rost`        | `true`         | True           |\n| `yolg'on`     | `false`        | False          |\n| `agar`        | `if`           | If             |\n| `aks_holda`   | `else`         | Else           |\n| `uchun`       | `for`          | For loop       |\n| `toki`        | `while`        | While loop     |\n| `qaytarish`   | `return`       | Return         |\n| `sinf`        | `class`        | Class          |\n| `tuzilma`     | `struct`       | Struct         |\n| `ochiq`       | `public`       | Public         |\n| `yopiq`       | `private`      | Private        |\n| `mavhum`      | `virtual`      | Virtual        |\n| `ustidan_yozish`| `override`   | Override       |\n| `shablon`     | `template`     | Template       |\n| `ozgaruvchan` | `auto`         | Auto           |\n| `ozgarmas`    | `const auto`   | Const auto     |\n| `sanab_olish` | `enum class`   | Enum           |\n| `moslash`     | `switch`       | Switch/match   |\n| `holat`       | `case`         | Case           |\n| `boshqa`      | `default`      | Default        |\n| `urinish`     | `try`          | Try            |\n| `ushlash`     | `catch`        | Catch          |\n| `irgitish`    | `throw`        | Throw          |\n| `va`          | `\u0026\u0026`           | Logical AND    |\n| `yoki`        | `\\|\\|`         | Logical OR     |\n| `ulash`       | `#include`     | Include        |\n| `vektor`      | `vector`       | Vector         |\n| `yozish`      | `cout`         | Output stream  |\n| `qator_oxiri` | `endl`         | Newline        |\n\n### Examples\n\nThe `examples/` directory contains 10 runnable programs:\n\n| File | Topic |\n|------|-------|\n| `01_salom_dunyo.uzpp`  | Hello World + variables |\n| `02_ozgaruvchilar.uzpp`| All types + arithmetic |\n| `03_funksiyalar.uzpp`  | Functions, recursion, lambdas |\n| `04_sinflar.uzpp`      | Classes, inheritance, polymorphism |\n| `05_natija.uzpp`       | Result\u003cT\u003e and Option\u003cT\u003e types |\n| `06_moslik.uzpp`       | Pattern matching |\n| `07_asinxron.uzpp`     | Async + OqimPool thread pool |\n| `08_kolleksiyalar.uzpp`| Vectors, maps, sorting |\n| `09_json.uzpp`         | JSON create/parse |\n| `10_ilgor.uzpp`        | Enums, generics, abstract classes |\n\n### Requirements\n\n| Platform | Compiler     | Minimum version |\n|----------|--------------|-----------------|\n| Windows  | GCC (MSYS2)  | GCC 13          |\n| Linux    | GCC or Clang | GCC 14 / Clang 18 |\n| macOS    | AppleClang   | Xcode 16        |\n\nCMake 3.20+ and Ninja (recommended)\n\n### Project structure\n\n```\nuz++/\n├── src/                         # Compiler source (C++)\n│   ├── lexer.{cpp,h}            # Tokenizer\n│   ├── parser.{cpp,h}           # Semantic parser\n│   ├── ast.h                    # AST node types\n│   ├── codegen.{cpp,h}          # C++23 code generator\n│   ├── type_checker.hpp         # Semantic analysis + type inference\n│   ├── formatter.{cpp,h}        # Auto-formatter\n│   ├── lsp_server.{cpp,h}       # Language Server Protocol\n│   ├── dap_server.{cpp,h}       # Debug Adapter Protocol\n│   ├── package_manager.h        # uzpm package manager\n│   └── main.cpp                 # CLI entry point\n├── stdlib/                      # uz++ standard library (header-only)\n│   ├── uzpp_runtime.hpp         # Result/Option, OqimPool, coroutines\n│   ├── matematika.hpp           # Math\n│   ├── matn.hpp                 # String utilities\n│   ├── json.hpp                 # JSON\n│   └── ...                      # see docs/stdlib-status.md for full table\n├── examples/                    # 10 tutorial-style example programs\n├── misollar/                    # 10 problem-style example programs\n├── tests/                       # 23 integration + 25 frontend + 27 negative\n│   ├── frontend_smoke.cpp       # Unit tests for lexer/parser/checker/codegen\n│   └── negative/                # Programs that must fail to compile\n├── docs/                        # Documentation\n│   ├── getting-started.md       # 15-min walkthrough\n│   └── stdlib-status.md         # Per-module REAL/PARTIAL/EXPERIMENTAL status\n├── installer/windows/           # Inno Setup script → uzpp-setup.exe\n├── vscode-uzpp/                 # VS Code extension (Marketplace: uzpp.uzpp)\n└── packages/                    # Sample uzpm packages\n```\n\n### Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md). Issues and PRs welcome.\n\n### License\n\nMIT License — see [LICENSE](LICENSE) for details.\n\nCopyright (c) 2026 timetolivechk-spec\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimetolivechk-spec%2Fuzpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimetolivechk-spec%2Fuzpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimetolivechk-spec%2Fuzpp/lists"}