/// <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); }
/// <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])); }
/// <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))); }
/// <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)))); }
/// <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)))); }