curry-base-1.1.1: Functions for manipulating Curry programs
Copyright(c) 1999 - 2004 Wolfgang Lux
2005 Martin Engelke
2011 - 2013 Björn Peemöller
2016 Finn Teegen
2016 Jan Tikovsky
LicenseBSD-3-clause
Maintainerbjp@informatik.uni-kiel.de
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Curry.Syntax.Lexer

Description

 
Synopsis

Data types for tokens

data Token Source #

Data type for curry lexer tokens

Constructors

Token Category Attributes 

Instances

Instances details
Eq Token Source # 
Instance details

Defined in Curry.Syntax.Lexer

Methods

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

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

Ord Token Source # 
Instance details

Defined in Curry.Syntax.Lexer

Methods

compare :: Token -> Token -> Ordering

(<) :: Token -> Token -> Bool

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

(>) :: Token -> Token -> Bool

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

max :: Token -> Token -> Token

min :: Token -> Token -> Token

Show Token Source # 
Instance details

Defined in Curry.Syntax.Lexer

Methods

showsPrec :: Int -> Token -> ShowS

show :: Token -> String

showList :: [Token] -> ShowS

Symbol Token Source # 
Instance details

Defined in Curry.Syntax.Lexer

Methods

isEOF :: Token -> Bool Source #

dist :: Int -> Token -> Distance Source #

data Attributes Source #

Attributes associated to a token

Constructors

NoAttributes 
CharAttributes 

Fields

IntAttributes 

Fields

FloatAttributes 

Fields

StringAttributes 

Fields

IdentAttributes 

Fields

OptionsAttributes 

Fields

Instances

Instances details
Show Attributes Source # 
Instance details

Defined in Curry.Syntax.Lexer

Methods

showsPrec :: Int -> Attributes -> ShowS

show :: Attributes -> String

showList :: [Attributes] -> ShowS

lexing functions

lexSource :: FilePath -> String -> CYM [(Span, Token)] Source #

Lex source code

lexer :: Lexer Token a Source #

CPS-Lexer for Curry

fullLexer :: Lexer Token a Source #

CPS-Lexer for Curry which also lexes comments. This lexer is useful for documentation tools.