YAMP.ParseEngine.IsIdentifierStart C# (CSharp) Method

IsIdentifierStart() public static method

Determines if the given character is the start of an identifier.
public static IsIdentifierStart ( Char ch ) : System.Boolean
ch Char The character to be examined.
return System.Boolean
        public static Boolean IsIdentifierStart(Char ch)
        {
            return (ch == 36) || (ch == 95) ||  // $ (dollar) and _ (underscore)
                (ch >= 65 && ch <= 90) ||       // A..Z
                (ch >= 97 && ch <= 122);        // a..z
        }

Usage Example

Exemplo n.º 1
0
        public override Expression Scan(ParseEngine engine)
        {
            var index = engine.Pointer;
            var chars = engine.Characters;

            if (ParseEngine.IsIdentifierStart(chars[index]))
            {
                index++;

                while (index < chars.Length && ParseEngine.IsIdentifierPart(chars[index]))
                {
                    index++;
                }

                var name = new String(chars, engine.Pointer, index - engine.Pointer);

                if (engine.UseKeywords)
                {
                    var keyword = engine.Elements.FindKeywordExpression(name, engine);

                    if (keyword != null)
                    {
                        return(keyword);
                    }
                }

                var exp = new SymbolExpression(engine, name);
                engine.SetPointer(index);
                return(exp);
            }

            return(null);
        }