MARPA :: PP

Version PUR PERL de MARPA
Télécharger maintenant

MARPA :: PP Classement & Résumé

Publicité

  • Rating:
  • Licence:
  • Perl Artistic License
  • Nom de l'éditeur:
  • Jeffrey Kegler
  • Site Internet de l'éditeur:
  • http://search.cpan.org/~jkegl/

MARPA :: PP Mots clés


MARPA :: PP La description

Version Pure Perl de MARPA MARPA :: PP est un module PERL qui analyse n'importe quelle langue dont la grammaire peut être écrite dans BNF. Cela inclut des grammaires récursives, des grammaires ambiguës, des grammaires infiniment ambiguës et des grammaires avec une production inutile ou vide.Ce document contient une vue d'ensemble de niveau supérieur de l'API pour le moteur de paquet de la marpa. Les deux exemples de ce document montrent les flux typiques des appels de méthode MARPA. Ce document utilisera ces exemples pour décrire les caractéristiques de base de la MARPA en mode semi-tutoriel. Les fonctionnalités avancées de Marpa et les détails de référence complets de toutes les fonctionnalités peuvent être trouvés dans les autres documents de l'API de marpa.Synopsis Utiliser la marpa :: pp; ma grammaire $ grammar = marpa :: grammaire-> nouvelle ({start => 'expression', actions => 'my_actions', défaut_action => 'first_arg', règles => }, {lhs => 'terme', rhs => }, {lhs => 'facteur', rhs => }, {lhs => ' Terme ', rhs => , action =>' do_add '}, {lhs =>' facteur ', rhs => , action => "DO_MULTIPLY'} ,],}); $ grammaire-> précompute (); My $ ReceC ° = Marpa :: Reconnaissance-> Nouveau ({grammaire => $ grammaire}); $ reccrété-> lire ('numéro', 42); $ reccrété-> lire ('multiplier',); $ RECCE-> Lire ('numéro', 1); $ reccrété-> lire ('ajouter',); $ reccrété-> lire ('numéro', 7); Sub My_actions :: do_add {My (Undef, $ T1, UNDEF, $ T2) = @_; retour $ T1 + $ T2; } Sub My_actions :: DO_MULTIPLY {MY (UNDEF, $ T1, UNDEF, $ T2) = @_; retour $ T1 * $ T2; } sub my_actions :: first_arg {décalage; changement de retour; } mon $ value_ref = $ reccré-> valeur; ma valeur $ = $ value_ref? $ {$ valeur_ref}: 'Non Parse'; Exigences: · Perl


MARPA :: PP Logiciels associés