using HeuristicLab.Common; using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; namespace HeuristicLab.Problems.Robocode { [StorableClass] public abstract class CodeNode : Symbol { public abstract string Prefix { get; set; } public abstract string Suffix { get; set; } [StorableConstructor] protected CodeNode(bool deserializing) : base(deserializing) { } protected CodeNode(CodeNode original, Cloner cloner) : base(original, cloner) { this.Prefix = original.Prefix; this.Suffix = original.Suffix; } protected CodeNode(string name, string description) : base(name, description) { } public override IDeepCloneable Clone(Cloner cloner) { throw new System.NotImplementedException(); } public override int MaximumArity { get { throw new System.NotImplementedException(); } } public override int MinimumArity { get { throw new System.NotImplementedException(); } } public abstract string Interpret(ISymbolicExpressionTreeNode node, System.Collections.Generic.IEnumerable children); } }