Автор Тема: Oberon-07/2012  (Прочитано 21620 раз)

Губанов Сергей Юрьевич

  • Hero Member
  • *****
  • Сообщений: 590
    • Просмотр профиля
    • Домашняя страница
Re: Oberon-07/2012
« Ответ #45 : Август 19, 2012, 03:09:46 pm »
В Обероне побитовые логические операции с целыми числами запрещены. Когда они необходимы, предлагается делать явное приведение целого числа к SET, а затем обратно. Поэтому, каждому типу целого должен соответствовать его двойник: SET8, SET16, SET32, SET64.

alexus

  • Гость
Re: Oberon-07/2012
« Ответ #46 : Август 19, 2012, 04:12:26 pm »
В Обероне побитовые логические операции с целыми числами запрещены. Когда они необходимы, предлагается делать явное приведение целого числа к SET, а затем обратно. Поэтому, каждому типу целого должен соответствовать его двойник: SET8, SET16, SET32, SET64.
Ну, это уже... безобразие... Чур меня... от такой "опеки".

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Oberon-07/2012
« Ответ #47 : Август 19, 2012, 04:38:02 pm »
PS. У меня ощущение, что по мере натягивания Оберона на реальный мир (по крайней мере микроконтроллеров с условием безопасной переносимости) постепенно получится AdaLite :-)

Когда компиляторы Ады ещё только начинали появляться, фирма Tartan сделала компилятор для подобного AdaLite, однако потом всё же довела до стандарта Ады...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля
Re: Oberon-07/2012
« Ответ #48 : Август 22, 2012, 09:26:49 am »
Я специально посмотрел исходники Виртовского компилятора старого Оберона. В определении языка был только INTEGER, а в компиляторе были реализованы и SHORTINT и LONGINT.
В общем нет проблемы.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Oberon-07/2012
« Ответ #49 : Август 22, 2012, 09:30:45 am »
Я специально посмотрел исходники Виртовского компилятора старого Оберона. В определении языка был только INTEGER, а в компиляторе были реализованы и SHORTINT и LONGINT.
В общем нет проблемы.
В Виртовском компиляторе старого Оберона было полно расширизмов :-)

Да, и проблемы действительно нет, если наплевать на сообщение о языке.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля
Re: Oberon-07/2012
« Ответ #50 : Август 22, 2012, 09:40:26 am »
)
Да, и проблемы действительно нет, если наплевать на сообщение о языке.
Так если он сам плюнул ... )))

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Oberon-07/2012
« Ответ #51 : Август 22, 2012, 09:41:57 am »
)
Да, и проблемы действительно нет, если наплевать на сообщение о языке.
Так если он сам плюнул ... )))
Предлагаю не уподобляться Вирту :-)
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Oberon-07/2012
« Ответ #52 : Август 22, 2012, 03:25:16 pm »
Я специально посмотрел исходники Виртовского компилятора старого Оберона. В определении языка был только INTEGER, а в компиляторе были реализованы и SHORTINT и LONGINT.
В общем нет проблемы.

Так, народ. Я беру свои слова обратно. У Вирта в компиляторе все верно и он на свой же репорт не плевал. Вот Oberon report тот самый, первый (89/90): http://www.inf.ethz.ch/personal/wirth/Articles/Oberon/Oberon.Report.pdf

И там это все есть.

Такое ощущение, что в Обероне-07 и последующих Вирт пытается максимально сократить число типов (иногда откатываясь назад).
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля
Re: Oberon-07/2012
« Ответ #53 : Август 22, 2012, 04:02:48 pm »
Так я и говорю
Oberon-07 := LONG ( Oberon-0 );
)))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Oberon-07/2012
« Ответ #54 : Декабрь 13, 2012, 05:18:13 pm »
MODULE Test;
    IMPORT Out;

BEGIN
    Out.WriteLn("Hello, 世界, Привет!")
END Test.
А теперь представим себе что у нас есть единая среда исполнения и два компилятора с единым парсером но разными лексерами. Один лексер ожидает множество символов Latin-1, а другой лексер ожидает UTF-8. И мы им скармливаем этот пример. Как думаешь, что будет? :-)

А что будет в данном случае? Лексеру в данном случае должно быть пофиг.  Какая ему разница что этими байтами закодировано?