OberonCore
https://forum.oberoncore.ru/

XDS/Oberon2 странности синтаксиса.
https://forum.oberoncore.ru/viewtopic.php?f=30&t=2640
Страница 1 из 1

Автор:  Alexey Veselovsky [ Четверг, 13 Май, 2010 15:32 ]
Заголовок сообщения:  XDS/Oberon2 странности синтаксиса.

Увидел вот такое вот в исходниках AGG:

Код:
  IF n <> 0 THEN


Если интересно, это файл AggMath.ob2 строка 252.
Это откуда вообще взялось и как работает?

Автор:  Димыч [ Четверг, 13 Май, 2010 17:19 ]
Заголовок сообщения:  Re: XDS/Oberon2 странности синтаксиса.

http://oberonrevival.sourceforge.net/docs/xds/html/isom202.html#6 и http://oberonrevival.sourceforge.net/docs/xds/html/isom205.html#438
Этот кусок получился на Модуле.
XDS поддерживает смешение языков внутри одного модуля.
Я старался следить за тем, чтобы везде было "#", но, видимо, проглядел :roll:

Должно быть IF n # 0 THEN …

Автор:  Alexey Veselovsky [ Четверг, 13 Май, 2010 19:18 ]
Заголовок сообщения:  Re: XDS/Oberon2 странности синтаксиса.

Димыч писал(а):
http://oberonrevival.sourceforge.net/docs/xds/html/isom202.html#6 и http://oberonrevival.sourceforge.net/docs/xds/html/isom205.html#438
Этот кусок получился на Модуле.
XDS поддерживает смешение языков внутри одного модуля.
Я старался следить за тем, чтобы везде было "#", но, видимо, проглядел :roll:

Должно быть IF n # 0 THEN …


Гм. Т.е. без директив и прочего? Потому как расширение у файла .ob2, директив компилятору нигде не дадено (более того, вначале модуля имеем <* +O2EXTENSIONS *>, что однозначно указывает на оберон).

Такое ощущение, что товарисчи из Excelsior'a взяли, да скрестили оберон с модулой, т.е. объединили их синтаксис. Интересно было бы посмотреть на этот EBNF :-)

Да, применение <> я также обнаружил в Minimal.ob2, AggRendererOutlineAA.ob2, AggRasterizerCellsAA.ob2.

В AggBasics.ob2 обнаружил функцию:
Код:
PROCEDURE agg_power*(base, exponent: double): double;
BEGIN
  RETURN base ** exponent;
END agg_power;

Зачем она нужна?

Также обнаружил горстку ассемблерных вставок в том же злополучном AggBasics.ob2. Без них совсем никак?

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/