Skip to content
This repository has been archived by the owner on May 27, 2023. It is now read-only.

Commit

Permalink
added EffectKind
Browse files Browse the repository at this point in the history
  • Loading branch information
sunsided committed Jan 24, 2015
1 parent 062c9c0 commit 3f70333
Show file tree
Hide file tree
Showing 10 changed files with 39 additions and 33 deletions.
29 changes: 29 additions & 0 deletions PDDL/Model/PDDL12/EffectKind.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
namespace PDDL.Model.PDDL12
{
/// <summary>
/// Class ListType.
/// </summary>
public enum EffectKind
{
/// <summary>
/// The effect is negated. This is typically the
/// case with the remove list.
/// </summary>
Negated = -1,

/// <summary>
/// No effect
/// </summary>
None = 0,

/// <summary>
/// The effect is added.
/// </summary>
Regular = 1,

/// <summary>
/// This is a composite effect.
/// </summary>
Conjunction = 1
}
}
2 changes: 1 addition & 1 deletion PDDL/Model/PDDL12/Effects/ConjunctionEffect.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class ConjunctionEffect : EffectBase, IConjunctionEffect
/// <param name="effects">The effects.</param>
/// <exception cref="ArgumentNullException">The value of 'effects' cannot be null. </exception>
public ConjunctionEffect([NotNull] IReadOnlyList<IEffect> effects)
: base(ListType.Indifferent)
: base(EffectKind.Conjunction)
{
if (ReferenceEquals(effects, null)) throw new ArgumentNullException("effects", "effects must not be null");
Effects = effects;
Expand Down
4 changes: 2 additions & 2 deletions PDDL/Model/PDDL12/Effects/EffectBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ public abstract class EffectBase : IEffect
/// Gets the list type.
/// </summary>
/// <value>The list type.</value>
public ListType Type { get; private set; }
public EffectKind Type { get; private set; }

/// <summary>
/// Initializes a new instance of the <see cref="EffectBase"/> class.
/// </summary>
/// <param name="type">The type.</param>
protected EffectBase(ListType type)
protected EffectBase(EffectKind type)
{
Type = type;
}
Expand Down
2 changes: 1 addition & 1 deletion PDDL/Model/PDDL12/Effects/NegatedEffect.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public class NegatedEffect : EffectBase, INegatedEffect
/// <param name="effects">The effects.</param>
/// <exception cref="ArgumentNullException">The value of 'effects' cannot be null. </exception>
public NegatedEffect([NotNull] IAtomicFormula<ITerm> effects)
: base(ListType.Remove)
: base(EffectKind.Negated)
{
if (ReferenceEquals(effects, null)) throw new ArgumentNullException("effects", "effects must not be null");
Effects = effects;
Expand Down
2 changes: 1 addition & 1 deletion PDDL/Model/PDDL12/Effects/RegularEffect.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public class RegularEffect : EffectBase, IRegularEffect
/// <param name="effects">The effects.</param>
/// <exception cref="ArgumentNullException">The value of 'effects' cannot be null. </exception>
public RegularEffect([NotNull] IAtomicFormula<ITerm> effects)
: base(ListType.Add)
: base(EffectKind.Regular)
{
if (ReferenceEquals(effects, null)) throw new ArgumentNullException("effects", "effects must not be null");
Effects = effects;
Expand Down
2 changes: 1 addition & 1 deletion PDDL/Model/PDDL12/IEffect.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public interface IEffect
/// Gets the list type.
/// </summary>
/// <value>The list type.</value>
ListType Type { get; }
EffectKind Type { get; }
}

/// <summary>
Expand Down
23 changes: 0 additions & 23 deletions PDDL/Model/PDDL12/ListType.cs

This file was deleted.

2 changes: 1 addition & 1 deletion PDDL/Model/PDDL12/Null/NullEffect.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public sealed class NullEffect : EffectBase
/// <summary>
/// Initializes a new instance of the <see cref="NullEffect"/> class.
/// </summary>
public NullEffect() : base(ListType.Indifferent)
public NullEffect() : base(EffectKind.None)
{
}
}
Expand Down
2 changes: 1 addition & 1 deletion PDDL/PDDL.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
<Compile Include="Model\PDDL12\IPredicate.cs" />
<Compile Include="Model\PDDL12\Predicate.cs" />
<Compile Include="Model\PDDL12\Requirement.cs" />
<Compile Include="Model\PDDL12\ListType.cs" />
<Compile Include="Model\PDDL12\EffectKind.cs" />
<Compile Include="Model\PDDL12\Effects\ConjunctionEffect.cs" />
<Compile Include="Model\PDDL12\Effects\RegularEffect.cs" />
<Compile Include="Model\PDDL12\Effects\EffectBase.cs" />
Expand Down
4 changes: 2 additions & 2 deletions PDDL/Parser/PDDL12/EffectGrammar.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@ private static Parser<IEffect> CreateEffect()
{
Parser<IEffect> positiveEffect =
(from af in CommonGrammar.AtomicFormulaOfTerm
select new AddEffect(af)).Token();
select new RegularEffect(af)).Token();

Parser<IEffect> negativeEffect =
(
from open in CommonGrammar.OpeningParenthesis
from keyword in Keywords.Not
from af in CommonGrammar.AtomicFormulaOfTerm
from close in CommonGrammar.ClosingParenthesis
select new RemoveEffect(af)).Token();
select new NegatedEffect(af)).Token();

Parser<IEffect> conjunctionEffect =
(
Expand Down

0 comments on commit 3f70333

Please sign in to comment.