Beispiel #1
0
        /// <summary>
        /// Handles the AST node visit.
        /// </summary>
        /// <param name="astNode">AST node.</param>
        public override void Visit(DomainActionAstNode astNode)
        {
            Action newAction = new Action
            {
                Name          = astNode.Name,
                Parameters    = MasterExporter.ToParameters(astNode.Parameters),
                Preconditions = MasterExporter.ToPreconditions(astNode.Preconditions),
                Effects       = MasterExporter.ToEffects(astNode.Effects)
            };

            DomainData.Actions.Add(newAction);
        }
Beispiel #2
0
 /// <summary>
 /// Handles the AST node visit.
 /// </summary>
 /// <param name="astNode">AST node.</param>
 public override void Visit(NotPEffectAstNode astNode)
 {
     EffectsData.Add(new NotEffect((AtomicFormulaEffect)MasterExporter.ToEffects(astNode.Argument)[0]));
 }
Beispiel #3
0
 /// <summary>
 /// Handles the AST node visit.
 /// </summary>
 /// <param name="astNode">AST node.</param>
 public override void Visit(AndPEffectsAstNode astNode)
 {
     astNode.Arguments.ForEach(arg => EffectsData.AddRange(MasterExporter.ToEffects(arg)));
 }
Beispiel #4
0
 /// <summary>
 /// Handles the AST node visit.
 /// </summary>
 /// <param name="astNode">AST node.</param>
 public override void Visit(WhenCEffectAstNode astNode)
 {
     EffectsData.Add(new WhenEffect(MasterExporter.ToExpression(astNode.Condition), ToPrimitiveEffects(MasterExporter.ToEffects(astNode.Effect))));
 }
Beispiel #5
0
 /// <summary>
 /// Handles the AST node visit.
 /// </summary>
 /// <param name="astNode">AST node.</param>
 public override void Visit(ForallCEffectAstNode astNode)
 {
     EffectsData.Add(new ForallEffect(MasterExporter.ToParameters(astNode.Parameters), MasterExporter.ToEffects(astNode.Effect)));
 }
 /// <summary>
 /// Handles the AST node visit.
 /// </summary>
 /// <param name="astNode">AST node.</param>
 public override void Visit(AtTimedEffectAstNode astNode)
 {
     EffectsData.Add(new AtTimedEffect(astNode.TimeSpecifier, ToPrimitiveEffects(MasterExporter.ToEffects(astNode.Effect))));
 }