From 4e56dbc7f823799622e488805b680d9cef37bb76 Mon Sep 17 00:00:00 2001 From: rexim Date: Sat, 6 Jan 2024 13:12:02 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D0=BD=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D1=8C=D1=8E=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D0=BF=D1=80=D0=B5?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D1=83=D0=B5=D0=BC=D0=B0=D1=8F=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=87=D0=B0=D1=82=D1=8C=5F=D1=87=D0=B8=D1=81=D0=BB=D0=B0()=20?= =?UTF-8?q?=D0=B8=D0=B7=20=D0=BF=D1=80=D0=B5=D0=BB=D1=8E=D0=B4=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- исходники/компилятор.rs | 5 +++-- прелюдия.хуя | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/исходники/компилятор.rs b/исходники/компилятор.rs index 932d048..3fe8172 100644 --- a/исходники/компилятор.rs +++ b/исходники/компилятор.rs @@ -438,8 +438,8 @@ fn скомпилировать_утвержление(пп: &mut ПП, имен return Err(()); } - let тип_значение = скомпилировать_выражение(пп, имена, параметры, значение)?; - проверить_типы(значение.лок(), &тип_элемента, &тип_значение)?; + let тип_значения = скомпилировать_выражение(пп, имена, параметры, значение)?; + проверить_типы(значение.лок(), &тип_элемента, &тип_значения)?; пп.заплатки_неиниц_указателей.push(пп.код.len()); пп.код.push(Инструкция{ вид: ВидИнструкции::ПротолкнутьУказатель(переменная.адрес), лок: имя.лок.clone() }); @@ -450,6 +450,7 @@ fn скомпилировать_утвержление(пп: &mut ПП, имен проверить_типы(&индекс.лок(), &Тип::Цел8, &тип_индекса)?; пп.код.push(Инструкция{ вид: ВидИнструкции::ПротолкнутьЦелое(тип_элемента.размер()), лок: имя.лок.clone() }); пп.код.push(Инструкция{ вид: ВидИнструкции::ЦелУмножение, лок: имя.лок.clone() }); + пп.код.push(Инструкция{ вид: ВидИнструкции::ЦелСложение, лок: имя.лок.clone() }); пп.код.push(Инструкция{ вид: ВидИнструкции::Записать8, лок: ключ.лок.clone() }); Ok(()) } diff --git a/прелюдия.хуя b/прелюдия.хуя index f38c147..b35f11e 100644 --- a/прелюдия.хуя +++ b/прелюдия.хуя @@ -26,4 +26,6 @@ печать(«\н»); печать_числа(69); печать(«\н»); + печать_числа(1234567890); + печать(«\н»); кц