toml-parser-1.3.0.0: TOML 1.0.0 parser
Copyright(c) Eric Mertens 2023
LicenseISC
Maintaineremertens@gmail.com
Safe HaskellSafe-Inferred
LanguageHaskell2010

Toml.Lexer.Token

Description

This module provides the datatype for the lexical syntax of TOML files. These tokens are generated by Toml.Lexer and consumed in Toml.Parser.

Synopsis

Types

data Token #

Lexical token

Constructors

TokTrue
true
TokFalse
false
TokComma
','
TokEquals
'='
TokNewline
end-of-line
TokPeriod
.
TokSquareO
'['
TokSquareC
']'
Tok2SquareO
'[['
Tok2SquareC
']]'
TokCurlyO
'{'
TokCurlyC
'}'
TokBareKey String

bare key

TokString String

string literal

TokMlString String

multiline string literal

TokInteger !Integer

integer literal

TokFloat !Double

floating-point literal

TokOffsetDateTime !ZonedTime

date-time with timezone offset

TokLocalDateTime !LocalTime

local date-time

TokLocalDate !Day

local date

TokLocalTime !TimeOfDay

local time

TokEOF
end-of-input

Instances

Instances details
Read Token # 
Instance details

Defined in Toml.Lexer.Token

Methods

readsPrec :: Int -> ReadS Token

readList :: ReadS [Token]

readPrec :: ReadPrec Token

readListPrec :: ReadPrec [Token]

Show Token # 
Instance details

Defined in Toml.Lexer.Token

Methods

showsPrec :: Int -> Token -> ShowS

show :: Token -> String

showList :: [Token] -> ShowS

Integer literals

mkBinInteger :: String -> Token #

Construct a TokInteger from a binary integer literal lexeme.

mkDecInteger :: String -> Token #

Construct a TokInteger from a decimal integer literal lexeme.

mkOctInteger :: String -> Token #

Construct a TokInteger from a octal integer literal lexeme.

mkHexInteger :: String -> Token #

Construct a TokInteger from a hexadecimal integer literal lexeme.

Float literals

mkFloat :: String -> Token #

Construct a TokFloat from a floating-point literal lexeme.

Date and time patterns

localDatePatterns :: [String] #

Format strings for local date lexemes.

localTimePatterns :: [String] #

Format strings for local time lexemes.

localDateTimePatterns :: [String] #

Format strings for local datetime lexemes.

offsetDateTimePatterns :: [String] #

Format strings for offset datetime lexemes.