Mi piacerebbe scrivere un parser semplice in Perl che fornisce principalmente un ulteriore livello su una lingua esistente. Stavo guardando Parse::Yapp
, Parse::Lex
o anche Marpa::R2
, ma l'unico esempio concreto è sempre lo stesso: una semplice calcolatrice che fa 43 * 8 + 1
. Non riesco a trovare facilmente altri esempi quindi mi chiedo se questi pacchetti siano ancora una buona scelta per implementare un parser.Are Parse :: Yapp, Parse :: Lex o Marpa :: R2 ancora usato?
Sono Parse::Yapp
, Parse::Lex
o Marpa::R2
ancora una buona soluzione su un approccio hand-rolled?
Dove posso trovare altri esempi e documentazione su questi moduli? Le pagine CPAN sono in genere piuttosto vuote
Controllare i collegamenti [qui] (https://github.com/choroba/marpa-enhanced-calculator) per esempi non calcolati su [Marpa :: R2] (http : //p3rl.org/Marpa :: R2) . – choroba
Prova qualcosa come 'calc.pl 'a = 43 b = 3 * 8; stampa a + b''. Ma il punto era mostrare gli altri link :-) – choroba
Ho aggiornato il codice in GitHub per accettare l'input senza un separatore finale. – choroba