Exemplo n.º 1
0
Arquivo: Or.cs Projeto: dfgs/FSMLib
 public override string ToString(ISituationPredicate <char> CurrentPredicate)
 {
     if (Items.Count == 1)
     {
         return(Items[0].ToString(CurrentPredicate));
     }
     return($"({string.Join("|", Items.Select(item => item.ToString(CurrentPredicate)))})");
 }
Exemplo n.º 2
0
        public bool Contains(ISituationPredicate <T> Predicate)
        {
            ISituationEdge <T> egde;

            egde = Nodes.SelectMany(item => item.Edges).FirstOrDefault(item => item.Predicate == Predicate);

            return(egde != null);
        }
Exemplo n.º 3
0
 public override string ToString(ISituationPredicate <char> CurrentPredicate)
 {
     if (CurrentPredicate == this)
     {
         return($"•![{FirstValue}-{LastValue}]");
     }
     else
     {
         return($"![{FirstValue}-{LastValue}]");
     }
 }
Exemplo n.º 4
0
 public override string ToString(ISituationPredicate <char> CurrentPredicate)
 {
     if (CurrentPredicate == this)
     {
         return("•¤");
     }
     else
     {
         return("¤");
     }
 }
Exemplo n.º 5
0
 public override string ToString(ISituationPredicate <char> CurrentPredicate)
 {
     if (CurrentPredicate == this)
     {
         return($"•!{Value}");
     }
     else
     {
         return($"!{Value.ToString()}");
     }
 }
Exemplo n.º 6
0
 public override string ToString(ISituationPredicate <Token> CurrentPredicate)
 {
     if (CurrentPredicate == this)
     {
         return($"•{Value}");
     }
     else
     {
         return(Value.ToString());
     }
 }
Exemplo n.º 7
0
 public override string ToString(ISituationPredicate <Token> CurrentPredicate)
 {
     if (CurrentPredicate == this)
     {
         return($"•<{Class}>");
     }
     else
     {
         return($"<{Class}>");
     }
 }
Exemplo n.º 8
0
 public override string ToString(ISituationPredicate <Token> CurrentPredicate)
 {
     if (CurrentPredicate == this)
     {
         return("•.");
     }
     else
     {
         return(".");
     }
 }
Exemplo n.º 9
0
 public override string ToString(ISituationPredicate <char> CurrentPredicate)
 {
     if (CurrentPredicate == this)
     {
         return($"•![{string.Join(",",Values)}]");
     }
     else
     {
         return($"![{string.Join(",", Values)}]");
     }
 }
Exemplo n.º 10
0
 public override string ToString(ISituationPredicate <char> CurrentPredicate)
 {
     if (CurrentPredicate == this)
     {
         return($"•{{{Name}}}");
     }
     else
     {
         return($"{{{Name}}}");
     }
 }
Exemplo n.º 11
0
 public Situation(IRule <T> Rule, ISituationPredicate <T> Predicate, IReduceInput <T> Input)
 {
     if (Rule == null)
     {
         throw (new ArgumentNullException("Rule"));
     }
     if (Predicate == null)
     {
         throw (new ArgumentNullException("Predicate"));
     }
     if (Input == null)
     {
         throw (new ArgumentNullException("Input"));
     }
     this.Rule  = Rule; this.Predicate = Predicate;
     this.Input = Input;
 }
Exemplo n.º 12
0
        public SituationEdge(IRule <T> Rule, ISituationPredicate <T> Predicate, ISituationNode <T> TargetNode)
        {
            if (Rule == null)
            {
                throw new ArgumentNullException("Rule");
            }
            if (Predicate == null)
            {
                throw new ArgumentNullException("Predicate");
            }
            if (TargetNode == null)
            {
                throw new ArgumentNullException("TargetNode");
            }

            this.Rule = Rule; this.Predicate = Predicate; this.TargetNode = TargetNode;
        }
Exemplo n.º 13
0
 public override string ToString(ISituationPredicate <Token> CurrentPredicate)
 {
     return($"{Item.ToString(CurrentPredicate)}?");
 }
Exemplo n.º 14
0
 public string ToString(ISituationPredicate <char> CurrentPredicate)
 {
     return("Mocked");
 }
Exemplo n.º 15
0
 public abstract string ToString(ISituationPredicate <char> CurrentPredicate);
Exemplo n.º 16
0
        public ISituationGraphSegment <T> BuildSegment(ISituationGraph <T> Graph, IRule <T> Rule, ISituationPredicate <T> Predicate, IEnumerable <ISituationEdge <T> > Edges)
        {
            SituationNode <T>         node;
            SituationEdge <T>         edge;
            SituationGraphSegment <T> segment;

            if (Graph == null)
            {
                throw new ArgumentNullException("Nodes");
            }
            if (Rule == null)
            {
                throw new ArgumentNullException("Rule");
            }
            if (Predicate == null)
            {
                throw new ArgumentNullException("Predicate");
            }
            if (Edges == null)
            {
                throw new ArgumentNullException("Edges");
            }

            node = CreateNode(Graph);
            Connect(node.AsEnumerable(), Edges);

            edge = CreateEdgeTo(node, Rule, Predicate);

            segment             = new SituationGraphSegment <T>();
            segment.OutputNodes = node.AsEnumerable();
            segment.InputEdges  = edge.AsEnumerable();

            return(segment);
        }
Exemplo n.º 17
0
        private SituationEdge <T> CreateEdgeTo(SituationNode <T> Node, IRule <T> Rule, ISituationPredicate <T> Predicate)
        {
            SituationEdge <T> edge;

            edge = new SituationEdge <T>(Rule, Predicate, Node);

            return(edge);
        }
Exemplo n.º 18
0
 private ISituationEdge <T> GetEdge(ISituationPredicate <T> Predicate)
 {
     return(graph.Nodes.SelectMany(item => item.Edges).FirstOrDefault(item => item.Predicate == Predicate));
 }