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/ |