OberonCore
https://forum.oberoncore.ru/

FOR ident... или FOR Qualident...?
https://forum.oberoncore.ru/viewtopic.php?f=61&t=935
Страница 1 из 1

Автор:  Сергей Губанов [ Четверг, 03 Апрель, 2008 16:07 ]
Заголовок сообщения:  FOR ident... или FOR Qualident...?

В сообщении языка Component Pascal для цикла FOR написано:
Код:
   ForStatement =
      FOR ident ":=" Expression TO Expression [BY ConstExpression]
      DO StatementSequence END.

Но фактически, компилятор BlackBox разрешает FOR Qualident...
Что считать за эталон определения FOR: с ident или с Qualident?

Автор:  Valery Solovey [ Четверг, 03 Апрель, 2008 17:46 ]
Заголовок сообщения:  Re: FOR ident... или FOR Qualident...?

не то

Автор:  Valery Solovey [ Четверг, 03 Апрель, 2008 18:03 ]
Заголовок сообщения:  Re: FOR ident... или FOR Qualident...?

не то

Автор:  Александр Ильин [ Четверг, 03 Апрель, 2008 18:06 ]
Заголовок сообщения:  Re: FOR ident... или FOR Qualident...?

Сергей Губанов писал(а):
Что считать за эталон определения FOR: с ident или с Qualident?

Я считаю, что Qualident, ошибка в сообщении. Ещё в Оберон-2 цикл FOR объявлен как синтаксически подслащённый WHILE, значит от WHILE и надо было бы плясать.
В реализации ETH Oberon тоже допускается Qualident, хотя в Oberon-2 Report указано ident, так что ошибка тянется издавна.

Автор:  Александр Ильин [ Четверг, 03 Апрель, 2008 18:07 ]
Заголовок сообщения:  Re: FOR ident... или FOR Qualident...?

Valery Solovey писал(а):
Хотя, и вправду, не всё подходит.

Валерий, смотрите слева от знака присваивания.

Автор:  Geniepro [ Четверг, 03 Апрель, 2008 18:11 ]
Заголовок сообщения:  Re: FOR ident... или FOR Qualident...?

То есть блэкбоксовый компилятор Компонентного Паскаля не соответствует описанию языка?
Да уж, хоть описание языка занимает куда меньше тысячи страниц, но и его реализовать не так просто, оказывается... :о)
Кто там говорил о легендарном качестве и надёжности компиляторов оберонов?... :о)) Видно мало его тестировали... :о))

Автор:  Борис Рюмшин [ Четверг, 03 Апрель, 2008 22:08 ]
Заголовок сообщения:  Re: FOR ident... или FOR Qualident...?

Geniepro писал(а):
Кто там говорил о легендарном качестве и надёжности компиляторов оберонов?... :о))

Успокойтесь Евгений, в классическом Обероне нет цикла FOR.

Автор:  Trurl [ Пятница, 04 Апрель, 2008 07:59 ]
Заголовок сообщения:  Re: FOR ident... или FOR Qualident...?

Сергей Губанов писал(а):
Но фактически, компилятор BlackBox разрешает FOR Qualident...

У меня не разрешает.
Код:
VAR r:RECORD i: INTEGER END;
...
FOR [68]r.i := 0 TO 5 DO END;

[68]control variable must be integer

Автор:  Евгений Темиргалеев [ Пятница, 04 Апрель, 2008 08:47 ]
Заголовок сообщения:  Re: FOR ident... или FOR Qualident...?

Но он должен разрешать глобальные переменные своего модуля. Аналогично он может разрешать эксп-е глобальные переменные другого модуля, к которым мы обр-ся через Qualident.
Кстати в Вашем примере исп-ся
Код:
Designator    =   Qualident {"." ident | "[" ExprList "]" | " ^ " | "(" Qualident ")"
      | "(" [ExprList] ")"} [ "$" ].

Автор:  Сергей Губанов [ Пятница, 04 Апрель, 2008 09:38 ]
Заголовок сообщения:  Re: FOR ident... или FOR Qualident...?

Trurl писал(а):
У меня не разрешает.

У вас Designator, а не Qualident.

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