Marpa :: PP

Pure perl-versie van Marpa
Download nu

Marpa :: PP Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Naam uitgever:
  • Jeffrey Kegler
  • Uitgever website:
  • http://search.cpan.org/~jkegl/

Marpa :: PP Tags


Marpa :: PP Beschrijving

Pure Perl-versie van Marpa Marpa :: PP is een Perl-module die elke taal parseert waarvan de grammatica in BNF kan worden geschreven. Dat omvat recursieve grammatica, dubbelzinnige grammatica's, oneindig dubbelzinnige grammatica's en grammatica's met nutteloze of lege productie. Dit document bevat een overzicht op het hoogste niveau van de API voor de MARPA-parse-engine. De twee voorbeelden in dit document tonen de typische stromen van Marpa-methode-oproepen. Dit document zal deze voorbeelden gebruiken om de basiskenmerken van Marpa in semi-tutorial mode te beschrijven. De geavanceerde functies van Marpa en volledige referentiedetails van alle functies, zijn te vinden in de andere Marpa API-documenten. Synopsis Gebruik Marpa :: PP; Mijn $ Grammatica = Marpa :: Grammar-> Nieuw ({start => 'expressie', acties => 'my_actions', standaard_action => 'first_arg', regels => }, {LHS => 'Term', RHS => }, {LHS => 'Factor', RHS => }, {LHS => ' Term ', RHS => , ACTION =>' DO_ADD '}, {lhs =>' factor ', rhs => , action =>' do_multiply '} ,],}); $ grammatica-> precompute (); Mijn $ RecCCE = marpa :: herkenning-> nieuw ({grammatica => $ grammatica}); $ Recrece-> Lezen ('nummer', 42); $ reccce-> lezen ('vermenigvuldig',); $ Recrece-> Lezen ('nummer', 1); $ reccce-> lezen ('toevoegen',); $ Recrece-> Lezen ('nummer', 7); Sub My_Actions :: do_add {mijn (undef, $ t1, undef, $ t2) = @_; retourneer $ T1 + $ T2; } Sub My_Actions :: do_multiply {mijn (undef, $ t1, undeve, $ t2) = @_; return $ t1 * $ t2; } Sub My_Actions :: First_ARG {Shift; Retourverschuiving; } Mijn $ value_ref = $ Recrece-> Waarde; mijn $ value = $ value_ref? $ {$ value_ref}: 'Geen parse'; Vereisten: · Perl


Marpa :: PP Gerelateerde software