Parse :: rosicco

Un parser estensibile
Scarica ora

Parse :: rosicco Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • Perl Artistic License
  • Prezzo:
  • FREE
  • Nome editore:
  • Greg London
  • Sito web dell'editore:
  • http://search.cpan.org/~gslondon/

Parse :: rosicco Tag


Parse :: rosicco Descrizione

Un parser estensibile Parse :: GNAW è un parser estensibile in Perl. Definisci grammatiche usando le chiamate di subroutine. Definisci le tue estensioni grammaticali definendo nuove subroutine. Parse Text in memoria o da / per file o altri flussi ..SynopsisGNaw è un modulo Perl che implementa le espressioni regolari complete e il testo completo che analizzano grammatiche usando nient'altro che il codice Pure Perl limitato alle chiusure di soloroutine e alle variabili di base perl come scalari, hash, array, e riferimenti. Scrivi la tua grammatica in puro perl. Non c'è nessun "linguaggio del parser" intermedio che viene interpretato in qualcosa di eseguibile. Quando si esegue un "Usa Parse :: RSAW", il modulo GNAW imporrà un numero di funzioni direttamente nello spazio dei nomi. Sì, questa è una forma completamente negativa per i moduli normali. Ma questo non è un modulo normale. Le subroutine importate includono un'espressione regolare e le funzioni di analisi per la corrispondenza, i quantificatori, i letterali, le alternanze, le classi di carattere e così via. Costruisci la tua grammatica chiamando queste funzioni. La chiamata finale restituirà un riferimento di codice. Questo riferimento del codice è la tua grammatica. Quando si delega quella grammatica, se è una funzione "corrispondenza", quindi passa nella stringa che vuoi analizzare. Usa Parse :: rosicco; # crea la grammatica my $ grammatica = match ('hello'); # Applica la grammatica a una stringa se ($ grammatica -> ('hello world')) {stampa " ";} else {stampa" No match ";} Puoi anche creare la grammatica ed eseguirlo in un unico passaggio: My $ TextToParse =" Howdy Partner "; If (Match ('Hello', 'World') -> ($ TextToParse)) {Stampa " ";} else {stampa" nessuna partita ";} Nota L'esempio sopra tradotto in Perls Regular Expression Syntax sembrerebbe qualcosa del genere: My $ TextToParse =" Howdy Partner "; IF ($ TextToParse = ~ m {heldos * world}) {stampa" ";} else {stampa" nessuna partita ";} Puoi costruire grammatiche più complicate abbastanza facilmente. Questo cerca una frase sui frutti. $ Grammatica = match (ql ('vorrei comprare'), alcuni ('a', Qa ('Banana Mele Pera peach '))); la funzione "corrispondenza" cerca una partita alla grammatica nella stringa analizzata. La funzione "QL" (QL "(QLetted Letterale) consente di mettere una sequenza di letterali in una singola stringa. Esso si divide il stringa in singoli letterali molto simile a Perls "QW" Funzione fa. Poi li mette in una sequenza di grammatica per te. Questo ti salva dal mettere le citazioni attorno a ogni singolo letterale. La funzione "Qualche" è un quantificatore che cerca "1 o più "Di qualunque cosa circonda, in questo caso, una sequenza del" A "letterale seguito da un'alternanza di diversa frutta possibile. La funzione" Qa "(QA" (alternanza quotata) prende una singola corda e si divide in parole singole, anche simili a Perls "QW" Funzione. La funzione "Qa" prende quindi quelle parole individuali e crea un'alternanza che cerca di abbinare qualsiasi parola individuale nella stringa come un alternato valido. Requisiti: · Perl.


Parse :: rosicco Software correlato