úÎTłMœ;      !"#$%&'()*+,-./0123456789:[;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh Return a value, always succeeds Match a specified character Match some text 5Immediately consume and return the rest of the input 3 equivalent to (many anyChar), but more efficient. "Match any character, fails on EOF GMatch first argument, then match the second, returning both in a tuple +Match a pair of lists and concatenate them SMatch first argument, then match the second, returning only the value on the left.  x <<- y = x <> y ## fst TMatch first argument, then match the second, returning only the value on the right.  x ->> y = x <> y ## snd BOrdered choice, try left argument, if it fails try the right one. 6 This does not introduce any backtracking or penalty. KOrdered choice, try left argument, if it fails then return right argument. 4Map a parser through a function. a fancy version of i. 3Parse left argument and return the right argument. %Succeeds when the argument does not. 8Succeeds when the argument does, but consumes no input.  Equivalant to p -> discard (peek p) EParse something and return it, but do not advance the input stream. 1Succeed only if thing parsed passes a predicate. 4Parse many of something. Behaves like * in regexes. Q This eats as much as it possibly can, if you want a minimal much rule, then use  which stops when a. GParse many of something via the minimal munch rule. behaves like *? in / perl regexes. The final item is not consumed. 2First matching parse wins, a simple iteration of (//). JGet current position in file as number of characters since the beginning. Equivalent to 5 between open close thing = open ->> thing <<- close 4Parse something if you can, else return first value  option a p = p // unit a +Parse something if you can, discarding it. # option a p = discard p // unit () $Throw away the result of something.  discard p = p ->> unit () am at the end of string. #am at the beginning of the string. 7Match one or more of something via maximal munch rule. $Match one of the set of characters. 5Match any character other than the ones in the list. Fails, is identity of (//) and unit of (<>). jk!GRun a PEG grammar. Takes the rank-2 argument in order to ensure a rule  created in one PM session isn'+t returned and used in another PEG parser. TThere is no need for special error handling, as it can be trivially implemented via  = -- parse complete file, returning 'Nothing' if parse fails / fmap Just (myParser <<- eof) // unit Nothing ^There is also no need for the parser to return its unused input, as that can be retrieved via . F -- Now this returns (a,String) where String is the unconsumed input.  myParser <> rest "ICreate a new rule, which may be used recursively and caches its results. !This is intended to be use in an mdo block. such as the following.   additive = mdo Z additive <- newRule $ multitive <> char '+' ->> additive ## uncurry (+) // multitive X multitive <- newRule $ primary <> char '*' ->> multitive ## uncurry (*) // primary H primary <- newRule $ char '(' ->> additive <<- char ')' // decimal = decimal <- newRule $ many1 (oneOf ['0' .. '9']) ## read  return additive PAll recursive calls must be bound via a rule. Left recursion should be avoided. lmn#:always succeeds, returning true if it consumed something. o$KCreate a new regular expression matching parser. it returns something in a O possibly failing monad to indicate an error in the regular expression itself. %AShow a representation of the parsed regex, mainly for debugging. &CMake a new regex but abort on an error in the regex string itself. Bpqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š  !"#$%&'"!   #$&%'  !"#$%&'Match a control character. (4Match a white-space character in the Latin-1 range. )1Match a lower-case alphabetic Unicode character. *@Match an upper-case or title-case alphabetic Unicode character. +5Match an alphabetic Unicode character. Equivalent to 1. ,8Match an alphabetic or numeric digit Unicode character. -%Match a printable Unicode character. .Match an ASCII digit. /Match an ASCII octal digit. 0"Match an ASCII hexadecimal digit. 15Match an alphabetic Unicode character. Equivalent to +. 2 Match a Unicode mark character. 3#Match a Unicode numeric character. 4'Match a Unicode punctuation character. 5"Match a Unicode symbol character. 6.Match a Unicode space or separator character. 7.Match a character of the ASCII character set. 8=Match a character of the ISO 8859-1 (Latin-1) character set. 9"Match an ASCII upper-case letter. :"Match an ASCII lower-case letter. '()*+,-./0123456789:'()*+,-./0123456789:'()*+,-./0123456789:‹      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJJKLMNOPQRSTUVWXYZ[\]^_`abcdeffghijklmnophqrhqshqthquhqvhqwhqxhqyhqzhq{hq|hq}hq~hqhq€hq€hqhq‚hqƒhq„hq…hq†hq‡hqˆhqˆh‰Šhi‹Œ frisby-0.1Text.Parsers.FrisbyText.Parsers.Frisby.CharPPMunitchartextrestanyChar<><++><<-->>////>####> doesNotMatchmatchespeekonlyIfmany manyUntilchoicegetPosbetweenoptionoptionaldiscardeofbofmany1oneOfnoneOf parseFailurerunPegnewRuleisMatchnewRegex showRegexregexcontrolspacelowerupperalphaalphaNum printabledigitoctDigithexDigitlettermarknumber punctuationsymbol separatorasciilatin1 asciiUpper asciiLowerRegexRegexCat RegexMany regexWhatregexMinregexMax regexMunchRegexAny RegexCharsResultsNoParseParsedDerivs derivChar derivIndex derivArray derivRestNM DerivMapToUnknownPEPeekRestWhenUnitGetPosThenStarMax StarUntilStarThenCatSlashPMapNotNamedFailureAnyCharfromPPMImpToken unsafeCoercebaseGHC.BasefmapnormalizePElemnormalizePElemNMnormalizeRegex regexToParser parseRegex parse_regexControl.Applicative ApplicativeliftA3liftA2liftA<**><**><*>puresome<|>empty AlternativegetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipList Data.Functor<$><$