Example #1
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="interpreter">An IInterpreter instance.</param>
        /// <param name="message">A message.</param>
        public AbortWithMessageWord(IInterpreter interpreter, string message)
            : base(interpreter)
        {
            Name          = "ABORT";
            IsControlWord = true;
            Action        = () =>
            {
                Interpreter.StackExpect(1);

                if (Interpreter.Pop() != 0)
                {
                    Interpreter.Output.WriteLine(_message);

                    Interpreter.Abort();
                }

                return(1);
            };

            _message = message;
        }