module Language.Lua.Token where
data Token
= TokPlus
| TokMinus
| TokStar
| TokSlash
| TokPercent
| TokExp
| TokSh
| TokEqual
| TokNotequal
| TokLEq
| TokGEq
| TokLT
| TokGT
| TokAssign
| TokLParen
| TokRParen
| TokLBrace
| TokRBrace
| TokLBracket
| TokRBracket
| TokDColon
| TokSemic
| TokColon
| TokComma
| TokDot
| TokDDot
| TokEllipsis
| TokDLT
| TokDGT
| TokAmpersand
| TokPipe
| TokDSlash
| TokTilde
| TokAnd
| TokBreak
| TokDo
| TokElse
| TokElseIf
| TokEnd
| TokFalse
| TokFor
| TokFunction
| TokGoto
| TokIf
| TokIn
| TokLocal
| TokNil
| TokNot
| TokOr
| TokRepeat
| TokReturn
| TokThen
| TokTrue
| TokUntil
| TokWhile
| TokNum
| TokSLit
| TokIdent
| TokWhiteSpace
| TokComment
| TokUntermString
| TokUntermComment
| TokUnexpected
deriving Eq
instance Show Token where
show TokPlus = "`+`"
show TokMinus = "`-`"
show TokStar = "`*`"
show TokSlash = "`/`"
show TokPercent = "`%`"
show TokExp = "`^`"
show TokSh = "`#`"
show TokEqual = "`==`"
show TokNotequal = "`~=`"
show TokLEq = "`<=`"
show TokGEq = "`>=`"
show TokLT = "`<`"
show TokGT = "`>`"
show TokAssign = "`=`"
show TokLParen = "`(`"
show TokRParen = "`)`"
show TokLBrace = "`{`"
show TokRBrace = "`}`"
show TokLBracket = "`[`"
show TokRBracket = "`]`"
show TokDColon = "`::`"
show TokSemic = "`;`"
show TokColon = "`:`"
show TokComma = "`,`"
show TokDot = "`.`"
show TokDDot = "`..`"
show TokEllipsis = "`...`"
show TokDLT = "`<<`"
show TokDGT = "`>>`"
show TokAmpersand = "`&`"
show TokPipe = "`|`"
show TokDSlash = "`//`"
show TokTilde = "`~`"
show TokAnd = "`and`"
show TokBreak = "`break`"
show TokDo = "`do`"
show TokElse = "`else`"
show TokElseIf = "`elseif`"
show TokEnd = "`end`"
show TokFalse = "`false`"
show TokFor = "`for`"
show TokFunction = "`function`"
show TokGoto = "`goto`"
show TokIf = "`if`"
show TokIn = "`in`"
show TokLocal = "`local`"
show TokNil = "`nil`"
show TokNot = "`not`"
show TokOr = "`or`"
show TokRepeat = "`repeat`"
show TokReturn = "`return`"
show TokThen = "`then`"
show TokTrue = "`true`"
show TokUntil = "`until`"
show TokWhile = "`while`"
show TokWhiteSpace = "white_space"
show TokComment = "comment"
show TokNum = "number"
show TokSLit = "string"
show TokIdent = "identifier"
show TokUntermString = "unterminated_string"
show TokUntermComment = "unterminated_comment"
show TokUnexpected = "unexpected_character"