úÎ9ì4œ[      !"#$%&'()*+,-./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. Predicate to checkDocument to filterReturns ]1 if the predicate fails, cascades otherwise    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:;<=>?@A()*+,-./0123456789:;<=>?@A()*+,-./0123456789:;<=>?@A()*+,-./0123456789:;<=>?@ACanonicalize a list of rules(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimental non-portableSafeBCanonicalize a list of &s, leaving only a single &. _BThe main, or top-level, &List of &s to canonicalizeOThe operation may fail for a number of reasons, for example, because the main & does not exist`abcdefBB _B`abcdef#Tools to parse ABNF into a Document(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimental non-portableSafeC)Convenience function to directly parse a D Generate an  .https://hackage.haskell.org/package/attoparsec attoparsec parser C& to parse againstText to parse Return a g4 describing the error or the successfully parsed .The format of the g is as returned by  .https://hackage.haskell.org/package/attoparsec attoparsec.DEFGHIJKLM CDEFGHIJKLM CDEFGHIJKLM CDEFGHIJKLMPretty printer for ABNF rules(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimentalportableSafe NOPQRSTUVWXYZNO NOZYXWVUTSRQP NOPQRSTUVWXYZ)Documents according to an ABNF definition(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimental non-portableSafe  CD  DC ABNF(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimental non-portableNone&')*B&'*)B Top-level module(c) Martin Zeller, 2016BSD2(Martin Zeller <mz.bremerhaven@gmail.com> experimental non-portableNone &')*BCDh    !"#$%&&''(())**+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`^ab^acdefghijklmn^aopabnf_6vMaQ3IJFDA8kxqDXaGa5OText.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 squashContent 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