Perlito Perl 6

Perlito é uma implementação da linguagem de programação Perl 6.

O que o Perlito tem de especial?

  • - o seu programa em Perl 6 é compilado para a linguagem de sua escolha, seja Perl 5, Javascript, Python, Ruby ou várias outras opções.
  • - o compilador gera programas relativamente rápidos e eficientes. Executar no browser do seu "smartphone" não é um problema.
  • - Perlito não implementa todos os detalhes do Perl 6. Para rodar o Perl 6 completo, utilize uma versão "full" da linguagem. Perlito é um compilador pequeno, que implementa um "subconjunto útil" do Perl 6.
  • Perl6 em Javascript - Perlito no browser

    Esta página carregou a versão para Javascript do Perlito. Para utilizá-la, clique no botão "Execute" abaixo de cada exemplo.

    É possível editar os exemplos, experimente. Você certamente encontrará erros do compilador - este é um trabalho em desenvolvimento, e a implementação ainda tem alguns problemas.

    Exemplo: interpolação de string, comando "say"




    Exemplo: comando "for", estruturas de dados




    Exemplo: gramática e objeto "Match"




    Perl6 em Perl5 - Perlito no CPAN

    A distribuição do Perlito no CPAN se chama "v6". Para instalar:

        cpan install v6
    

    Com v6.pm instalado, é possível executar scripts com o perl 5 que você tem no seu computador:

        #!/usr/local/bin/perl
        use v6-perlito;
    
        "hello, world".say;
    

    Perlito shell

    A distribuição "v6" inclui o script "perlito", que permite a execução interativa:

        perlito
        >
        > my @v
        > @v = 1..4
        > say @v.perl
        [1, 2, 3, 4]
        > for @v { say "hello, $_" }
        hello, 1
        hello, 2
        hello, 3
        hello, 4
    

    Funcionamento do compilador

    O compilador consiste de uma gramática, como a que vimos no exemplo acima, que descreve as diversas estruturas da linguagem Perl 6. O resultado da gramática é um objeto que contém a "árvore de sintaxe abstrata" (AST) do script. A árvore de sintaxe é então percorrida por um gerador de código, que escreve o programa executável.

    Exemplo: clique no botão para ver a árvore de sintaxe




    Exemplo: clique no botão para gerar a árvore de sintaxe deste script




    A arquitetura do compilador Perlito é derivada do compilador "MiniPerl6", desenvolvido em 2006. O desenho abaixo mostra a relação entre os diversos componentes do MiniPerl6. O Perlito acrescenta a esta estrutura um parser de precedência.

    Mp6bootstrap

    Desenvolvimento do Perlito

    O compilador Perlito é a ferramenta que traduz o seu script para um formato em que possa ser executado: Javascript, Perl5, Python, Ruby, Lisp, ou binário ".exe", "elf" ou ".class".

    A versão completa do compilador está disponível no site github: http://github.com/fglock/Perlito

    As versões estáveis estão disponíveis em http://github.com/fglock/Perlito/downloads

    Distribuições

    v6.pm "Perl6 em Perl5" disponível no CPAN: http://search.cpan.org/dist/v6

    Perlito em Javascript: disponível em http://perlcabal.org/~fglock/perlito.js. Esta é a versão utilizada nos exemplos deste artigo.

    Autor

    Flávio S. Glock <fglock@gmail.com>