AIMA.Core.Logic.FOL.Parsing.FOLLexer.identifier C# (CSharp) Method

identifier() private method

private identifier ( ) : Token
return AIMA.Core.Logic.Common.Token
        private Token identifier()
        {
           

            StringBuilder sbuf = new StringBuilder();
            while ((isJavaIdentifierStart(lookAhead(1)))
                    || partOfConnector())
            {
                sbuf.Append(lookAhead(1));
                consume();
            }
            String readString = sbuf.ToString();
            // System.Console.WriteLine(readString);
            if (connectors.Contains(readString))
            {
                return new Token((int)LogicTokenTypes.CONNECTOR, readString);
            }
            else if (quantifiers.Contains(readString))
            {
                return new Token((int)LogicTokenTypes.QUANTIFIER, readString);
            }
            else if (domain.getPredicates().Contains(readString))
            {
                return new Token((int)LogicTokenTypes.PREDICATE, readString);
            }
            else if (domain.getFunctions().Contains(readString))
            {
                return new Token((int)LogicTokenTypes.FUNCTION, readString);
            }
            else if (domain.getConstants().Contains(readString))
            {
                return new Token((int)LogicTokenTypes.CONSTANT, readString);
            }
            else if (isVariable(readString))
            {
                return new Token((int)LogicTokenTypes.VARIABLE, readString);
            }
            else if (readString.Equals("="))
            {
                return new Token((int)LogicTokenTypes.EQUALS, readString);
            }
            else
            {
                throw new ApplicationException("Lexing error on character "
                        + lookAhead(1));
            }

        }