egison-pattern-src-0.2.0.0: src/Language/Egison/Parser/Pattern/Token.hs
-- |
--
-- Module: Language.Egison.Parser.Pattern.Token
-- Description: Tokens in expressions
-- Stability: experimental
--
-- This module defines a set of tokens for token types.
module Language.Egison.Parser.Pattern.Token
( IsToken(..)
)
where
import qualified Data.Char as Char
( isSpace )
-- | Provide a set of tokens needed to parse pattern expressions.
class IsToken c where
isSpace :: c -> Bool
newline :: c
parenLeft :: c
parenRight :: c
underscore :: c
hash :: c
question :: c
exclamation :: c
and :: c
vertical :: c
dollar :: c
bracketLeft :: c
bracketRight :: c
comma :: c
instance IsToken Char where
isSpace = Char.isSpace
newline = '\n'
parenLeft = '('
parenRight = ')'
underscore = '_'
hash = '#'
question = '?'
exclamation = '!'
and = '&'
vertical = '|'
dollar = '$'
bracketLeft = '['
bracketRight = ']'
comma = ','