De PARSNIP PARDER-bibliotheek

De PARSNIP PARDER-bibliotheek biedt u in staat om complexe parsers te bouwen van een rijke set parser-primitieven.
Download nu

De PARSNIP PARDER-bibliotheek Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • LGPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • Alex Rubinsteyn
  • Uitgever website:

De PARSNIP PARDER-bibliotheek Tags


De PARSNIP PARDER-bibliotheek Beschrijving

Met de PARSNIP PARSER-bibliotheek kunt u complexe parsers bouwen van een rijke set parser-primitieven. Met de PARSNIP PARSER-bibliotheek kunt u complexe parsers bouwen van een rijke set parser-primitieven. Deze methode van Parser-constructie is geïnspireerd op PARSEC en andere Parser-combinatorbibliotheken voor Haskell en ML. De standaard Parser-strategie van PARSNIP is de vorm van Packrat-parsering, augmented om de linker recursie binnen een parser toe te staan.Since linker recursie is toegestaan, de reeks talen PARSNIP kan herkennen (en waarschijnlijk is) een superset van die erkend door parser expressiegrammars . Vanilla Packrat-parsering is verkrijgbaar als configuratieoptie.functie referencuch (char c) charparker Retourneert een charparker die overeenkomt met teken c en retourneert het als een string.str (string s) snaarparker Returns een snijparker die overeenkomt met de reeks van invoerpersonages naar string S en retourneer Srange (charl, char u) charangespars retourneert een charangeparser die alleen slaagt als het invoerteken binnen bereik is .on ) Oneofparser retourneert een oneofparser die overeenkomt met een invoerkarakter met een teken in tekenreeks S. Retourneert overeengekomen teken in een string.seq (parser p1, parser p2) Seqtupleparker Creëert een sequence PARDER: als beide parsers slagen, retourneert u hun resultaten in een tuple, mislukt anders. De steno voor deze parser is: P1 >> P2 SEQ_VEC (Parser P1, Parser P2) SEQVECPARSER Creëert een vectorsequentie PARDER: Als beide parsers slagen, terugkeer hun resultaten in een vector, mislukt anders. Vectoren, in tegenstelling tot tuples, kunnen van willekeurige lengte zijn, maar vereisen dat de parsers van een homogene ingangs- en uitvoertype zijn. De stendestoel voor deze parser is: P1 P2-concat (Parser P1, parser p2) Concatsparser Creëert een concat-parser: parseert in volgorde, maar samenwerkende resultaten in plaats van ze te binden. De steno voor deze parser is: P1 + P2. Keuze (Parser P1, Parser p2) keuzepargens parser keuze: retourneert de eerste van zijn twee parser parameters om te slagen, mislukt anders. Backtracks op de ingangsstroom voor tweede parser. De steno voor deze parser is: P1 | P2. Niet (Parser p) Kies niet -sparder Creëert een niet-spelsier die lukt als P faalt en verbruikt geen input.call0 (Parser P, R (* fn) (void)) Callparker0 Creëert een callparker die het vermeden van PS als P's parseert slaagt. Call1 (parser p, r (* fn) (t)) callparker1 Creëert een callparker die fn noemt met de resultaten van P's pars.call2 (Parser > P, R (* FN) (T1, T2)) Callparser2 Creëert een callparser die de 2-tuple uitpakt die P Retouneert en passeert de componenten als argumenten naar fn.call3 (Parser > P, R (* FN) (T1, T2, T3)) Callparker3 Creëert een callparser die de 3-tuple uitpakt die P retourneert en passeert de componenten als argumenten naar FN.MANY (Parser P, INT MIN = 0, INT MAX = INT_MAX) Manyparsen De manyparker herhaaldelijk parseert P totdat Max wordt bereikt of P faalt. Als het aantal parsaties minder dan min is, mislukt de manyparker. Elke keer P wordt met succes geparseerd het resultaat wordt doorgegeven aan een accumulator van Type ACC. Als de manyparker succesvol is, retourneert het de geaccumuleerde gegevens van het ACC-object. Veel1 (Parser p, int max = int_max) manyparsen genereert een manyparoscent die tenminste één parseer van p om te slagen, genereert.


De PARSNIP PARDER-bibliotheek Gerelateerde software

Pawpaw

PAWPAW is een opwaartse taal, behalve dat het de ontwikkeling van de top-down mogelijk maakt. ...

169

Downloaden

Scons erlang

Scons Erlang is een toevoeging voor SCONS, vervanging van MAKE / Autotools, om Erlang-projecten te compileren. ...

466

Downloaden