| Copyright | (c) Eric Mertens 2023 |
|---|---|
| License | ISC |
| Maintainer | emertens@gmail.com |
| Safe Haskell | None |
| Language | Haskell2010 |
Toml.Syntax.Token
Description
This module provides the datatype for the lexical syntax of TOML files. These tokens are generated by Toml.Syntax.Lexer and consumed in Toml.Syntax.Parser.
Synopsis
- data Token
- = TokTrue
- | TokFalse
- | TokComma
- | TokEquals
- | TokNewline
- | TokPeriod
- | TokSquareO
- | TokSquareC
- | Tok2SquareO
- | Tok2SquareC
- | TokCurlyO
- | TokCurlyC
- | TokBareKey Text
- | TokString Text
- | TokMlString Text
- | TokInteger !Integer
- | TokFloat !Double
- | TokOffsetDateTime !ZonedTime
- | TokLocalDateTime !LocalTime
- | TokLocalDate !Day
- | TokLocalTime !TimeOfDay
- | TokEOF
- mkBinInteger :: String -> Token
- mkDecInteger :: String -> Token
- mkOctInteger :: String -> Token
- mkHexInteger :: String -> Token
- mkFloat :: String -> Token
- localDatePatterns :: [String]
- localTimePatterns :: [String]
- localDateTimePatterns :: [String]
- offsetDateTimePatterns :: [String]
Types
Lexical token
Constructors
| TokTrue | true |
| TokFalse | false |
| TokComma | ',' |
| TokEquals | '=' |
| TokNewline | end-of-line |
| TokPeriod | |
| TokSquareO | '[' |
| TokSquareC | ']' |
| Tok2SquareO | '[[' |
| Tok2SquareC | ']]' |
| TokCurlyO | '{' |
| TokCurlyC | '}' |
| TokBareKey Text | bare key |
| TokString Text | string literal |
| TokMlString Text | 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 |
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
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.