Text.Read.Lex

base-4.12.0.0: Basic libraries

Copyright | (c) The University of Glasgow 2002
License | BSD-style (see the file libraries/base/LICENSE)
Maintainer | libraries@haskell.org
Stability | provisional
Portability | non-portable (uses Text.ParserCombinators.ReadP)
Safe Haskell | Trustworthy
Language | Haskell2010

Text.Read.Lex

Description

The cut-down Haskell lexer, used by Text.Read

Synopsis

- data Lexeme
  - = Char Char
  - | String String
  - | Punc String
  - | Ident String
  - | Symbol String
  - | Number Number
  - | EOF
- data Number
- numberToInteger :: Number -> Maybe Integer
- numberToFixed :: Integer -> Number -> Maybe (Integer, Integer)
- numberToRational :: Number -> Rational
- numberToRangedRational :: (Int, Int) -> Number -> Maybe Rational
- lex :: ReadP Lexeme
- expect :: Lexeme -> ReadP ()
- hsLex :: ReadP String
- lexChar :: ReadP Char
- readIntP :: Num a => a -> (Char -> Bool) -> (Char -> Int) -> ReadP a
- readOctP :: (Eq a, Num a) => ReadP a
- readDecP :: (Eq a, Num a) => ReadP a
- readHexP :: (Eq a, Num a) => ReadP a
- isSymbolChar :: Char -> Bool

# Documentation

data Lexeme Source #

Constructors

Char Char | Character literal
String String | String literal, with escapes interpreted
Punc String | Punctuation or reserved symbol, e.g. `(`, `::`
Ident String | Haskell identifier, e.g. `foo`, `Baz`
Symbol String | Haskell symbol, e.g. `>>`, `:%`
Number Number | Since: base-4.6.0.0
EOF |

Instances

Eq Lexeme # | Since: base-2.1
Instance details Defined in Text.Read.Lex Methods (==) :: Lexeme -> Lexeme -> Bool Source # (/=) :: Lexeme -> Lexeme -> Bool Source #
Read Lexeme # | Since: base-2.1
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS Lexeme Source # readList :: ReadS [Lexeme] Source # readPrec :: ReadPrec Lexeme Source # readListPrec :: ReadPrec [Lexeme] Source #
Show Lexeme # | Since: base-2.1
Instance details Defined in Text.Read.Lex Methods showsPrec :: Int -> Lexeme -> ShowS Source # show :: Lexeme -> String Source # showList :: [Lexeme] -> ShowS Source #

data Number Source #

Since: base-4.6.0.0

Instances

Eq Number # | Since: base-4.6.0.0
Instance details Defined in Text.Read.Lex Methods (==) :: Number -> Number -> Bool Source # (/=) :: Number -> Number -> Bool Source #
Show Number # | Since: base-4.6.0.0
Instance details Defined in Text.Read.Lex Methods showsPrec :: Int -> Number -> ShowS Source # show :: Number -> String Source # showList :: [Number] -> ShowS Source #

numberToInteger :: Number -> Maybe Integer Source #

Since: base-4.5.1.0

numberToFixed :: Integer -> Number -> Maybe (Integer, Integer) Source #

Since: base-4.7.0.0

numberToRational :: Number -> Rational Source #

Since: base-4.6.0.0

numberToRangedRational :: (Int, Int) -> Number -> Maybe Rational Source #

Since: base-4.5.1.0

lex :: ReadP Lexeme Source #

expect :: Lexeme -> ReadP () Source #

Since: base-4.7.0.0

hsLex :: ReadP String Source #

Haskell lexer: returns the lexed string, rather than the lexeme

lexChar :: ReadP Char Source #

readIntP :: Num a => a -> (Char -> Bool) -> (Char -> Int) -> ReadP a Source #

readOctP :: (Eq a, Num a) => ReadP a Source #

readDecP :: (Eq a, Num a) => ReadP a Source #

readHexP :: (Eq a, Num a) => ReadP a Source #

isSymbolChar :: Char -> Bool Source #