[SP-pm] Parse de Linguagens

Tiago Peczenyj tiago.peczenyj at gmail.com
Mon Oct 17 15:57:22 PDT 2011


Daniel

Sera que o modulo Regexp::Grammars te atende?

https://metacpan.org/module/Regexp::Grammars

2011/10/17 Daniel Vinciguerra <dan.vinciguerra at gmail.com>

> 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
>>
>>
>
> =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
>
>


-- 
Tiago B. Peczenyj
Linux User #405772

http://pacman.blog.br
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20111017/99906ad6/attachment-0001.html>


More information about the SaoPaulo-pm mailing list