Example #1
0
        public override object Clone()
        {
            var result = (NumericUnaryOperator)NodeFactory.createNode(this.type);

            result.setSuccessor((NumericNode)this.experssion.Clone(), 0);
            return(result);
        }
Example #2
0
        public override object Clone()
        {
            var result = (BoolUnaryLogicOperator)NodeFactory.createNode(this.type);

            result.successors.setSuccessor((BoolNode)exp.Clone(), 0);
            return(result);
        }
Example #3
0
        public override object Clone()
        {
            var result = (BoolLogicBinaryOperator)NodeFactory.createNode(this.type);

            result.setSuccessor((BoolNode)first.Clone(), 0);
            result.setSuccessor((BoolNode)second.Clone(), 1);
            return(result);
        }
Example #4
0
        public override object Clone()
        {
            var result = (BoolRelationOperator)NodeFactory.createNode(this.type);

            result.successors.setSuccessor((NumericNode)first.Clone(), 0);
            result.successors.setSuccessor((NumericNode)second.Clone(), 1);
            return(result);
        }
Example #5
0
 private static List <NodeType> createNonterminalTypes()
 {
     return(getAllTypes().Where(t => t != NodeType.dirEntryPoint && NodeFactory.createNode(t).successors.count != 0).ToList());
 }
Example #6
0
 private static List <NodeType> createTerminalTypes()
 {
     return(getAllTypes().Where(t => NodeFactory.createNode(t).successors.count == 0).ToList());
 }
Example #7
0
 private static List <NodeType> createAllTypes()
 {
     return(Enum.GetValues(typeof(NodeType)).Cast <NodeType>().OrderBy(t => NodeFactory.createNode(t).successors.count).ToList());
 }
Example #8
0
 /// <summary>
 /// Creates a shallow copy of the object. Should not be called directly.
 /// </summary>
 /// <returns></returns>
 public virtual object Clone()
 {
     return(NodeFactory.createNode(this.type));
 }