MARPA :: PP. Classifica e riepilogo
- Licenza:
- Perl Artistic License
- Nome editore:
- Jeffrey Kegler
- Sito web dell'editore:
- http://search.cpan.org/~jkegl/
MARPA :: PP. Tag
MARPA :: PP. Descrizione
Versione pura perl di Marpa MARPA :: PP è un modulo perl che analizza qualsiasi linguaggio la cui grammatica può essere scritta in BNF. Ciò include grammatiche ricorsive, grammatiche ambigue, grammatiche e grammatiche infinitamente ambigue con produzioni inutili o vuote. Questo documento contiene una panoramica di alto livello dell'API per il motore MARPA Parse. I due esempi in questo documento mostrano i flussi tipici delle chiamate del metodo MarpA. Questo documento utilizzerà questi esempi per descrivere le caratteristiche di base di MarpA in modo semi-tutorial. Le caratteristiche avanzate di Marpa e i dettagli di riferimento completi di tutte le funzionalità possono essere trovati negli altri documenti API MarpA.Synopsis utilizzano MARPA :: PP; My $ GRAMMAR = MARPA :: Grammatica-> Nuovo ({Start => 'Expression', Azioni => 'my_actions', default_action => 'first_arg', regole => }, {lhs => 'termine', dhs => }, {lhs => 'fattore', dhs => }, {lhs => ' Termine ', RHS => , Azione =>' DO_ADD '}, {LHS =>' Factor ', RHS => , Action =>' Do_multiply '}} ,],}); $ grammatica-> preconfina (); My $ RECCE = MARPA :: riconoscimento-> Nuovo ({grammatica => $ grammatica}); $ rece-> Leggi ('numero', 42); $ rece-> Leggi ('moltiplicare',); $ rece-> Leggi ('numero', 1); $ rece-> Leggi ('aggiungi',); $ rece-> Leggi ('numero', 7); Sub my_actions :: do_add {my (undef, $ t1, undef, $ t2) = @_; restituire $ T1 + $ T2; } Sub my_actions :: do_multiply {my (undef, $ t1, undef, $ t2) = @_; restituire $ T1 * $ T2; } Sub my_actions :: first_arg {shift; ritorno spostamento; } My $ VALUE_REF = $ rece-> valore; My $ Value = $ Value_ref? $ {$ VALUE_REF}: 'No Parse'; Requisiti: · Perl.
MARPA :: PP. Software correlato