/// <summary>
 /// Initializes a new instance of the <see cref="BinaryOperationRecognizer"/> class.
 /// </summary>
 /// <param name="operationSymbol">
 /// The operation symbol.
 /// </param>
 /// <param name="binaryOperationProvider">
 /// The binary operation provider.
 /// </param>
 public BinaryOperationRecognizer(string operationSymbol, IBinaryOperationProvider binaryOperationProvider)
     : base(new[] { GetPattern("[^0-9^A-z]([ ]*{{{{exprId=([^}}]*)}}}}[ ]*{0}[ ]*{{{{exprId=([^}}]*)}}}}[ ]*)", operationSymbol) })
 {
     this.binaryOperationProvider = binaryOperationProvider;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BinaryFunctionRecognizer"/> class.
 /// </summary>
 /// <param name="functionName">
 /// The function name.
 /// </param>
 /// <param name="operationProvider">
 /// The operation provider.
 /// </param>
 public BinaryFunctionRecognizer(string functionName, IBinaryOperationProvider operationProvider)
 {
     this.functionName = functionName;
       this.operationProvider = operationProvider;
 }
 public BinaryOperationRecognizer(string operationSymbol, IBinaryOperationProvider binaryOperationProvider)
 {
     _operationSymbol = operationSymbol;
     _binaryOperationProvider = binaryOperationProvider;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BinaryFunctionRecognizer"/> class.
 /// </summary>
 /// <param name="functionName">
 /// The function name.
 /// </param>
 /// <param name="operationProvider">
 /// The operation provider.
 /// </param>
 public BinaryFunctionRecognizer(string functionName, IBinaryOperationProvider operationProvider)
     : base(new[] { string.Format("[^0-9^A-z]({0}\\([ ]*{{{{exprId=([^}}]*)}}}}[ ]*,[ ]*{{{{exprId=([^}}]*)}}}}[ ]*\\))", functionName) })
 {
     this.operationProvider = operationProvider;
 }