Example #1
0
        public void Init(IWorkaround workaround)
        {
            this.workaround = workaround;

            bpPosCounter = -1;

            cpPosCounter = -1;

            highlightSeq = null;
            success = false;
            choice = false;

            sequences = null;
        }
Example #2
0
 public SequenceUnary(Sequence seq, SequenceType seqType) : base(seqType)
 {
     Seq = seq;
 }
 public double ChooseRandomNumber(double randomNumber, Sequence seq)
 {
     return randomNumber;
 }
 public int ChooseMatch(int matchToApply, IMatches matches, int numFurtherMatchesToApply, Sequence seq)
 {
     return matchToApply;
 }
 public void EndOfIteration(bool continueLoop, Sequence seq)
 {
     EndOfIterationHandler handler = OnEndOfIteration;
     if(handler != null) handler(continueLoop, seq);
 }
 public void EnteringSequence(Sequence seq)
 {
     EnterSequenceHandler handler = OnEntereringSequence;
     if(handler != null) handler(seq);
 }
        public bool ApplyGraphRewriteSequence(Sequence sequence)
        {
            PerformanceInfo.Start();

            bool res = sequence.Apply(this);

            PerformanceInfo.Stop();
            return res;
        }
Example #8
0
 public SequenceIterationMinMax(Sequence seq, long min, long max) : base(seq, SequenceType.IterationMinMax)
 {
     Min = min;
     Max = max;
 }
Example #9
0
 public override bool GetLocalVariables(Dictionary<SequenceVariable, SetValueType> variables,
     List<SequenceExpressionContainerConstructor> containerConstructors, Sequence target)
 {
     foreach(SequenceVariable seqVar in InputVariables)
         seqVar.GetLocalVariables(variables);
     foreach(SequenceVariable seqVar in OutputVariables)
         seqVar.GetLocalVariables(variables);
     if(Seq.GetLocalVariables(variables, containerConstructors, target))
         return true;
     return this == target;
 }
Example #10
0
 public SequenceDefinitionInterpreted(String sequenceName,
     SequenceVariable[] inputVariables,
     SequenceVariable[] outputVariables,
     Sequence seq)
     : base(SequenceType.SequenceDefinitionInterpreted, sequenceName)
 {
     InputVariables = inputVariables;
     OutputVariables = outputVariables;
     Seq = seq;
 }
Example #11
0
 public override bool GetLocalVariables(Dictionary<SequenceVariable, SetValueType> variables,
     List<SequenceExpressionContainerConstructor> containerConstructors, Sequence target)
 {
     Var.GetLocalVariables(variables);
     if(Rule.GetLocalVariables(variables, containerConstructors, target))
         return true;
     if(Seq.GetLocalVariables(variables, containerConstructors, target))
         return true;
     foreach(SequenceVariable seqVar in VariablesFallingOutOfScopeOnLeavingFor)
         variables.Remove(seqVar);
     variables.Remove(Var);
     return this == target;
 }
Example #12
0
 public SequenceForMatch(SequenceVariable var, Sequence rule, Sequence seq,
     List<SequenceVariable> variablesFallingOutOfScopeOnLeavingFor)
     : base(seq, SequenceType.ForMatch)
 {
     Var = var;
     Rule = (SequenceRuleCall)rule;
     VariablesFallingOutOfScopeOnLeavingFor = variablesFallingOutOfScopeOnLeavingFor;
 }
Example #13
0
 public override bool GetLocalVariables(Dictionary<SequenceVariable, SetValueType> variables,
     List<SequenceExpressionContainerConstructor> containerConstructors, Sequence target)
 {
     if(Left.GetLocalVariables(variables, containerConstructors, target))
         return true;
     if(Right.GetLocalVariables(variables, containerConstructors, target))
         return true;
     return this == target;
 }
Example #14
0
 public SequenceBinary(Sequence left, Sequence right, bool random, bool choice, SequenceType seqType)
     : base(seqType)
 {
     Left = left;
     Right = right;
     this.random = random;
     this.choice = choice;
 }
Example #15
0
 public SequenceForFunction(SequenceVariable var, SequenceType sequenceType,
     List<SequenceExpression> argExprs, Sequence seq,
     List<SequenceVariable> variablesFallingOutOfScopeOnLeavingFor)
     : base(seq, sequenceType)
 {
     Var = var;
     ArgExprs = argExprs;
     VariablesFallingOutOfScopeOnLeavingFor = variablesFallingOutOfScopeOnLeavingFor;
 }
Example #16
0
 public SequenceNot(Sequence seq) : base(seq, SequenceType.Not) {}
Example #17
0
 public SequenceIterationMin(Sequence seq, long min) : base(seq, SequenceType.IterationMin)
 {
     Min = min;
 }
Example #18
0
 public override bool GetLocalVariables(Dictionary<SequenceVariable, SetValueType> variables,
     List<SequenceExpressionContainerConstructor> containerConstructors, Sequence target)
 {
     throw new Exception("GetLocalVariables not supported on compiled sequences");
 }
Example #19
0
 public override bool GetLocalVariables(Dictionary<SequenceVariable, SetValueType> variables,
     List<SequenceExpressionContainerConstructor> containerConstructors, Sequence target)
 {
     ParamBindings.GetLocalVariables(variables, containerConstructors);
     return this == target;
 }
Example #20
0
 public SequenceExecuteInSubgraph(SequenceVariable subgraphVar, String attributeName, Sequence seq)
     : base(seq, SequenceType.ExecuteInSubgraph)
 {
     SubgraphVar = subgraphVar;
     AttributeName = attributeName;
 }
 public bool ValidateWithSequence(Sequence seq)
 {
     SwitchToSubgraph(graph.Clone("clonedGraph"));
     bool valid = seq.Apply(this);
     ReturnFromSubgraph();
     return valid;
 }
Example #22
0
 public override bool GetLocalVariables(Dictionary<SequenceVariable, SetValueType> variables,
     List<SequenceExpressionContainerConstructor> containerConstructors, Sequence target)
 {
     Computation.GetLocalVariables(variables, containerConstructors);
     foreach(SequenceVariable seqVar in VariablesFallingOutOfScopeOnLeavingComputation)
         variables.Remove(seqVar);
     return this == target;
 }
 public void ExitingSequence(Sequence seq)
 {
     ExitSequenceHandler handler = OnExitingSequence;
     if(handler != null) handler(seq);
 }
Example #24
0
 public SequenceThenRight(Sequence left, Sequence right, bool random, bool choice)
     : base(left, right, random, choice, SequenceType.ThenRight)
 {
 }
 public int ChooseDirection(int direction, Sequence seq)
 {
     return direction;
 }
Example #26
0
 public SequenceLazyAnd(Sequence left, Sequence right, bool random, bool choice)
     : base(left, right, random, choice, SequenceType.LazyAnd)
 {
 }
 public int ChooseRandomNumber(int randomNumber, int upperBound, Sequence seq)
 {
     return randomNumber;
 }
Example #28
0
 public SequenceXor(Sequence left, Sequence right, bool random, bool choice)
     : base(left, right, random, choice, SequenceType.Xor)
 {
 }
 public object ChooseValue(string type, Sequence seq)
 {
     throw new Exception("Can only query the user for a value if a debugger is available");
 }
Example #30
0
 public SequenceStrictAnd(Sequence left, Sequence right, bool random, bool choice)
     : base(left, right, random, choice, SequenceType.StrictAnd)
 {
 }