DRAKON.SU
https://forum.drakon.su/

Проблема "Dangling else" и язык ДРАКОН
https://forum.drakon.su/viewtopic.php?f=147&t=5001
Страница 1 из 1

Автор:  Владимир Паронджанов [ Воскресенье, 23 Февраль, 2014 17:19 ]
Заголовок сообщения:  Проблема "Dangling else" и язык ДРАКОН

Каверзная задача для профессиональных программистов

1. В английской Википедии есть статья Dangling else. В русской Википедии про это никто не додумался (а жаль).
Более того, никто в мире (кроме англичан, немцев, поляков, французов, чехов) до этого не добрались (в том смысле, что не написали в Википедию). Нехорошо, конечно, но факт есть факт.

2. Что такое Dangling else? Как это перевести на русский, я не знаю. То ли висячий else, то ли висящий else.

3. А теперь главное:
Цитата:
The dangling else problem dates to ALGOL 60,[2] and has been resolved in various ways in subsequent languages. In LR parsers, the dangling else is the archetypal example of a shift-reduce conflict.
Дальше читайте английский оригинал Dangling else.

4. Мне кажется, что ДРАКОН эту проблему уничтожает полностью. В том смысле, что если бы программисты всего мира использовали только дракон (предположим такое чудо), то эта проблема исчезла бы с лица земли.
Или я ошибаюсь? Как Вы думаете?

5. Желательно дать ответ не на словах, а проиллюстрировать его с помощью кода и дракон-схем.

Автор:  Илья Ермаков [ Понедельник, 24 Февраль, 2014 08:38 ]
Заголовок сообщения:  Re: Проблема "Dangling else" и язык ДРАКОН

В современном синтаксисе Модулы-Оберона-Ады и некоторых других языков этой проблемы нет,
т.к. вместо if begin end else begin end используется вариант с обязательным END без BEGIN:

IF THEN ... ELSE ... END

В таком варианте синтаксиса путаница "к чему относится ELSE, просто невозможна.

В Драконе она, естественно, так же невозможна.

Автор:  Роман М. [ Понедельник, 24 Февраль, 2014 15:59 ]
Заголовок сообщения:  Re: Проблема "Dangling else" и язык ДРАКОН

Владимир Паронджанов писал(а):
2. Что такое Dangling else? Как это перевести на русский, я не знаю. То ли висячий else, то ли висящий else.
Наверно, по сходству с "висячими указателями", "Висячее ИНАЧЕ" или "Висячая ветвь ИНАЧЕ"?

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