public static string TokenName()

in Iris/IrisCompiler/FrontEnd/Lexer.cs [75:143]


        public static string TokenName(Token token)
        {
            string constName = Enum.GetName(typeof(Token), token).ToLower();
            if (constName.StartsWith("kw"))
                return "'" + constName.Substring(2) + "'";

            if (constName.StartsWith("chr"))
            {
                switch (token)
                {
                    case Token.ChrOpenParen:
                        return "'('";
                    case Token.ChrCloseParen:
                        return "')'";
                    case Token.ChrOpenBracket:
                        return "'['";
                    case Token.ChrCloseBracket:
                        return "']'";
                    case Token.ChrColon:
                        return "':'";
                    case Token.ChrSemicolon:
                        return "';'";
                    case Token.ChrAssign:
                        return "':='";
                    case Token.ChrEqual:
                        return "'='";
                    case Token.ChrNotEqual:
                        return "'<>'";
                    case Token.ChrPlus:
                        return "'+'";
                    case Token.ChrMinus:
                        return "'-'";
                    case Token.ChrStar:
                        return "'*'";
                    case Token.ChrSlash:
                        return "'/'";
                    case Token.ChrPercent:
                        return "'%'";
                    case Token.ChrComma:
                        return "','";
                    case Token.ChrPeriod:
                        return "'.'";
                    case Token.ChrGreaterThan:
                        return "'>'";
                    case Token.ChrLessThan:
                        return "'<'";
                    case Token.ChrGreaterThanEqual:
                        return "'>='";
                    case Token.ChrLessThanEqual:
                        return "'<='";
                    case Token.ChrDotDot:
                        return "'..'";
                }
            }

            switch (token)
            {
                case Token.Eof:
                    return "end of file";
                case Token.Number:
                    return "numeric constant";
                case Token.String:
                    return "string constant";
                case Token.Identifier:
                    return "identifier";
                default:
                    throw new NotSupportedException("Can't get name of token.  Missing case?");
            }
        }