public void NotEqualsTest() { ExpressionToken token = new ExpressionToken(_serviceProvider, "a"); ExpressionToken token2 = new ExpressionToken(_serviceProvider, "b"); Assert.IsTrue(token != token2); }
private void CreateTree(ExpressionToken[] tokens) { _root = null; _tokensQueue = new Queue(tokens); NextToken(); _root = ExprLevel1(); if (CurrentToken != ExpressionToken.Empty) { throw new ExpressionSyntaxException(Resources.ExpressionSyntax_OperatorExpected, _expression, _parsedExpression); } }
private void NextToken() { if (_tokensQueue.Count > 0) { _parsedExpression += CurrentToken.TokenBody; _currentToken = (ExpressionToken)_tokensQueue.Dequeue(); } else { _currentToken = ExpressionToken.Empty; } }
public ExpressionTreeNode(ExpressionToken token, ExpressionTreeNode leftNode, ExpressionTreeNode rightNode) { _token = token; _leftNode = leftNode; _rightNode = rightNode; }
public static ExpressionTreeNode BuildExpressionNode(INuGenServiceProvider serviceProvider, NodeBase schemaNode) { if (schemaNode == null) { return null; } if (NeedToSkip(schemaNode)) { throw new InvalidOperationException("Expression node connected to unsupported node. Expression node cannot be recognized"); } ExpressionTreeNode node = null; if (schemaNode is Operator) { ExpressionToken token = new ExpressionToken(serviceProvider, ((Operator)schemaNode).OperatorDescriptor.StringRepresentation); node = new ExpressionTreeNode(token); switch (token.OperatorDescriptor.PrimitiveOperator) { case PrimitiveOperator.Add: case PrimitiveOperator.Sub: case PrimitiveOperator.Mul: case PrimitiveOperator.Div: { node.LeftNode = BuildExpressionNode(serviceProvider, schemaNode.Inputs[0].Connection.Node); node.RightNode = BuildExpressionNode(serviceProvider, schemaNode.Inputs[1].Connection.Node); break; } } if (token.IsOneVariableFunction) { node.LeftNode = BuildExpressionNode(serviceProvider, schemaNode.Inputs[0].Connection.Node); } if (token.IsTwoVariableFunction) { node.LeftNode = BuildExpressionNode(serviceProvider, schemaNode.Inputs[0].Connection.Node); node.RightNode = BuildExpressionNode(serviceProvider, schemaNode.Inputs[1].Connection.Node); } return node; } if (schemaNode is NumberParam) { return new ExpressionTreeNode(new ExpressionToken(serviceProvider, ((NumberParam)schemaNode).Name)); } if (schemaNode is VisiTypes.Number) { return new ExpressionTreeNode(new ExpressionToken(serviceProvider, ((VisiTypes.Number)schemaNode).Value.ToString())); } return null; }
public ExpressionTreeNode(ExpressionToken token, ExpressionTreeNode leftNode) : this(token, leftNode, null) { }
public ExpressionTreeNode(ExpressionToken token) : this(token, null, null) { }