úÎ<^7\      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[  Document type(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimentalportableSafeA G represents a tree of the parsed input. Directly after parsing, every Rule+ that was applied, gets a node in the tree. You can use   and  1 to reduce the tree into a more managable shape.  Some operations on documents(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimentalScopedTypeVariablesSafeN :Filter documents according to some predicate. Similar to \ in the Prelude. Squash all contents of a  into a single  Squash all contents of a ' which matches the predicate See also  Squash all contents using the ] instance of a, cascading into s. Looks up nested Ns with a particular identifier. NB: Will not recurse into matching documents. Predicate to checkDocument to filterReturns ^1 if the predicate fails, cascades otherwise Identifier to search for to search in   Types used by the parser(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimentalportableSafe'A 'P represents a single entry in your ABNF. It could, for example, look like this: CRLF = %x0D.0A  !"#$%&'( !"#$%&'('(%&#$!"   !"#$%&'( ABNF Parser(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimentalportableNone*OConvencience function to directly parse a list of rules. This is equivalent to _ + +(The main parser, which parses a list of 's.)*+,-./0123456789:;<=>?@AB)*+,-./0123456789:;<=>?@AB)*+,-./0123456789:;<=>?@AB)*+,-./0123456789:;<=>?@ABCanonicalize a list of rules(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimental non-portableSafeCCanonicalize a list of 's, leaving only a single '. `CThe main, or top-level, 'List of 's to canonicalizeOThe operation may fail for a number of reasons, for example, because the main ' does not existabcdefgCC `Cabcdefg#Tools to parse ABNF into a Document(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimental non-portableSafeD)Convenience function to directly parse a E Generate an  .https://hackage.haskell.org/package/attoparsec attoparsec parser D' to parse againstText to parse Return a h4 describing the error or the successfully parsed .The format of the h is as returned by  .https://hackage.haskell.org/package/attoparsec attoparsec.EFGHIJKLMN DEFGHIJKLMN DEFGHIJKLMN DEFGHIJKLMNPretty printer for ABNF rules(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimentalportableSafe OPQRSTUVWXYZ[OP OP[ZYXWVUTSRQ OPQRSTUVWXYZ[)Documents according to an ABNF definition(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimental non-portableSafe  DE  ED ABNF(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimental non-portableNone'(*+C'(+*C Top-level module(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimental non-portableNone '(*+CDEi     !"#$%&''(())**++,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a_bc_bdefghijklmno_bpqabnf_CwsCU6kaYQC6sYSWNpSG1OText.ABNF.Document.TypesText.ABNF.Document.OperationsText.ABNF.ABNF.TypesText.ABNF.ABNF.ParserText.ABNF.ABNF.CanonicalizerText.ABNF.Document.ParserText.ABNF.PrettyPrinterText.ABNF.DocumentfilterDocumentsquashDocumentOnText.ABNF.ABNF Text.ABNFContentTerminal NonTerminalDocument$fMonadContent$fApplicativeContent$fFunctorContent$fFunctorDocumentsquashDocument squashContentlookupDocument DefinedAsEqualsAddsNumLitIntLitRangeLitLiteralCharLitGroupElement RuleElement' RuleElement GroupElement OptionElementLiteralElementRepeat Repetition ProductSpecSumSpecRule identifier parseABNFrulelistrule defined_aselementsc_wspc_nlcomment alternation concatenation repetitionrepeatelementgroupoption_literalchar_valnum_valbin_valdec_valhex_valnum_val' prose_valvcharwspcanonicalizeRules parseDocumentgenerateParser parseRule parseSumSpec parseProdSpecparseRepetition parseElem parseLiteral parseNumLittoListoneOfPretty prettyShow$fPrettyNumLit$fPrettyLiteral $fPrettyGroup$fPrettyElement$fPrettyRepeat$fPrettyRepetition$fPrettyProductSpec$fPrettySumSpec$fPrettyDefinedAs $fPrettyRule $fPretty[]baseGHC.ListfilterGHC.BaseMonoidNothingmegap_JnDOqefFOhHE9E6RbcU1CzText.Megaparsec.PrimparseRuleMap mergeRulesinlineRulesRuleinlineRulesSumSpecinlineRulesProdSpecinlineRulesRepetitioninlineRulesElementinlineRulesGroupString