úΈ¤…v5      !"#$%&'()*+,-./01234 Safe-Inferred:A token in a parsed UTF8 stream is either a valid Unicode + character or an invalid input character. 5Is c of the form 0xxxxxxx? 6Is c of the form 10xxxxxx? 7Is c of the form 110xxxxx? 8Is c of the form 1110xxxx? 9Is c of the form 11110xxx? AParse a UTF8 stream into tokens. Rejects overlong forms and code > points above 0x10ffff. Does not check validity of individual  unicode code points. 5678956789 Safe-InferredBA filter is basically a function from strings to strings. Ideally 8 a filter is lazy, so that the input string is consumed C incrementally; however, this is not strictly necessary. A filter 9 may also return another result in addition to a string. The identity filter. @Run a filter by reading from one handle and writing to another. % The handles are set to binary mode. ARun a filter by reading from a file and writing to another file. B We do not assume that the two files are necessarily distinct, so D special care is taken not to overwrite the output file until after  the input file has been read. <Run a filter on a number of files, overwriting each file in  place. :The top-level parser for Superdoc markup and ASCII armor, C expressed as a filter. In addition to producing HTML output, this E filter also returns the set of all image files that were linked to. 6Top-level parser for Superdoc markup and ASCII armor. top ::= (other | tag | uni | char)*. RLift a parser returning a string to a parser returning a string and an empty set. Like  , but only permit brackets "[" and "]" to occur  in nested pairs. nested ::= (other | tag | uni |  bracketed |  underscore)*. Parse bracketed text.  bracketed ::= "[" nested "]". Parse a single underscore '_'.  underscore ::= "_". "Parse any single character except '[' and ']'.  nonbracket ::= any character besides '[', ']'. ;Parse any sequence of non-special characters: anything but '[',  'u', 'U', '=', and ']'. other ::= (any character besides '[', 'u', 'U', '=', ']')+. Parse any one character. char ::= any character.  Parse a tag. tag ::= "[" keyword body "]". Parse a keyword. keyword ::= "sup" | "super" | "sub" | "exp" | "bold" | "center" | "nobr" | "image" | "uni" | "literal". $Parse an armored Unicode character. $Parse an upper-case Unicode letter.  uni_upper ::= "UNI__" digit+ "__". #Parse a lower-case Unicode letter.  uni_lower ::= "uni__" digit+ "__". !Parse a Unicode operator symbol.  uni_symbol ::= "==|"  symbol_digit+ "|==". -Parse a symbol encoding a decimal digit. See  for the  encoding used. 'Parse any text with balanced brackets. literal ::= ( nonbracket | bracketed_literal)*. 1Parse any bracketed text with balanced brackets. bracketed_literal ::= "[" literal "]".  Parse a tag',s body. What to do depends on the tag name. body ::= nested (for keyword. = sup, super, sub, exp, bold, center, nobr), body ::= filename (for keyword = image), body ::= digit+ (for keyword = uni). body ::= literal (for keyword = literal). AConvert a tokenized Unicode stream into HTML entities. Non-ASCII 9 characters are represented as HTML entities of the form &#nnnn;. 9 Any invalid characters are simply copied to the output. 4Convert a tokenized Unicode stream to ASCII armor. >The armor is designed to preserve lexical validity: thus, the ; armored version of a valid Haskell lower-case identifier, C upper-case identifier, or operator is again a valid identifier or B operator of the same kind. This makes it possible to use armored ; Unicode in source code as well as documentation comments. CThe armoring is further designed to use only symbols that will not  confuse GHC or Haddock. See  #ARMOR ASCII armor for a description  of the format. >Encode a string of decimal digits as a string of symbols. See   #ARMOR ASCII armor for the specific mapping used.     NoneAThis parameter specifies what to do when the documentation links " to an image that does not exist. >Ignore missing image files. Superdoc will still generate HTML = image tags, but will not fail if a corresponding image file @ does not exist. This setting may be useful for testing, or to < build documentation when the image files are incomplete or 9 missing. It is not recommended to use this setting for  production purposes. !;This is the default setting. Cabal will fail with an error > message if the documentation links to an image that does not  exist or cannot be found. "<This parameter specifies where to find image files that are ! linked to in the documentation. #=Assume the images are already present in the directory where A the Haddock documentation is being generated. This is useful if " the images have been declared as extra-html-files in the  .cabal0 file. They will then have been copied to their : rightful location by Cabal. Superdoc will check that the  required images are present. $<Copy image files from the specified source directory, which 1 is relative to the package root. The default is "images". = Superdoc will copy the required images to their appropriate = location within the generated HTML documentation. The image " files should also be declared as extra-source-files in the  .cabal file. %!A data structure to hold Superdoc's parameters. Additional = parameters may be added in the future, so to ensure forward = compatibility, packages should always specify parameters by  modifying *, for example like this: 8 let params = defaultSuperdocArgs { imageSource = ... } 'Where to look for image files. (&What to do about missing image files. )1Bootstrapping mode. Required to generate Superdoc's own A documentation, because at that point, Superdoc is typically not B yet installed. Other packages using Superdoc should not set this  flag. *!The default Superdoc parameters. +BA hook for Haddock. This simply adds a command line option to the 8 subordinate Haddock process, instructing it to use the  superdoc-armor) preprocessor. Its purpose is to replace 7 UTF8-encoded Unicode characters by their ASCII armor. ,>A hook to run after Haddock completes. This resolves Superdoc D markup and ASCII armor in all generated HTML files. It also copies B all of the linked images to the HTML directory (depending on the  ' and (! parameters). Finally, it checks  for the "--hyperlink-source"! option, and if necessary, calls  the /1 hook as well (because it is not run from inside  Cabal in this situation). CThe first argument hold the Superdoc parameters, and the remaining  arguments are as for any : hook. -Do the actual work of the , hook, given a path to the  documentation directory. . Perform the action described by " and , D for the given set of images. The last argument is the path for the  documentation directory. />A hook to run after HsColour completes. This goes through the C files generated by HsColour and replaces UTF8 characters by their  corresponding HTML escapes. 0Do the actual work of the , hook, given a path to the  documentation directory.  !"#$%&'()*+,-./0 !"#$%&'()*+,-./0%&'()*"$#! +,-./0 ! "$#%&'()*+,-./0None1@The main function for a Cabal setup script. Use this instead of  ; in your Setup.hs to enable the Superdoc ( documentation features. Typical usage:   import Distribution.Superdoc  main = superdocMain See  #HOWTOHow to use this package for more information. 2Like 1, but also accept parameters  in the form of a % argument. Typical use:  import Distribution.Superdoc U main = superdocMainWithArgs defaultSuperdocArgs { imageSource = CopyFrom "imgdir" } 3A predefined set of <" for package maintainers who need  to use the = function from  Distribution.Simple!. The following is equivalent to  1:  import Distribution.Simple  import Distribution.Superdoc + main = defaultMainWithHooks superdocHooks 4Like 3 , but also accept parameters in  the form of a % argument. Typical use:  import Distribution.Simple  import Distribution.Superdoc S main = defaultMainWithHooks superdocHooksArgs { imageSource = CopyFrom "imgdir" } 1234 !"#$%&'()*12341%&'()*"$#! 2341234>      !"#$%&'()**+,-./0123456789:;<=>?@>AB>?C>ADEsuperdoc-0.1.2.0Distribution.Superdoc.UTF8Distribution.Superdoc.MarkupDistribution.Superdoc.HooksDistribution.SuperdocTokenInvalidUnicode parse_utf8Filter filter_idfilter_handles filter_file filter_filesmarkup markup_toplift markup_nestedmarkup_bracketedmarkup_underscoremarkup_nonbracket markup_other markup_char markup_tagmarkup_keyword markup_unimarkup_uni_uppermarkup_uni_lowermarkup_uni_symbolmarkup_symbol_digitmarkup_literalmarkup_bracketed_literal markup_bodyto_htmlto_armorencode ImageMissing IgnoreMissing FailOnMissing ImageSourceExtraHtmlFilesCopyFrom SuperdocArgs imageSource imageMissing bootstrapdefaultSuperdocArgs haddockhook posthaddockdo_posthaddock handle_images posthscolourdo_posthscolour superdocMainsuperdocMainArgs superdocHookssuperdocHooksArgstok0tok1tok2tok3tok4 Cabal-1.16.0Distribution.Simple.UserHooks postHaddockDistribution.Simple defaultMain UserHooksdefaultMainWithHooks