[SP-pm] Parse de Linguagens

Daniel Vinciguerra dan.vinciguerra at gmail.com
Mon Oct 17 15:20:14 PDT 2011


Senhores, vamos ao contexto,

Minha solução sera uma app command-line, mais precisamente um framework para
parse de linguagem (de programação) e
onde possivelmente serão implementados plugins para o Padre e EPIC (sim
exite a possível e quase indispensavel necessidade
de um plugin para o Eclipse).

Necessidades básicas:
- parse de linguagem (Classes, tipos, blocos condicionais, etc...) [perl to
whatever]
- verificação da sintaxe.
- ler massivamente arquivos fonte para o parse.
- ler diretórios recursivamente para buscar pelos fontes.

Iniciei alguns testes usando o MooseX::Declare, e atendeu minhas
necessidades... #moose++

Acredito e tenho (quase!) certeza de que as vms perl6 atuais fazer esse
trabalho de forma satisfatória.
O que "não der" para fazer com perl6 (seja pela falta de suporta atual,
performance ou qualquer outro
problema), pode tranquilamente ser feito com a perl5 devido a arquitetura
que apresentei.

Este é o senário atual do projeto!

*
Daniel Vinciguerra*
Web Solutions Architect and Co-Owner at Bivee
http://github.com/dvinciguerra <http://github.com/dvinciguerra>


2011/10/17 Lindolfo Lorn Rodrigues <lorn at lornlab.org>

> Eu não ignorei:
>
> > Claro que eu não vou subir o sistema 100% em Perl 6, faria somente a
> parte
> > de analise semantica aproveitando o gancho do Vinceguerra em Perl 6 e o
> > resto em Perl 5.
>
> > Faça um teste basico, e rode um teste de stress para ver como se
> > comporta, talvez esteja mais que suficiente para resolver seu tipo de
> > problema.
>
>
>
> 2011/10/17 Daniel de Oliveira Mantovani <
> daniel.oliveira.mantovani at gmail.com>
>
>> Lorn++
>>
>> Concordo com você Lorn, mas independente disso não podemos ignorar,
>>
>> 18:34 < tadzik> it's slow and somewhat resource-heavy
>>
>>
>>
>> 2011/10/17 Lindolfo Lorn Rodrigues <lorn at lornlab.org>:
>> > Vou argumentar em cima disso aqui:
>> > 18:32 < PerlJam> mantovani: depending on what "production" means.
>> > No meu caso, produção significa ter um prototipo rodando o mais rapido
>> > possível.
>> > Eu não sei o tipo de aplicação que o o Vinciguerra está pensando em
>> fazer,
>> > mas analise de gramatica com Perl 6 eu achei muito
>> > fácil fazer e "aproveita" alguns conhecimentos que eu já tenho com Perl
>> 5
>> > Haskell é excelente para gramatica também, tanto é que temos uma
>> > implementação de Perl 6 em Haskell, mas eu não conheço tanto a linguagem
>> nem
>> > conseguiria fazer um prototipo em pouco tempo.
>> > Sim, eu sei que o Perl 6 não é estavel ainda mas lembro do fglock me
>> dizer
>> > em 2006/2007 que já tinha feitos uns prototipos rápidos em produção e
>> fez em
>> > Perl 6, também me lembro de ver a Audrey Tang dizendo que tinha coisa em
>> > produção a um tempão atrás, é obvio que estamos falando de
>> desenvolvedores
>> > da linguagem e muitos problemas eles poderiam concertar, mas meu ponto
>> não é
>> > esse.
>> > Meu ponto é se para eu ter um prototipo em produção o mais rápido
>> possivel
>> > preciso usar uma coisa que está em beta, mas resolve meu problema por
>> agora,
>> > qual o problema?
>> > Claro que eu não vou subir o sistema 100% em Perl 6, faria somente a
>> parte
>> > de analise semantica aproveitando o gancho do Vinceguerra em Perl 6 e o
>> > resto em Perl 5.
>> > E abaixo a resposta que eu dei para o Carlos Costa:
>> >      Achei um bom post sobre isso, inclusive com comentarios do
>> chromatic:
>> > http://ttjjss.wordpress.com/2011/08/24/what-is-production-ready/
>> >      A ideia que é passada que não está totalmente pronto para produção,
>> mas
>> > na minha singela opnião está, principalmente com essas facilidades do
>> > grammar que você precisa usar.
>> >      Faça um teste basico, e rode um teste de stress para ver como se
>> > comporta, talvez esteja mais que suficiente para resolver seu tipo de
>> > problema.
>> >
>> >
>> > 2011/10/17 Daniel de Oliveira Mantovani
>> > <daniel.oliveira.mantovani at gmail.com>
>> >>
>> >> 2011/10/17 Lindolfo Lorn Rodrigues <lorn at lornlab.org>:
>> >> > Opa, Perl 6 já tá pronto pra produção sim o http://rakudo.org/ é uma
>> >> > implementação bem estável use ela :)
>> >>
>> >> Lorn de onde você tirou que o Rakudo está pronto para produção ?
>> >>
>> >> *O Rakudo não está pronto para produção, não utilizem Perl 6 como
>> >> produto na empresa de vocês!*
>> >>
>> >> irc.freenode.org #perl6 (para quem não sabe é o canal oficial do
>> >> desenvolvimento do Perl 6 )
>> >> 18:31 < mantovani> hi
>> >> 18:31 < mantovani> rakudo is already for production ?
>> >> 18:32 < PerlJam> mantovani: depending on what "production" means.
>> >> 18:32 < mantovani> means, developt the main software of my company
>> >> 18:32 < japhb_> lunch &
>> >> 18:33 < mantovani> PerlJam: serving a lot of people
>> >> 18:33 < PerlJam> mantovani: at a guess, I'd say "no"
>> >> 18:33 < mantovani> can you say why please ?
>> >> 18:34 < sjohnson> mantovani: it's not fully ready yet, would be my
>> guess.
>> >> 18:34 < tadzik> it's slow and somewhat resource-heavy
>> >> 18:34 < PerlJam> mantovani: Check out
>> >> http://perl6.org/compilers/features.html though
>> >> 18:34 < mantovani> thank you very much it is enough
>> >> 18:35 < masak> mantovani: rakudo can do a *lot* of things. however,
>> >> Perl 5 is more stable, has more modules, is faster, and has a bigger
>> >> user base.
>> >>
>> >> Repito, não usem de maneira nenhuma Perl6 independente da
>> >> implementação em produção ainda não está pronto. O máximo que eu
>> >> aconselho a fazer é usar para coisas "pequenas".
>> >>
>> >> >
>> >> > 2011/10/17 Daniel Vinciguerra <dan.vinciguerra at gmail.com>
>> >> >>
>> >> >> Opaaaa,
>> >> >> Valew pessoal... vou dar uma olhada nesse módulo, mas me
>> >> >> interessei/empolguei por escrever o projeto em Perl 6 hehehe.
>> >> >>
>> >> >> Vou analisar a viabilidade disso, mesmo sabendo que as VMs não são
>> >> >> production ready. =D
>> >> >> Forte abraço e obrigado =)
>> >> >>
>> >> >> Daniel Vinciguerra
>> >> >> Web Solutions Architect and Co-Owner at Bivee
>> >> >> http://github.com/dvinciguerra
>> >> >>
>> >> >>
>> >> >> 2011/10/17 Carlos Costa <crncosta at gmail.com>
>> >> >>>
>> >> >>> Daniel,
>> >> >>>
>> >> >>> Dá uma olhada no módulo -> Parse::RecDescent - Generate
>> >> >>> Recursive-Descent
>> >> >>> Parsers
>> >> >>> https://metacpan.org/module/Parse::RecDescent
>> >> >>>
>> >> >>> já vem com analisador léxico, traz um parser capaz de fazer
>> lookahead
>> >> >>> e,
>> >> >>> mais importante: o runtime não depende de outros módulos.
>> >> >>>
>> >> >>> [ ]s
>> >> >>> Carlos.
>> >> >>>
>> >> >>>
>> >> >>> 2011/10/17 Daniel Vinciguerra <dan.vinciguerra at gmail.com>
>> >> >>>>
>> >> >>>> Bom dia senhores,
>> >> >>>> Iniciei um projeto a pouco e um dos requisitos é que eu deveria
>> fazer
>> >> >>>> parse de de uma linguagem
>> >> >>>> de programação. A ideia é criar uma espécie de syntax validator...
>> >> >>>> Como não tenho experiencia com isso pensei em perguntar para ver
>> >> >>>> se alguém tem alguma dica
>> >> >>>> ou um módulo que eu pudesse usar.
>> >> >>>>
>> >> >>>> Forte abraço a todos,
>> >> >>>>
>> >> >>>> Daniel Vinciguerra
>> >> >>>> Web Solutions Architect and Co-Owner at Bivee
>> >> >>>> http://github.com/dvinciguerra
>> >> >>>>
>> >> >>>> =begin disclaimer
>> >> >>>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> >> >>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>> >> >>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> >> >>>> =end disclaimer
>> >> >>>>
>> >> >>>
>> >> >>>
>> >> >>> =begin disclaimer
>> >> >>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> >> >>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>> >> >>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> >> >>> =end disclaimer
>> >> >>>
>> >> >>
>> >> >>
>> >> >> =begin disclaimer
>> >> >>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> >> >>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>> >> >>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> >> >> =end disclaimer
>> >> >>
>> >> >
>> >> >
>> >> > =begin disclaimer
>> >> >   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> >> >  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>> >> >  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> >> > =end disclaimer
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> "If you’ve never written anything thoughtful, then you’ve never had
>> >> any difficult, important, or interesting thoughts. That’s the secret:
>> >> people who don’t write, are people who don’t think."
>> >> =begin disclaimer
>> >>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> >>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>> >>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> >> =end disclaimer
>> >
>> >
>> > =begin disclaimer
>> >   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> >  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>> >  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> > =end disclaimer
>> >
>> >
>>
>>
>>
>> --
>> "If you’ve never written anything thoughtful, then you’ve never had
>> any difficult, important, or interesting thoughts. That’s the secret:
>> people who don’t write, are people who don’t think."
>> =begin disclaimer
>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>
>
> =begin disclaimer
>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20111017/e3229f17/attachment-0001.html>


More information about the SaoPaulo-pm mailing list