From 644400c984e7e35ee42dcffd1098e24f8aa2f056 Mon Sep 17 00:00:00 2001 From: rexim Date: Fri, 29 Mar 2024 02:09:00 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D1=82=D1=8C=20=D0=B2?= =?UTF-8?q?=D0=BE=D0=BF=D1=80=D0=BE=D1=81=D0=B8=D1=82=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20=D0=B7=D0=BD=D0=B0=D0=BA=20=D0=B8=D0=B7=20?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=BC=D1=8B=20=D0=A0=D0=B0=D0=B2?= =?UTF-8?q?=D0=BD=D0=BE=D0=9B=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- исходники/лексика.rs | 2 +- модули/прелюдия.хуя | 2 +- примеры/03-имя.хуя | 2 +- примеры/04-физз-базз.хуя | 6 +++--- примеры/09-правило110.хуя | 2 +- примеры/10-игра-жизнь.хуя | 8 ++++---- тесты/тест.хуя | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/исходники/лексика.rs b/исходники/лексика.rs index 7d85e82..404808b 100644 --- a/исходники/лексика.rs +++ b/исходники/лексика.rs @@ -20,7 +20,7 @@ pub const ПРИСТАВКИ_ПРЕПИНАНИЙ: &[(&[char], ВидЛексе (&['-'], ВидЛексемы::Минус), (&['*'], ВидЛексемы::Звёздочка), (&['/'], ВидЛексемы::ПрямаяНаклонная), - (&['?', '='], ВидЛексемы::РавноЛи), + (&['='], ВидЛексемы::РавноЛи), (&['!', '='], ВидЛексемы::НеРавноЛи), (&['!'], ВидЛексемы::Не), ]; diff --git a/модули/прелюдия.хуя b/модули/прелюдия.хуя index 2a6e6d9..e97092b 100644 --- a/модули/прелюдия.хуя +++ b/модули/прелюдия.хуя @@ -4,7 +4,7 @@ // Хотя, мы тогда теряем возможность печатать строки в режиме интерпретации. про печать_нат(число: нат) нч - если число ?= 0нат нч + если число = 0нат нч печать(«0»); вернуть; кц diff --git a/примеры/03-имя.хуя b/примеры/03-имя.хуя index c05f854..e27f76e 100644 --- a/примеры/03-имя.хуя +++ b/примеры/03-имя.хуя @@ -11,7 +11,7 @@ пер длинна: нат := ввод(имя); // СДЕЛАТЬ: Логические операции с коротким замыканиям // Нужны ли они вообще? - если длинна +? 0нат то если имя(длинна-1нат) ?= 10нат как нат8 то длинна := длинна - 1нат; + если длинна +? 0нат то если имя(длинна-1нат) = 10нат как нат8 то длинна := длинна - 1нат; // СДЕЛАТЬ: Однобайтовые литералы 10нат8 печать(«Привет, », срез(имя, 0нат, длинна), «!\н»); кц diff --git a/примеры/04-физз-базз.хуя b/примеры/04-физз-базз.хуя index 0ae2e0c..dea7cb5 100644 --- a/примеры/04-физз-базз.хуя +++ b/примеры/04-физз-базз.хуя @@ -4,10 +4,10 @@ // СДЕЛАТЬ: объявление индексной переменной прямо в цикле // для пер счет := 1..100 нч для счет := 1..100 нч - если счет ост 15 ?= 0 то печать(«ФиззБазз\н»); + если счет ост 15 = 0 то печать(«ФиззБазз\н»); // СДЕЛАТЬ: подумать как сократить конструкцию «иначе то если» - иначе то если счет ост 3 ?= 0 то печать(«Физз\н»); - иначе то если счет ост 5 ?= 0 то печать(«Базз\н»); + иначе то если счет ост 3 = 0 то печать(«Физз\н»); + иначе то если счет ост 5 = 0 то печать(«Базз\н»); иначе то печать(счет, «\н»); кц кц diff --git a/примеры/09-правило110.хуя b/примеры/09-правило110.хуя index ec9d360..bf1f2b7 100644 --- a/примеры/09-правило110.хуя +++ b/примеры/09-правило110.хуя @@ -7,7 +7,7 @@ // СДЕЛАТЬ: передача массива по ссылке про печать_мира(мир: массив(РАЗМЕР, нат)) нч для индекс := 1..РАЗМЕР то - если мир(индекс - 1) ?= 0нат + если мир(индекс - 1) = 0нат то печать(«_»); иначе то печать(«%»); печать(«\н»); diff --git a/примеры/10-игра-жизнь.хуя b/примеры/10-игра-жизнь.хуя index 2664db1..e280efe 100644 --- a/примеры/10-игра-жизнь.хуя +++ b/примеры/10-игра-жизнь.хуя @@ -36,8 +36,8 @@ пер строка: цел := строка0 + дстр; пер столбец: цел := столбец0 + дстл; // СДЕЛАТЬ: Биноп для «меньше либо равно». - если (0 -? строка или строка ?= 0) и строка -? ВЫСОТА то - если (0 -? столбец или столбец ?= 0) и столбец -? ШИРИНА то + если (0 -? строка или строка = 0) и строка -? ВЫСОТА то + если (0 -? столбец или столбец = 0) и столбец -? ШИРИНА то если поле(строка)(столбец) то соседи := соседи + 1; кц вернуть соседи; @@ -48,8 +48,8 @@ для столбец := 1..ШИРИНА нч пер соседи: цел := подсчитать_соседей(строка - 1, столбец - 1); если поле(строка - 1)(столбец - 1) - то скрытое_поле(строка - 1)(столбец - 1) := соседи ?= 2 или соседи ?= 3; - иначе то скрытое_поле(строка - 1)(столбец - 1) := соседи ?= 3; + то скрытое_поле(строка - 1)(столбец - 1) := соседи = 2 или соседи = 3; + иначе то скрытое_поле(строка - 1)(столбец - 1) := соседи = 3; кц кц diff --git a/тесты/тест.хуя b/тесты/тест.хуя index 8509759..809601a 100644 --- a/тесты/тест.хуя +++ b/тесты/тест.хуя @@ -49,7 +49,7 @@ про главная() нч печать(«Печать чисел: », 0, «, », 69, «, », 1234567890, «\н»); - печать(«Печать логических: », 69 ?= 69, «, », 69 ?= 420, «\н»); + печать(«Печать логических: », 69 = 69, «, », 69 = 420, «\н»); печать(«Адрес строки: », адрес(«привет»), «\н»); тест_передачи_аргументов_функции(34нат, 35нат); тест_порядка_передачи_аргументов_функции(1нат, 2нат, 3нат, 4нат);