Marpa :: Xs.

xs extensão de marpa
Baixe Agora

Marpa :: Xs. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • LGPL
  • Nome do editor:
  • Jeffrey Kegler
  • Site do editor:
  • http://search.cpan.org/~jkegl/

Marpa :: Xs. Tag


Marpa :: Xs. Descrição

Extensão XS de Marpa Marpa :: XS é 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 neste documento mostram os fluxos típicos de chamadas do método Marpa. Este documento usará esses exemplos para descrever os recursos básicos do Marpa em moda semi-tutorial. Recursos avançados da 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 :: XS :: Grammar-> Novo ({Start => 'Expression', Ações => ' My_actions ', 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 $ recce = Marpa :: XS :: Reconhecedor-> Novo ({Grammar => $ Grammar}); $ rece-> Leia ('número', 42); $ rece-> Leia ('multiplicar',); $ rece-> Leia ('número', 1); $ rece-> Leia ('adicionar',); $ rece-> Leia ('número', 7); 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 :: Xs. Software Relacionado