sslang-0.1.0.0
Safe HaskellNone
LanguageHaskell2010

Front.Token

Description

Sslang source code tokens.

Synopsis

Documentation

newtype Token Source #

Tokens extracted from source text.

Constructors

Token (Span, TokenType) 

Instances

Instances details
Eq Token Source # 
Instance details

Defined in Front.Token

Methods

(==) :: Token -> Token -> Bool #

(/=) :: Token -> Token -> Bool #

Show Token Source # 
Instance details

Defined in Front.Token

Methods

showsPrec :: Int -> Token -> ShowS #

show :: Token -> String #

showList :: [Token] -> ShowS #

Pretty Token Source #

Pretty instance for Token, good for dumping tokens for inspection.

Prints TokenType via both its Pretty and Show instances for clarity.

Instance details

Defined in Front.Token

Methods

pretty :: Token -> Doc ann

prettyList :: [Token] -> Doc ann

tokenType :: Token -> TokenType Source #

Extract the TokenType from a Token.

data Span Source #

The location of a token in the source text.

Constructors

Span 

Fields

Instances

Instances details
Eq Span Source # 
Instance details

Defined in Front.Token

Methods

(==) :: Span -> Span -> Bool #

(/=) :: Span -> Span -> Bool #

Show Span Source # 
Instance details

Defined in Front.Token

Methods

showsPrec :: Int -> Span -> ShowS #

show :: Span -> String #

showList :: [Span] -> ShowS #

Pretty Span Source #

Pretty instance for Span. Reports both line:col and [addr+len].

Instance details

Defined in Front.Token

Methods

pretty :: Span -> Doc ann

prettyList :: [Span] -> Doc ann

data TokenType Source #

The types of tokens that can appear in a sslang source file.

Instances

Instances details
Eq TokenType Source # 
Instance details

Defined in Front.Token

Show TokenType Source # 
Instance details

Defined in Front.Token

Pretty TokenType Source #

Pretty instance for TokenType. Recovers strings from keywords.

Instance details

Defined in Front.Token

Methods

pretty :: TokenType -> Doc ann

prettyList :: [TokenType] -> Doc ann

prettyTokens :: [Token] -> String Source #

Pretty print a list of tokens.