module UHC.Light.Compiler.Scanner.Scanner ( module UHC.Light.Compiler.Scanner.Machine, module UHC.Light.Compiler.Scanner.Token, module UHC.Light.Compiler.Scanner.TokenParser, module UU.Scanner.Position ) where import Data.List import UHC.Light.Compiler.Scanner.Machine import UHC.Light.Compiler.Scanner.Token import UHC.Light.Compiler.Scanner.TokenParser import UU.Scanner.Position import UU.Scanner.GenTokenOrd () import UU.Scanner.GenTokenSymbol () {-# LINE 32 "src/ehc/Scanner/Scanner.chs" #-} instance Show Token where showsPrec _ token = showString (case token of Reserved key pos -> "symbol " ++ key ++ maybeshow pos ValToken tp val pos -> show tp ++ " " ++ concat (intersperse "." val) ++ maybeshow pos ) instance Show EnumValToken where show tp = case tp of TkVarid -> "lower case identifier" TkConid -> "upper case identifier" TkOp -> "operator" TkConOp -> "con operator" TkQOp -> "qualified operator" TkQVarid -> "lower case qualified identifier" TkQConid -> "upper case qualified identifier" TkQConOp -> "qualified con operator" TkString -> "string" TkChar -> "character" TkInteger8 -> "octal integer" TkInteger10 -> "decimal Integer" TkInteger16 -> "hexadecimal integer" TkFraction -> "fraction (float,...)" TkTextnm -> "text name" TkTextln -> "text lines" TkError -> "error in scanner:" maybeshow :: Pos -> String maybeshow (Pos l c fn) | l <= 0 || c <= 0 = "" | otherwise = " at line " ++ show l ++ ", column " ++ show c ++ " of file " ++ show fn