예제 #1
0
        /// <summary>
        /// Visits the given input data node.
        /// </summary>
        /// <param name="data">Input data node.</param>
        public override void PostVisit(InputData.PDDL.ForallEffect data)
        {
            List <IEffect> argumentEffects = new List <IEffect>();

            for (int i = 0; i < data.Effects.Count; ++i)
            {
                argumentEffects.Add(EffectsStack.Pop());
            }
            argumentEffects.Reverse();

            EffectsStack.Push(new ForallEffect(new Parameters(data.Parameters, IdManager), argumentEffects));
            IdManager.Variables.UnregisterLocalParameters(data.Parameters);
        }
예제 #2
0
 /// <summary>
 /// Visits the given input data node.
 /// </summary>
 /// <param name="data">Input data node.</param>
 public override void Visit(InputData.PDDL.ForallEffect data)
 {
     IdManager.Variables.RegisterLocalParameters(data.Parameters);
 }