Полностью интерпретируемая печать_числа() из прелюдии

This commit is contained in:
rexim 2024-01-06 13:12:02 +07:00
parent d634ffa76e
commit 4e56dbc7f8
2 changed files with 5 additions and 2 deletions

View File

@ -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(())
}

View File

@ -26,4 +26,6 @@
печать(«\н»);
печать_числа(69);
печать(«\н»);
печать_числа(1234567890);
печать(«\н»);
кц