LINUX.ORG.RU
 
Bsd-un

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


0

0

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

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

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

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


[#]  

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

R.I.P.

***** ()
[#]  

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

R.I.P.

**** ()
[#]  
anonymous4

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

Помолчим...

()
[#]  
devl547

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

А как все хорошо начиналось...

**** ()
[#]  

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

Мда... жаль :(

** ()
[#]  
mironov_ivan

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

И что с того?

***** ()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от Karapuz 16.08.2009 20:36:11  

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

>Тем самым язык отправлен в заслуживаемую им нишу. Глубоко в анналы, так сказать

Хороший же язык был... Скрипты на нем быстро работают. За что вы его так не любите?

** ()
[#]  

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

Порадовала шутка про Perl

http://tech.slashdot.org/comments.pl?sid=1337483&cid=29077819 Where does Perl fit into all of this? Is that at night when the leather and chains come out?


Of course. What exactly did you think

use strict;

means?

**** ()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от dexpl 16.08.2009 20:53:53  
sergej

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

>> О, да, работают, быстро. Особенно однострочники, ага

регулярные выражения есть почти во всех языках

перл тут не причем - хороший язык.

Предсказываю флейм на десяток страниц. :)

***** ()
[#]  
arsi

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

> Формально доказана неразрешимость задачи статического синтаксического анализа Perl 5.

вот это «новость»…

man perlop

…
When presented with something that might have several different interpretations, Perl uses the
DWIM (that's "Do What I Mean") principle to pick the most probable interpretation.  This
strategy is so successful that Perl programmers often do not suspect the ambivalence of what
they write.  But from time to time, Perl's notions differ substantially from what the author
honestly meant.
…

**** ()
[#]  

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

Все на пейтон?

*** ()
[#]  
Shaman007

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

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

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

***** ()
[#]  
ZveN

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

Ну все, теперь бы его еще выпилить из дистрибутивов.

# ()
[#]  

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

Название, кстати, не совсем верное. Доказана невозможность статического парсинга, а не вообще парсинга.

Я даже не уверен, что такое свойство языка обязательно является недостатком.

***** ()
[#]  
hobbit

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

Перл жив и будет жить, пока есть его поклонники, особенно в части работы со строками.

***** ()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от Shaman007 16.08.2009 22:22:55  

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

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

*** ()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от anonymous_incognito 16.08.2009 22:25:10  
Gukl

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

> Я даже не уверен, что такое свойство языка обязательно является недостатком.

Я даже не уверен, что Перл в этом смысле уникален.

** ()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от Shaman007 16.08.2009 22:22:55  
dogbert

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

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

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

**** ()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от ZveN 16.08.2009 22:23:37  
anonymous4

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

>теперь бы его еще выпилить из дистрибутивов.

% sudo pacman -R perl
Пароль:
проверка зависимостей...
ошибка: не удалось подготовить запрос (не удалось удовлетворить зависимости)
:: automake: требует perl
:: cdrkit: требует perl
:: clamav: требует perl
:: colordiff: требует perl
:: colorgcc: требует perl
:: foomatic-db: требует perl
:: foomatic-db-engine: требует perl
:: foomatic-db-hpijs: требует perl
:: git: требует perl>=5.10.0
:: groff: требует perl
:: inkscape-nognome: требует perl
:: iproute2: требует perl
:: lm_sensors: требует perl
:: mysql: требует perl
:: openssl: требует perl
:: perl-error: требует perl>=5.10.0
:: perlxml: требует perl>=5.10.0
:: procinfo: требует perl
:: valgrind: требует perl

Дюже крепко он, сцобако, врос.

()
[#]  

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

Изменил заголовок. Потому что прежний заголовок фактически вводил в заблуждение.

***** ()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от Shaman007 16.08.2009 22:22:55  
fleet

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

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

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


()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от Gukl 16.08.2009 22:27:16  

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

> Я даже не уверен, что Перл в этом смысле уникален.

Я не знаю наверняка, но из-за наличия функции eval и макр таким свойством, по идее, должен обладать и Common Lisp.

***** ()
[#]  

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

Зато на нём картинки псевдографикой можно рисовать, которые потом становятся работающими программами.

***** ()
[#]  
Gukl

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

Заголовочек по ссылке: Perl Cannot Be Parsed: A Formal Proof _via Perl Monks_

Улыбайтесь, господа. С серьезными лицами в этом мире совершаются самые отвратительные вещи (например, изобретение Питона) :)

** ()
[#]  

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

Доигрались, любители эзотерики? :-)))

()
[#]  
guitarist

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

формальная верификация, адинадин пыщь-пыщь!

* ()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от dexpl 16.08.2009 20:53:53  

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

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

**** ()
[#]  

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

упоротая школота до смены заголовка решает. в биоректор идиотов. я посмотрю, как вы его выпилите из своих говнодистрибов

* ()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от Shaman007 16.08.2009 22:22:55  

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

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

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

()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от Pancerni 16.08.2009 22:30:18  

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

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

()
[#]  
Stiletto

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

Статья научно доказывает что перл ущербен и вообще не нужен. Спасибо, ЛОР давно этого ждал.

()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от KblCb 16.08.2009 22:38:52  
anonymous4

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

>Существует мнение, что это комплексы из-за того что подобную программу на питоне в одну строку не запишешь.

Ты так говоришь, как будто это плохо :)

()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от fleet 16.08.2009 22:28:22  

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

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

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

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

** ()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от anonymous4 16.08.2009 22:44:21  

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

>Ты так говоришь, как будто это плохо :)

Безусловно. Ъ-питон-хакеру нечем доказать окружающим что он Ъ. Потому он такой и злой.

**** ()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от mironov_ivan 16.08.2009 20:28:42  
env

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

>И что с того?

А ничего. На прикладном уровне это было ясно довольно давно, и при существующей единственной de facto стандартной реализации это вообще мало кого волнует.

Кому-то это повод получить научную степерь в CS, а лоровским дурачкам — выср^Hказаться в духе «R.I.P.» или «Доигрались, любители эзотерики?».

Есть мнение, что если немного изменить трактовку новости, можно от тех же дурачков добиться комментариев вроде «ура, опенсорц во все поля!», «perl жил, жив и будет жить».

Ну ты понел…

* ()
[#]  

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

Ща школьники поломятся переписывать , не разобравшись, серверные скрипты на ПуХоПе и настанет пингвинокапец.

()
[#]  

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

Ну и что, я как пользовался перлом как самым удобным скриптовым языком для решения многих задач, так буду пользоваться (и ржать над питонистами, которые пишут в 1,5 раза больше кода для тех же одноразовых скриптов). Если вам сложно понять его, то не пользуйтесь, юзайте простой и прямолинейный питон.

()
[#] Ответ на: Re: Доказана невозможность парсинга Perl 5 от KblCb 16.08.2009 22:50:25  
anonymous4

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

>Ъ-питон-хакеру нечем доказать окружающим что он Ъ. Потому он такой и злой.

Ъ-питон-хакеру не нужно никому ничего доказывать, в отличие от.

fixed.

()