protected bool ProcessCalculationPartIfPossible <T>(CalculationPart toProcess, Action <T> processor) where T : CalculationPart
 {
     if (!IsCalculationPart <T>(toProcess))
     {
         return(false);
     }
     processor(toProcess.As <T>());
     return(true);
 }
Example #2
0
 public void AddPart(CalculationPart part)
 {
     stack.Push(part);
 }
Example #3
0
 void ReplacePart(CalculationPart part)
 {
     RemoveLastPart();
     AddPart(part);
 }
 protected bool IsCalculationPart <T>(CalculationPart toProcess) where T : CalculationPart
 {
     return(toProcess is T);
 }
 protected void AddToOutput(CalculationPart toAdd)
 {
     output.Add(toAdd);
 }
 public abstract void ProcessCharacter(CalculationPart toProcess);