Parse :: knagen

Een uitbreidbare parser
Download nu

Parse :: knagen Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Greg London
  • Uitgever website:
  • http://search.cpan.org/~gslondon/

Parse :: knagen Tags


Parse :: knagen Beschrijving

Een uitbreidbare parser Parse :: gnaw is een uitbreidbare parser in Perl. Definieer grammatica's met behulp van subroutine-oproepen. Definieer uw eigen grammatica-extensies door nieuwe subroutines te definiëren. Ontleed tekst in geheugen of van / naar bestanden of andere streams.Synopsisgnaw is een PERL-module die volledige reguliere uitdrukkingen en volledige smijten voor het parseren van tekst gebruiken met behulp van niets anders dan pure perl-code die beperkt is tot subroutine-sluitingen en elementaire perl-variabelen, zoals scala's, hashes, arrays, en referenties. Je schrijft je grammatica in pure perl. Er is geen intermediaire "parser-taal" die dan wordt geïnterpreteerd in iets uitvoerbaar. Wanneer u een "gebruik parsse :: gnaw" doet, zal de GNAW-module een aantal functies rechtstreeks in uw naamruimte importeren. Ja, dit is volledig slechte vorm voor normale modules. Maar dit is geen normale module. De geïmporteerde subroutines omvatten regelmatige expressie- en parserende functies voor matching, kwantificeren, letterlijk, alternaties, karakterklassen, enzovoort. U bouwt uw grammatica op door deze functies te bellen. Het definitieve gesprek retourneert een code-referentie. Deze codefeutische referentie is uw Grammatica.Wanneer u die grammatica afneemt, als het een "match" -functie is, passeert u de reeks die u wilt parseren. Gebruik parsse :: knagen; # Maak de grammatica My $ Grammar = Match ('Hallo'); # Breng de grammatica aan op een string als ($ Grammatica -> ('Hallo World')) {Print "-wedstrijd ";} anders {print" geen overeenkomst ";} U kunt ook de grammatica maken en deze in één stap uitvoeren: mijn $ TextToparse =" Howdy Partner "; als (match ('Hallo', 'Wereld') -> ($ Textoparse)) {Print "-wedstrijd ";} anders {print" Geen overeenkomst ";} Opmerking Het bovenstaande voorbeeld vertaald in PERLS Regelmatige expressie-syntaxis zou er zoiets uitzien: mijn $ texttoparse =" Howdy Partner "; if ($ TOEKTOPARSE = ~ M {helllos * World}) {print" Match ";} anders {print" Geen overeenkomst ";} Je kunt vrij gemakkelijk gecompliceerder grammatica opbouwen, deze zoekt een zin over fruit. $ Grammatica = match (ql ('Ik zou graag willen kopen'), sommige ('A', QA ('banana apple peer (' A ' Peach '))); De functie "Match" zoekt naar een wedstrijd met de grammatica in de reeks die wordt geparseerd. De "QL" -functie (letterlijk vermeld) stelt u in staat om een reeks literaten in een enkele string te plaatsen. Het is de splitsing String omhoog in individuele literalen, veel zoals PERLS "QW" -functie doet. Dan plaatst het ze in een grammatica-sequentie voor u. Dit bespaart u van het plaatsen van citaten rond elk individueel letterlijk. De "Sommige" -functie is een kwantificator op zoek naar "1 of meer "Van wat het ook omringt, in dit geval, een reeks van de letterlijke" A "gevolgd door een afwisseling van verschillende mogelijke vruchten. De" QA "-functie (geciteerde afwisseling) neemt een enkele string en splitst het in individuele woorden, ook vergelijkbaar met Perls "QW" -functie. De "QA" -functie neemt dan die individuele woorden en creëert een afwisseling die eraan probeert te evenaren individueel woord in de reeks als een geldig alternatief. Vereisten: · Perl


Parse :: knagen Gerelateerde software

VMS :: Wachtrij

PERL-extensie om wachtrijen, vermeldingen en formulieren te beheren en wachtrij, invoer en informatie op te halen ...

223

Downloaden