Marpa :: PP

Versión PURA PERL de MARPA
Descargar ahora

Marpa :: PP Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Nombre del editor:
  • Jeffrey Kegler
  • Sitio web del editor:
  • http://search.cpan.org/~jkegl/

Marpa :: PP Etiquetas


Marpa :: PP Descripción

Versión Pure Perl de MarPA Marpa :: PP es un módulo PERL que analiza cualquier idioma cuya gramática se puede escribir en BNF. Eso incluye gramáticas recursivas, gramáticas ambiguas, gramáticas y gramáticas infinitamente ambiguas con producciones inútiles o vacías. Este documento contiene una descripción general de nivel superior de la API para el motor de parse MARPA. Los dos ejemplos en este documento muestran los flujos típicos de las llamadas del método de MarPA. Este documento utilizará estos ejemplos para describir las características básicas de MarPA en la moda semi-tutorial. Las funciones avanzadas de MarPA, y los detalles de referencia completos de todas las características, se pueden encontrar en los otros documentos de MARPA API.Synopsis Use MarPA :: PP; My $ gramática = marpa :: gramática-> nuevo ({start => 'expresión', acciones => 'my_actions', default_action => 'first_arg', reglas => }, {lhs => 'término', rhs => }, {lhs => 'factor', rhs => }, {lhs => ' Término ', RHS => , acción =>' do_add '}, {lhs =>' factor ', rhs => , acción =>' do_multiply '} ,],}); $ gramática-> precomputo (); My $ Recce = MarPA :: Reconocer-> Nuevo ({grammar => $ gramática}); $ Reccidez-> Leer ('Número', 42); $ Reccidez-> Leer ('Multiplicar',); $ Reccidez-> Leer ('Número', 1); $ Reccidez-> Leer ('Agregar',); $ Reccidez-> Leer ('Número', 7); Sub my_acciones :: do_add {my (UNDEF, $ T1, UNDEF, $ T2) = @_; Devuelve $ T1 + $ T2; } Sub my_acciones :: do_multiply {my (UNDEF, $ T1, UNDEF, $ T2) = @_; Devuelve $ T1 * $ T2; } Sub My_acciones :: First_arg {Shift; cambio de devolución; } My $ value_ref = $ recce-> valor; mi valor $ = $ valor_ref? $ {$ value_ref}: 'Ningún Parse'; Requisitos: · Perl


Marpa :: PP Software relacionado