TokenKind = enum
tkUnknown, tkEOF, tkIdentifier, tkCssVar, tkInt, tkFloat, tkString,
tkSemicolon = ";", tkColon = ":", tkComma = ",", tkDot = ".", tkHash = "#",
tkLParen = "(", tkRParen = ")", tkLBrace = "{", tkRBrace = "}",
tkLBracket = "[", tkRBracket = "]", tkPlus = "+", tkMinus = "-",
tkAsterisk = "*", tkDivide = "/", tkPercent = "%", tkEqual = "=",
tkDoubleEqual = "==", tkNotEqual = "!=", tkLT = "<", tkLTE = "<=", tkGT = ">",
tkGTE = ">=", tkAmp = "&", tkAndAnd = "&&", tkOrOr = "||", tkOr = "or",
tkKeywordIs = "is", tkKeywordIsnot = "isnot", tkAnd = "and",
tkKeywordNot = "not", tkBacktick = "`", tkAt = "@", tkAssign = "=",
tkPlusAssign = "+=", tkMinusAssign = "-=", tkAsteriskAssign = "*=",
tkSlashAssign = "/=", tkPercentAssign = "%=", tkBang = "!", tkTilde = "~",
tkTildeAssign = "~=", tkCaret = "^", tkCaretAssign = "^=",
tkPipeAssign = "|=", tkDollarAssign = "$=", tkKeywordVar = "var",
tkKeywordLet = "let", tkKeywordConst = "const",
tkKeywordFunction = "function", tkKeywordReturn = "return",
tkKeywordIf = "if", tkKeywordElse = "else", tkKeywordElif = "elif",
tkKeywordWhile = "while", tkKeywordFor = "for", tkKeywordIn = "in",
tkKeywordOf = "of", tkKeywordCase = "case", tkKeywordBreak = "break",
tkKeywordContinue = "continue", tkKeywordEcho = "echo",
tkKeywordTrue = "true", tkKeywordFalse = "false", tkKeywordNull = "null",
tkKeywordUndefined = "undefined", tkKeywordImport = "import",
tkKeywordIterator = "iterator", tkKeywordMixin = "mixin", tkComment,
tkDocBlock, tkDocBlockBang