<div> </div><div>UltraEdit </div><div><a href="http://clip2net.com/s/6p2QG6">http://clip2net.com/s/6p2QG6</a></div><div> </div><div>16.12.2013, 23:05, "Иван Бессарабов" <ivan@bessarabov.ru>:</div><blockquote type="cite"><p>Тут в соседнем треде ("вопрос юзерам Sublime Text") подняли очень интересную<br />тему подсветки синтаксиса перла.<br /><br />Покажите, пожалуйста, скриншоты, как в вашем редакторе выглядит подсведка<br />синтаксиса вот в таком скрипте: <a href="https://gist.github.com/bessarabov/7991901">https://gist.github.com/bessarabov/7991901</a><br /><br />У меня в vim это выглядит вот так:<br /><a href="http://upload.bessarabov.ru/bessarabov/A57U8eZRPI7Cc9FQeWI58RBwavo.png">http://upload.bessarabov.ru/bessarabov/A57U8eZRPI7Cc9FQeWI58RBwavo.png</a><br /><br />Vim ошибается с подсведкой во второй строчке этого кода:<br /><br />    say with_prototype    / 10 ; # /  ; die "this dies!";<br />    say without_prototype / 10 ; # /  ; die "this dies!";<br /><br />Этот код идентичен вот такому, но vim это не понимает:<br /><br />    say with_prototype()   / 10 ; # /  ; die "this dies!";<br />    say without_prototype( / 10 ; # / ); die "this dies!";<br /><br />У меня есть гипотеза что ни один редактор не отобразит эти строки правильно,<br />так как все редакторы парсят код как простой текст, и не используют перл для<br />разбора кода.<br /><br />Этот пример я увидел вот в этом посте на stackoverflow:<br /><a href="http://stackoverflow.com/questions/4625408/where-can-i-find-a-formal-grammar-for-the-perl-programming-language">http://stackoverflow.com/questions/4625408/where-can-i-find-a-formal-grammar-for-the-perl-programming-language</a><br /><br />Мне очень жаль что для языка Perl5 невозможно написать граматику. Была бы<br />грамматика перла и с его кодом было бы сильно удобнее работать. Можно было бы<br />и правильную подсведку сделать, и код приводить к стандартному виду (более<br />гибким и правильным инструментом чем ненавистный мне perltidy), и<br />автоматический рефакторинг делать.<br /><br />И я чуть-чуть завидую языкам для которых есть грамматики:<br /><br /> * Go: <a href="http://golang.org/ref/spec">http://golang.org/ref/spec</a><br /> * Python: <a href="http://inst.eecs.berkeley.edu/~cs164/fa11/python-grammar.html">http://inst.eecs.berkeley.edu/~cs164/fa11/python-grammar.html</a><br /> * Java: <a href="http://cs.au.dk/~amoeller/dRegAut/JavaBNF.html">http://cs.au.dk/~amoeller/dRegAut/JavaBNF.html</a><br /> * C: <a href="http://www.cs.man.ac.uk/~pjj/bnf/c_syntax.bnf">http://www.cs.man.ac.uk/~pjj/bnf/c_syntax.bnf</a><br /> * Perl6: <a href="https://github.com/jwodder/jbobaf/blob/master/perl6/Gerna.bnf.pm6">https://github.com/jwodder/jbobaf/blob/master/perl6/Gerna.bnf.pm6</a><br />-- <br />Moscow.pm mailing list<br /><a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org/">http://moscow.pm.org</a></p></blockquote><div> </div><div> </div><div>-- <br /> С Уважением, Login|off Nick или STork.</div>