public Object Execute(ICodeNode node)
        {
            ICodeNodeTypeImplementation nodeType = (ICodeNodeTypeImplementation)node.GetType();
            SendSourceLineMessage(node);

            switch (nodeType.ToString())
            {
                case "COMPOUND":
                    {
                        CompoundExecutor compoundExecutor = new CompoundExecutor(this);
                        return compoundExecutor;
                    }

                case "ASSIGN":
                    {
                        AssignmentExecutor assignmentExecutor = new AssignmentExecutor(this);
                        return assignmentExecutor;
                    }

                case "NO_OP": return null;

                default:
                    {
                        errorHandler.flag(node, RuntimeErrorCode.UNIMPLEMENTED_FEATURE, this);
                        return null;
                    }
            }
        }
        public Object Execute(ICodeNode node)
        {
            ICodeNodeTypeImplementation nodeType = (ICodeNodeTypeImplementation)node.GetType();

            SendSourceLineMessage(node);

            switch (nodeType.ToString())
            {
            case "COMPOUND":
            {
                CompoundExecutor compoundExecutor = new CompoundExecutor(this);
                return(compoundExecutor);
            }

            case "ASSIGN":
            {
                AssignmentExecutor assignmentExecutor = new AssignmentExecutor(this);
                return(assignmentExecutor);
            }

            case "NO_OP": return(null);

            default:
            {
                errorHandler.flag(node, RuntimeErrorCode.UNIMPLEMENTED_FEATURE, this);
                return(null);
            }
            }
        }