mowascript
Version:
MowaScript language implementation
116 lines (95 loc) • 6.53 kB
Markdown
[[🌀Interslavic](../../02_syntax.md) · [🇺🇸 English](../en/02_syntax.md)]
# Синтаксис і граматика
MowaJS — це мова, побудована на основі JavaScript, але з адаптованим синтаксисом слов’янськими мовами. Код компілюється у звичайний JavaScript, зберігаючи повну сумісність із екосистемою JS.
---
Це таблиця ключових слів JavaScript з відповідниками на українській, білоруській, російській та міжслав’янській мовах. Вона може бути використана для створення MowaJS — транспайлера, який підтримує слов’янський синтаксис.
| JavaScript | Українська | Беларуская | Русский | 🌐 Міжслав’янська (Interslavic) |
|------------|-----------------|---------------|--------------|---------------------------------|
| `if` | `якщо` | `калі` | `если` | `ako` |
| `else` | `інакше` | `іначай` | `иначе` | `inako` |
| `else if` | `інакше якщо` | `іначай калі` | `иначе если` | `inako ako` |
| `switch` | `вибір` | `выбар` | `когда` | `izbor` |
| `case` | `випадок` | `выпадак` | `случай` | `slucaj` |
| `default` | `типово` | `тыпова` | `типово` | `inace` |
| `break` | `зупини` | `спыні` | `заверши` | `konec` |
| `for` | `для` | `для` | `для` | `dla` |
| `while` | `поки` | `пакуль` | `пока` | `poka` |
| `do` | `роби` | `рабіць` | `делай` | `delaj` |
| `continue` | `продовж` | `працягнуць` | `продолжи` | `prodolzi` |
| `function` | `функція` | `функцыя` | `функция` | `funkcija` |
| `return` | `поверни` | `вярнуць` | `верни` | `vrati` |
| `let` | `нехай` / `хай` | `хай` | `пусть` | `nehaj` |
| `const` | `конст` | `канст` | `конст` | `konst` |
| `var` | `мур` | `мур` | `переменная` | `mur` |
## 📦 Базова структура
MowaJS підтримує класичні конструкції мов програмування:
- Змінні: `нехай`, `канст`, `пусть`, `let`, `mur`
- Умови: `якщо`, `if`, `если`, `ako`, `калі`
- Цикли: `для`, `поки`, `дла`, `пакуль`, `while`
- Функції: `функція`, `функция`, `funkcija`, `функцыя`
- Класи: `клас`, `class`, `класс`, `klasa`
- Логіка: `і`, `або`, `не`, `&&`, `||`, `!`
- Повертання: `поверни`, `верни`, `vrati`, `вярнуць`
---
## 📚 Ключові слова на різних мовах
| JS | Українська | Беларуская | Русский | 🌍 Інтерславянський |
|----------------|----------------|----------------|-------------|----------------------|
| `var` | `мур` | — | `переменная`| `mur` |
| `let` | `нехай` | — | `пусть` | `nehaj` |
| `const` | `конст` | `канст` | `конст` | `konst` |
| `if` | `якщо` | `калі` | `если` | `ako` |
| `else` | `інакше` | `іначай` | `иначе` | `inako` |
| `while` | `поки` | `пакуль` | `пока` | `poka` |
| `for` | `для` | `для` | `для` | `dla` |
| `function` | `функція` | `функцыя` | `функция` | `funkcija` |
| `return` | `поверни` | `вярнуць` | `верни` | `vrati` |
| `break` | `зупини` | `спыніць` | `останови` | `prekrati` |
| `continue` | `продовж` | `працягнуць` | `продолжи` | `prodolzi` |
| `console.log` | `кажи` | `скажы` | `лог` | `govori` |
| `true` | `правда` | `праўда` | `истина` | `istina` |
| `false` | `брехня` | `хлусня` | `ложь` | `loz` |
| `null` | `нічого` | `нічога` | `ничего` | `nicto` |
| `this` | `це` | `гэта` | `это` | `se` |
---
## 🧠 Комбінування діалектів
У MowaJS можна:
- обрати один синтаксис для всього проєкту;
- або комбінувати їх між собою;
- створити кастомний словник, якщо потрібно.
**Наприклад:**
```js
funkcija privit() {
якщо (правда) {
govori("Привіт із різних світів!");
}
}
якщо (бал > 90) {
кажи("Відмінно!");
} інакше {
скажы("Можна краще");
}
```
**🔁 Приклади циклів:**
````
для (нехай i = 0; i < 5; i++) {
govori(i);
}
пакуль (число > 0) {
лог(число);
число = число - 1;
}
````
**🔁 Структури:**
Масиви:
````
нехай числа = [1, 2, 3];
govori(числа.довжина);
````
Об’єкти:
````
нехай користувач = {
імʼя: "Оля",
вік: 22
};
govori(користувач.імʼя);
````