Ejemplo n.º 1
0
        private void defineChild(Environment env)
        {
            ChildDefineWord.Execute(env);

            if (env.IsExitMode) return;

            VariableWord variableWord = env.LastCompiledWord as VariableWord;
            if (variableWord != null)
            {
                DefinedChildWord definedChildWord = new DefinedChildWord(variableWord.Name, Name, variableWord.AllocatedAddress);

                definedChildWord.ExecuteWords.Add(variableWord);
                definedChildWord.ExecuteWords.AddRange(ChildExecuteWord.ExecuteWords);
                variableWord.HidesSeeNodeDescription = true;

                env.Words.Remove(variableWord.Name);
                env.Words.AddOrUpdate(definedChildWord);
            }
            // TODO: else, throw exception (?)
        }
Ejemplo n.º 2
0
        private void defineChild(Environment env)
        {
            ChildDefineWord.Execute(env);

            if (env.IsExitMode)
            {
                return;
            }

            VariableWord variableWord = env.LastCompiledWord as VariableWord;

            if (variableWord != null)
            {
                DefinedChildWord definedChildWord = new DefinedChildWord(variableWord.Name, Name, variableWord.AllocatedAddress);

                definedChildWord.ExecuteWords.Add(variableWord);
                definedChildWord.ExecuteWords.AddRange(ChildExecuteWord.ExecuteWords);
                variableWord.HidesSeeNodeDescription = true;

                env.Words.Remove(variableWord.Name);
                env.Words.AddOrUpdate(definedChildWord);
            }
            // TODO: else, throw exception (?)
        }