haskell-src-exts-1.23.1: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer
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-Inferred
Language Haskell98

Language.Haskell.Exts.Lexer

Description

Lexer for Haskell with extensions.

Synopsis

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.

data Token Source #

Constructors

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
OpenArrowBracket
CloseArrowBracket
THExpQuote

)

THTExpQuote
THPatQuote
THDecQuote
THTypQuote
THCloseQuote
THTCloseQuote

]

THIdEscape String

|]

THParenEscape
THTIdEscape String
THTParenEscape
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 Source #

An entity located in the source.

Constructors

Loc

Instances

Instances details
Eq a => Eq ( Loc a) Source #
Instance details

Defined in Language.Haskell.Exts.SrcLoc

Ord a => Ord ( Loc a) Source #
Instance details

Defined in Language.Haskell.Exts.SrcLoc

Show a => Show ( Loc a) Source #
Instance details

Defined in Language.Haskell.Exts.SrcLoc

Generic ( Loc a) Source #
Instance details

Defined in Language.Haskell.Exts.SrcLoc

Associated Types

type Rep ( Loc a) :: Type -> Type Source #

type Rep ( Loc a) Source #
Instance details

Defined in Language.Haskell.Exts.SrcLoc