public BinarOp(OperationToken.Operation opName, OpRand leftOpRand, OpRand rightOpRand, out ParserError error) { error = ParserError.Empty; this.OpName = opName; this.LeftOpRand = leftOpRand; this.RightOpRand = rightOpRand; }
public UnarOp(OperationToken.Operation opName, OpRand argument, out ParserError error) { error = ParserError.Empty; this.OpName = opName; this.Argument = argument; if (opName == OperationToken.Operation.If) { CheckIfArgument(out error); } }
private bool IsValidOperation(LinkedListNode <Token> preStartNode, LinkedListNode <Token> nextNode, OperationToken.Operation opName) { if (opName == OperationToken.Operation.If || opName == OperationToken.Operation.Mod || opName == OperationToken.Operation.Div) { return((preStartNode == null || !IsLetter(preStartNode.Value)) && (nextNode == null || !IsLetter(nextNode.Value))); } if (opName == OperationToken.Operation.FormulaSign) { return(preStartNode == null); } return(true); }