module UU.Scanner.Token where

import UU.Scanner.GenToken(GenToken(..)) 
import UU.Scanner.Position(Pos) 

type Token = GenToken String EnumValToken String

data EnumValToken
  = TkVarid
  | TkConid
  | TkString
  | TkChar
  | TkInteger8
  | TkInteger10
  | TkInteger16
  | TkFraction
  | TkTextnm
  | TkTextln 
  | TkOp
  | TkConOp
  | TkError
  deriving (Eq, Ord)

reserved                :: String -> Pos -> Token
reserved                =  Reserved 

valueToken              :: EnumValToken -> String -> Pos -> Token
valueToken              =  ValToken 

errToken                :: String -> Pos -> Token
errToken                =  valueToken TkError