úÎ!-*/      !"#$%&'()*+,-.Safe¿ haskell-lexerThe posisiotn within a file. haskell-lexer*The line and column numbers of a position. haskell-lexer/The first column is designated column 1, not 0. haskell-lexerAdvance position by a string. haskell-lexer'Advance position by a single character. Safeæ  haskell-lexerHaskell token classifications:  haskell-lexerVariable  haskell-lexer Constructor  haskell-lexerVariable operator  haskell-lexerConstructor operator haskell-lexerReserved keyword haskell-lexerReserved operator haskell-lexerIntegral numeric literal haskell-lexerFractional numeric literal haskell-lexerCharacter literal haskell-lexerString literal haskell-lexer Quasi quote: [|text|stuff|] haskell-lexerQualified variable haskell-lexerQualified constructor haskell-lexerQualified variable operator haskell-lexerQualified constructor operator haskell-lexer White space haskell-lexer/Internal: causes a call to an external function haskell-lexerA nested comment ({- ... -}) haskell-lexerNot handled by the lexer haskell-lexerDashes  haskell-lexerThe stuff after the dashes% haskell-lexerrecognized in a later pass& haskell-lexerfor implicit braces' haskell-lexer(<n>, to preceed first token on each line( haskell-lexer9{n}, after let, where, do or of, if not followed by a "{" ('%$#"!  &Safek* haskell-lexer¤This is an implementation of Haskell layout, as specified in section 9.3 of the revised Haskell 98 report. This preprocessor inserts the extra <n> and {n} tokens.)*Safeª$ &  !"#$%'(/012Safeq3Safe(–+ haskell-lexer The function +ß handles the part of lexical analysis that can be done independently of the parser---the tokenization and the addition of the extra layout tokens <n> and {n}, as specified in section 9.3 of the revised Haskell 98 Report., haskell-lexerFRemove token that are not meaningful (e.g., white space and comments).- haskell-lexeroTokenize and add position information. Preserves white space, and does not insert extra tokens due to layout.. haskell-lexerSame as -/, except that it uses the given start position.4 haskell-lexerSince nextPosÿ examines one character at a time, it will increase the line number by 2 if it sees CRLF, which can happen when reading DOS files on a Unix like system. Since the extra CR characters can cause trouble later as well, we choose to simply remove them here./ &  !"#$%'()*+,-./) &  !"#$%'(-.+,*5      !"#$%&'()*+,-./0123456789:;(haskell-lexer-1.1-JT4saU02sFM3HKi47yLyicLanguage.Haskell.LexerLanguage.Haskell.Lexer.PositionLanguage.Haskell.Lexer.TokensLanguage.Haskell.Lexer.LayoutLanguage.Haskell.Lexer.UtilsLanguage.Haskell.Lexer.LexPoscharlinecolumnsimpPosstartPosnextPosnextPos1TokenVaridConidVarsymConsym Reservedid Reservedop SpecialidIntLitFloatLitCharLit StringLitQQuoteQvaridQconidQvarsymQconsymSpecial WhitespaceNestedCommentStart NestedCommentLiterateComment CommentstartComment ErrorTokenGotEOFTheRest ModuleName ModuleAliasLayoutIndentOpenPosToken layoutPre lexerPass1rmSpace lexerPass0 lexerPass0'gotEOFgotErroroutput nestedComment haskellLexrmcr