Copyright | (c) The GHC Team 1997-2000 (c) Niklas Broberg 2004-2012 |
---|---|
License | BSD-style (see the file LICENSE.txt) |
Maintainer | Niklas Broberg, niklas.broberg@chalmers.se |
Stability | stable |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell98 |
Lexer for Haskell with extensions.
Synopsis
- lexTokenStream :: String -> ParseResult [Loc Token]
- lexTokenStreamWithMode :: ParseMode -> String -> ParseResult [Loc Token]
- data Token
- = VarId String
- | LabelVarId String
- | QVarId (String, String)
- | IDupVarId String
- | ILinVarId String
- | ConId String
- | QConId (String, String)
- | DVarId [String]
- | VarSym String
- | ConSym String
- | QVarSym (String, String)
- | QConSym (String, String)
- | IntTok (Integer, String)
- | FloatTok (Rational, String)
- | Character (Char, String)
- | StringTok (String, String)
- | IntTokHash (Integer, String)
- | WordTokHash (Integer, String)
- | FloatTokHash (Rational, String)
- | DoubleTokHash (Rational, String)
- | CharacterHash (Char, String)
- | StringHash (String, String)
- | LeftParen
- | RightParen
- | LeftHashParen
- | RightHashParen
- | SemiColon
- | LeftCurly
- | RightCurly
- | VRightCurly
- | LeftSquare
- | RightSquare
- | ParArrayLeftSquare
- | ParArrayRightSquare
- | Comma
- | Underscore
- | BackQuote
- | Dot
- | DotDot
- | Colon
- | QuoteColon
- | DoubleColon
- | Equals
- | Backslash
- | Bar
- | LeftArrow
- | RightArrow
- | At
- | TApp
- | Tilde
- | DoubleArrow
- | Minus
- | Exclamation
- | Star
- | LeftArrowTail
- | RightArrowTail
- | LeftDblArrowTail
- | RightDblArrowTail
- | THExpQuote
- | THPatQuote
- | THDecQuote
- | THTypQuote
- | THCloseQuote
- | THIdEscape String
- | THParenEscape
- | THVarQuote
- | THTyQuote
- | THQuasiQuote (String, String)
- | RPGuardOpen
- | RPGuardClose
- | RPCAt
- | XCodeTagOpen
- | XCodeTagClose
- | XStdTagOpen
- | XStdTagClose
- | XCloseTagOpen
- | XEmptyTagClose
- | XChildTagOpen
- | XPCDATA String
- | XRPatOpen
- | XRPatClose
- | PragmaEnd
- | RULES
- | INLINE Bool
- | INLINE_CONLIKE
- | SPECIALISE
- | SPECIALISE_INLINE Bool
- | SOURCE
- | DEPRECATED
- | WARNING
- | SCC
- | GENERATED
- | CORE
- | UNPACK
- | NOUNPACK
- | OPTIONS (Maybe String, String)
- | LANGUAGE
- | ANN
- | MINIMAL
- | NO_OVERLAP
- | OVERLAP
- | OVERLAPPING
- | OVERLAPPABLE
- | OVERLAPS
- | INCOHERENT
- | COMPLETE
- | KW_As
- | KW_By
- | KW_Case
- | KW_Class
- | KW_Data
- | KW_Default
- | KW_Deriving
- | KW_Do
- | KW_MDo
- | KW_Else
- | KW_Family
- | KW_Forall
- | KW_Group
- | KW_Hiding
- | KW_If
- | KW_Import
- | KW_In
- | KW_Infix
- | KW_InfixL
- | KW_InfixR
- | KW_Instance
- | KW_Let
- | KW_Module
- | KW_NewType
- | KW_Of
- | KW_Proc
- | KW_Rec
- | KW_Role
- | KW_Then
- | KW_Type
- | KW_Using
- | KW_Where
- | KW_Qualified
- | KW_Pattern
- | KW_Stock
- | KW_Anyclass
- | KW_Via
- | KW_Foreign
- | KW_Export
- | KW_Safe
- | KW_Unsafe
- | KW_Threadsafe
- | KW_Interruptible
- | KW_StdCall
- | KW_CCall
- | KW_CPlusPlus
- | KW_DotNet
- | KW_Jvm
- | KW_Js
- | KW_JavaScript
- | KW_CApi
- | EOF
- data Loc a = Loc {}
- showToken :: Token -> String
Documentation
lexTokenStream :: String -> ParseResult [Loc Token] Source #
Lex a string into a list of Haskell 2010 source tokens.
lexTokenStreamWithMode :: ParseMode -> String -> ParseResult [Loc Token] Source #
Lex a string into a list of Haskell source tokens, using an explicit mode.
An entity located in the source.
Instances
Eq a => Eq (Loc a) Source # | |
Ord a => Ord (Loc a) Source # | |
Show a => Show (Loc a) Source # | |
Generic (Loc a) Source # | |
type Rep (Loc a) Source # | |
Defined in Language.Haskell.Exts.SrcLoc type Rep (Loc a) = D1 (MetaData "Loc" "Language.Haskell.Exts.SrcLoc" "haskell-src-exts-1.21.0-inplace" False) (C1 (MetaCons "Loc" PrefixI True) (S1 (MetaSel (Just "loc") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SrcSpan) :*: S1 (MetaSel (Just "unLoc") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a))) |