# Словарь языка Лексика

Словарь собран из самого движка: запустите `python3 лексика/собрать_словарь.lek`, и файл обновится.

Ключевое слово узнаётся **по начальной форме**, поэтому `сказать`, `скажи`, `сказал`, `скажет` — одно слово языка. Обычные имена движок склоняет сам, и они узнаются в любом падеже: `сумма`, `суммы`, `сумме`, `сумму`, `суммой`.

## Объявление и присваивание

| слово | узнаётся как | что значит |
|---|---|---|
| **пусть** | заведи, завести, объяви, объявить, пускай, пусть | завести имя: «пусть счёт равно нулю» |
| **равно** | означает, равен, равна, равно, равны, равняется | связка имени и значения, а также сравнение «равно» |
| **положить** | кладу, кладём, кладёт, класть, положи, положит, положить … | положить значение во имя: «положить пять в сумму» |
| **увеличить** | нарасти, нарастить, увеличивает, увеличить, увеличь | прибавить к имени: «увеличить счёт на два» |
| **уменьшить** | срежь, срезать, уменьшает, уменьши, уменьшить | отнять от имени: «уменьшить счёт на два» |
| **прибавить** | дополни, дополнить, прибавить, прибавляет, прибавь | прибавить к имени, дополнение в дательном падеже |
| **отнять** | вычесть, вычти, отнимает, отними, отнять | отнять от имени, дополнение в родительном падеже |
| **умножить** | умножает, умножить, умножь | умножить имя на значение, а также знак умножения |
| **разделить** | делит, подели, поделить, раздели, разделить | разделить имя на значение, а также знак деления |

## Ветвление и циклы

| слово | узнаётся как | что значит |
|---|---|---|
| **если** | ежели, если, когда, коли | начало ветвления, условие стоит до слова «то» |
| **то** | то, тогда | отделяет условие от действий ветвления |
| **иначе** | иначе, иное, наоборот | ветвь, которая срабатывает при ложном условии |
| **конец** | все, всё, завершение, конец, край | закрывает составной замысел |
| **пока** | дотоле, пока, покуда | цикл с условием: «пока счёт меньше трёх повторять» |
| **повторять** | выполняй, выполнять, делай, делать, крути, крутить, повторяй … | слово-открытие тела цикла |
| **раз** | раз, раза, разов, разом | счётчик повторов: «повторить три раза» |
| **для** | для | начало перебора: «для каждого предмета из перечня» |
| **каждый** | каждая, каждого, каждое, каждом, каждому, каждую, каждые … | слово перебора |
| **прервать** | бросить, брось, выйди, выйти, останови, остановить, прервать … | выйти из ближайшего цикла |
| **продолжить** | далее, дальше, миновать, минуй, продолжи, продолжить, пропусти … | перейти к следующему витку цикла |

## Подпрограммы и словари правил

| слово | узнаётся как | что значит |
|---|---|---|
| **правило** | действие, действия, поведение, правила, правило, правилу, процедура … | объявление подпрограммы: «правило сумма принимает а, б» |
| **принимает** | берет, берёт, ждет, ждёт, получает, принимает, принимают … | вводит список имён, которые принимает правило |
| **вернуть** | верни, вернуть, возврати, возвратить, воздать, ответить, ответь … | вернуть значение из правила |
| **позвать** | вызвать, вызови, запусти, запустить, исполни, исполнить, позвать … | вызвать правило как отдельное действие |
| **подключить** | импортировать, импортируй, использовать, используй, подключи, подключить, привлеки … | подключить словарь правил из библиотеки |

## Речь и значения

| слово | узнаётся как | что значит |
|---|---|---|
| **сказать** | выведет, выведи, вывести, говори, говорить, молви, молвить … | вывести значение в поток речи |
| **спросить** | введи, ввести, вопроси, вопросить, спрашивай, спрашивать, спроси … | спросить у человека строку и записать в имя |
| **речь** | речь | открывает строку, закрывается словами «конец речи» |
| **истина** | верно, да, истина, истинно, истинный, правда | логическая правда |
| **ложь** | кривда, ложно, ложный, ложь, неправда, нет | логическая ложь |
| **ничто** | ничего, ничто, пусто, пустое, пустота | пустое значение |

## Знаки действий

| слово | узнаётся как | что значит |
|---|---|---|
| **и** | и | логическое «и», а также склейка перечней |
| **или** | или, либо | логическое «или» |
| **не** | не, ни | логическое отрицание |
| **плюс** | плюс, плюсуй | сложение чисел или склейка речей |
| **минус** | минус | вычитание, а также знак отрицательного числа |
| **больше** | более, больше, больший, превышает | сравнение «больше» |
| **меньше** | менее, меньше, меньший | сравнение «меньше» |
| **содержит** | включает, вмещает, заключает, содержат, содержит | проверка, есть ли значение внутри перечня, словаря или речи |
| **остаток** | остатка, остатком, остаток | остаток от деления |

## Перечни и словари

| слово | узнаётся как | что значит |
|---|---|---|
| **длина** | длина, длиной, длину, размер, размером | длина перечня, словаря или речи, имя в родительном падеже |
| **взять** | бери, брать, взять, возьми | взять элемент перечня по номеру: «взять из перечня два» |
| **добавить** | вставить, вставь, добавить, добавь, приложи, приложить | добавить значение в перечень: «добавить в перечень предмет» |
| **убрать** | выброси, выбросить, вырежь, вырезать, убери, убрать, удали … | убрать элемент перечня по номеру |
| **записать** | вписать, впиши, записать, запиши | записать значение в словарь по ключу |
| **прочитать** | отыскать, отыщи, прочитай, прочитать, читай, читать | прочитать значение из словаря по ключу |
| **ключи** | ключам, ключами, ключей, ключи | перечень ключей словаря |

## Знаки письма

| слово | узнаётся как | что значит |
|---|---|---|
| **заметка** | заметка, заметку, комментарием, комментарий, пояснение, примечание | примечание до конца строки, движок его пропускает |

## Встроенные команды с падежным управлением

Команда сама указывает, в каком падеже стоит имя.

| команда | образец | что делает |
|---|---|---|
| **взять** | `пусть первый равно взять из перечня ноль.` | Берёт элемент перечня по номеру. Нумерация с нуля. |
| **длина** | `если длина перечня больше трёх то ... конец если.` | Длина речи или перечня. Имя ставится в родительный падеж. |
| **добавить** | `добавить в покупки молоко.` | Добавляет значение в конец перечня. |
| **записать** | `записать в цены по ключу хлеб сорок.` | Пишет значение в словарь по ключу. |
| **прочитать** | `пусть цена равно прочитать из цен по ключу хлеб.` | Читает значение из словаря по ключу. |
| **убрать** | `убрать из покупок ноль.` | Убирает элемент перечня по номеру. |

## Встроенные функции

Функции узнаются по скобке после слова, поэтому имя переменной может совпадать с их именем.

| запись | что делает |
|---|---|
| `буквы(речь)` | Разбивает речь на отдельные буквы. |
| `время()` | Текущее время в виде речи. |
| `ключи(словарь)` | Перечень всех ключей словаря. |
| `корень(значение)` | Квадратный корень числа. |
| `модуль(значение)` | Модуль числа, то есть значение без знака. |
| `молча(значение)` | Возвращает значение, ничего не делая — для отладки. |
| `округлить(значение)` | Округляет дробное число до целого. |
| `остаток(делимое, делитель)` | Остаток от деления одного числа на другое. |
| `перечень()` | Создаёт перечень. Пустые скобки — пустой перечень. |
| `словарь()` | Создаёт пустой словарь (толкователь). |
| `случайное(от, до)` | Случайное целое число в указанных пределах. |
| `строка(значение)` | Превращает число или иное значение в речь. |
| `целое(значение)` | Отбрасывает дробную часть числа. |
| `число(значение)` | Превращает речь в число. |

## Предлоги и падежи

| предлог | падеж |
|---|---|
| без | родительный |
| в | винительный |
| во | винительный |
| для | родительный |
| до | родительный |
| из | родительный |
| изо | родительный |
| к | дательный |
| ко | дательный |
| на | винительный |
| над | творительный |
| о | предложный |
| об | предложный |
| обо | предложный |
| от | родительный |
| ото | родительный |
| по | дательный |
| под | творительный |
| при | предложный |
| с | творительный |
| со | творительный |

Всего словоформ в служебной части словаря: **266**.
