OberonCore https://forum.oberoncore.ru/ |
|
Константы типа REAL (требуется доработка документации) https://forum.oberoncore.ru/viewtopic.php?f=131&t=442 |
Страница 1 из 1 |
Автор: | Евгений Темиргалеев [ Четверг, 26 Апрель, 2007 17:02 ] |
Заголовок сообщения: | Константы типа REAL (требуется доработка документации) |
Одна студентка на лабораторной работе написала такой код: Код: PROCEDURE Решить*; который преспокойно компилировался.VAR R, a: INTEGER; BEGIN ... ASSERT(2R < a, 20); ... END Решить; В описании терминалов языка про такие конструкции ничего не сказано. Код: number = integer | real. integer = digit {digit} | digit {hexDigit} ( "H" | "L" ). real = digit {digit} "." {digit} [ScaleFactor]. ScaleFactor = "E" ["+" | "-"] digit {digit}. hexDigit = digit | "A" | "B" | "C" | "D" | "E" | "F". Методом научного тыка мы выяснили с Ермаковым, что суффикс R, делает константу вещественной: Код: VAR x: INTEGER; y: REAL;
... x := 2R; (* неверный тип *) y := 2R; (* OK *) |
Автор: | Trurl [ Четверг, 26 Апрель, 2007 17:13 ] |
Заголовок сообщения: | |
А знаете чему равно 20R? А есть ещё L и S. |
Автор: | Евгений Темиргалеев [ Четверг, 26 Апрель, 2007 17:17 ] |
Заголовок сообщения: | |
Смотрю DevCPS: Код: ELSIF ch = "R" THEN (* hex float 64bit *)
|
Автор: | Евгений Темиргалеев [ Четверг, 26 Апрель, 2007 17:19 ] |
Заголовок сообщения: | |
Насчет S: Код: IF tch = "S" THEN (* 32 bit hex float *)
|
Автор: | Евгений Темиргалеев [ Четверг, 26 Апрель, 2007 17:24 ] |
Заголовок сообщения: | |
Я подозреваю, что эти фичи могли использоваться для реализации Math/SMath. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |