/// <summary>
        /// Queries the Reserve Table to determine if the current token is a reserve word.
        /// If it is then the proper token code is returned from the table.
        /// If it is not a reserve word it is given the identifier token code.
        /// </summary>
        /// <returns></returns>
        private int GetIdentifierCode()
        {
            int code = ReserveTable.LookupName(NextToken.ToUpper());

            if (code == -1)
            {
                return(IDENTIFIER);
            }

            return(code);
        }
        /// <summary>
        /// Checks if the token is already in the symbol table.
        /// If it is not then it is added, otherwise it does nothing.
        /// </summary>
        private void AddTokenToSymbolTable()
        {
            string tokenToAdd;

            if (TokenCode == IDENTIFIER)
            {
                tokenToAdd = NextToken.ToUpper();
            }
            else
            {
                tokenToAdd = NextToken;
            }

            int symbolIndex = SymbolTable.LookupSymbol(tokenToAdd);

            if (symbolIndex == -1)
            {
                switch (TokenCode)
                {
                case IDENTIFIER:
                    SymbolTable.AddSymbol(tokenToAdd, SymbolKind.Variable, 0);
                    break;

                case INTEGER:
                    SymbolTable.AddSymbol(tokenToAdd, SymbolKind.Constant, Int64.Parse(tokenToAdd));
                    break;

                case FLOATING_POINT:
                    SymbolTable.AddSymbol(tokenToAdd, SymbolKind.Constant, Double.Parse(tokenToAdd));
                    break;

                case STRING:
                    SymbolTable.AddSymbol(tokenToAdd, SymbolKind.Constant, tokenToAdd);
                    break;
                }
            }
        }