<HTML><BODY><a href="http://www.refcards.com/docs/vromansj/perl-best-practices/refguide.pdf" data-mce-href="http://www.refcards.com/docs/vromansj/perl-best-practices/refguide.pdf">http://www.refcards.com/docs/vromansj/perl-best-practices/refguide.pdf</a><br>пункты 122 и 113? ;)<br><br>Понедельник, 16 декабря 2013, 23:04 +04:00 от Иван Бессарабов <ivan@bessarabov.ru>:<br>
<blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">
        <div id="">
        



    






        

        
        
        
        
        

        



<div class="js-helper js-readmsg-msg">
        <style type="text/css"></style>
         
        <div id="style_13872207150000000797" class="mr_read__body">
                <base target="_self" href="https://e.mail.ru/">
                
                        <div id="style_13872207150000000797_BODY">Тут в соседнем треде ("вопрос юзерам Sublime Text") подняли очень интересную<br>
тему подсветки синтаксиса перла.<br>
<br>
Покажите, пожалуйста, скриншоты, как в вашем редакторе выглядит подсведка<br>
синтаксиса вот в таком скрипте: <a href="https://gist.github.com/bessarabov/7991901" target="_blank">https://gist.github.com/bessarabov/7991901</a><br>
<br>
У меня в vim это выглядит вот так:<br>
<a href="http://upload.bessarabov.ru/bessarabov/A57U8eZRPI7Cc9FQeWI58RBwavo.png" target="_blank">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" target="_blank">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" target="_blank">http://golang.org/ref/spec</a><br>
 * Python: <a href="http://inst.eecs.berkeley.edu/~cs164/fa11/python-grammar.html" target="_blank">http://inst.eecs.berkeley.edu/~cs164/fa11/python-grammar.html</a><br>
 * Java: <a href="http://cs.au.dk/~amoeller/dRegAut/JavaBNF.html" target="_blank">http://cs.au.dk/~amoeller/dRegAut/JavaBNF.html</a><br>
 * C: <a href="http://www.cs.man.ac.uk/~pjj/bnf/c_syntax.bnf" target="_blank">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" target="_blank">https://github.com/jwodder/jbobaf/blob/master/perl6/Gerna.bnf.pm6</a><br>
-- <br>
Moscow.pm mailing list<br>
<a href="sentmsg?compose&To=moscow%2dpm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div>
                        
                
                <base target="_self" href="https://e.mail.ru/">
        </div>

        
</div>


</div>
</blockquote>
<br>
<br>-- <br>Oleg Nurtdinov<br></BODY></HTML>