Marpa.

Analise qualquer idioma que você possa descrever no BNF
Baixe Agora

Marpa. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Jeffrey Kegler
  • Site do editor:
  • http://search.cpan.org/~jkegl/

Marpa. Tag


Marpa. Descrição

Analise qualquer idioma que você possa descrever no BNF O Marpa é um módulo Perl que analisa qualquer idioma cuja gramática possa ser escrita em BNF. Isso inclui gramáticas recursivas, gramáticas ambíguas, gramáticas infinitamente ambíguas e gramáticas com produções inúteis ou vazias.Este documento contém uma visão geral de nível superior da API para o motor Parse Marpa. Os dois exemplos na sinopse mostram o fluxo típico de chamadas na API da Marpa. Este documento usará esses exemplos para descrever os recursos básicos do Marpa em moda semi-tutorial. Recursos avançados de Marpa, e detalhes completos de referência de todos os recursos, podem ser encontrados nos outros documentos da API do Marpa.synopsis My $ Grammar = Marpa :: Gramática-> Novo ({Start => 'Expression', Ações => 'My_Ass', default_action => 'first_arg', regras => }, {lhs => 'term', rhs => }, { lhs => 'fator', rhs => }, {lhs => 'termo', rhs => , ação => 'do_add'}, {lhs => 'Fator', rhs => , ação => 'do_multiply'},],}); $ grammar-> Precomputo (); Meu $ Rece = Marpa :: Reconhecedor-> Novo ({Grammar => $ Grammar}); Meu @tokens = (, , , , , $ recce-> tokens (\ @tokens); Sub My_Actions :: Do_add {My (Redef, $ T1, Redef, $ T2) = @_; Retornar $ T1 + $ T2; } Sub My_Actions :: Do_Multiply {My (UNDEF, $ T1, UNDEF, $ T2) = @_; retornar $ T1 * $ T2; } Sub My_Actions :: First_arg {Shift; turno de retorno; } meu $ value_ref = $ rece-> valor; meu valor $ valor = $ value_ref? $ {$ value_ref}: 'sem análise'; Requisitos: · Perl.


Marpa. Software Relacionado

filtrounit.

permite que os testes unitários sejam criados para programas de linha de comando ...

125

Download