public PostponeWord(Word postponedWord) : base("postpone") { PostponedWordName = postponedWord.Name; if (postponedWord.IsImmediate) { ExecuteWords.Add(postponedWord); } else { ExecuteWords.Add(new Word("", postponedWord.CompileOrExecute)); } }
public void Execute(Environment env) { if (!env.IsExitMode) { if (IsPrimitive) { PrimitiveExecuteAction(env); } else { ExecuteWords.ForEach(word => { if (!env.IsExitMode) { word.Execute(env); } }); } if (env.IsExitMode && RecognizedExitWordNames.Contains(env.ActiveExitWordName)) { env.ActiveExitWordName = null; } } }