namespace com.azkoss.excellite { using System; using System.Collections; /// ///Formula token for holding binary operator. /// internal class BinaryOperatorFormulaToken : FormulaToken { // Methods /// ///Initializes the class. /// static BinaryOperatorFormulaToken() { BinaryOperatorFormulaToken.CodesToStrings = new Hashtable(); BinaryOperatorFormulaToken.StringsToCodes = new Hashtable(); BinaryOperatorFormulaToken.BinaryOperatorsList = new ArrayList(); BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Add] = "+"; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Sub] = "-"; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Mul] = "*"; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Div] = "/"; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Power] = "^"; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Concat] = "&"; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Lt] = "<"; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Le] = "<="; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Eq] = "="; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Ge] = ">="; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Gt] = ">"; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Ne] = "<>"; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Isect] = " "; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.List] = ","; BinaryOperatorFormulaToken.CodesToStrings[FormulaTokenCode.Range] = ":"; BinaryOperatorFormulaToken.StringsToCodes["+"] = FormulaTokenCode.Add; BinaryOperatorFormulaToken.StringsToCodes["-"] = FormulaTokenCode.Sub; BinaryOperatorFormulaToken.StringsToCodes["*"] = FormulaTokenCode.Mul; BinaryOperatorFormulaToken.StringsToCodes["/"] = FormulaTokenCode.Div; BinaryOperatorFormulaToken.StringsToCodes["^"] = FormulaTokenCode.Power; BinaryOperatorFormulaToken.StringsToCodes["&"] = FormulaTokenCode.Concat; BinaryOperatorFormulaToken.StringsToCodes["<"] = FormulaTokenCode.Lt; BinaryOperatorFormulaToken.StringsToCodes["<="] = FormulaTokenCode.Le; BinaryOperatorFormulaToken.StringsToCodes["="] = FormulaTokenCode.Eq; BinaryOperatorFormulaToken.StringsToCodes[">="] = FormulaTokenCode.Ge; BinaryOperatorFormulaToken.StringsToCodes[">"] = FormulaTokenCode.Gt; BinaryOperatorFormulaToken.StringsToCodes["<>"] = FormulaTokenCode.Ne; BinaryOperatorFormulaToken.StringsToCodes[" "] = FormulaTokenCode.Isect; BinaryOperatorFormulaToken.StringsToCodes[","] = FormulaTokenCode.List; BinaryOperatorFormulaToken.StringsToCodes[":"] = FormulaTokenCode.Range; string[] textArray1 = new string[] { "+", "-", "*", "/", "^", "&", "<", "<=", "=", ">", ">=", "<>", " ", ",", ":" } ; BinaryOperatorFormulaToken.BinaryOperatorsList.AddRange(textArray1); } /// ///Initializes a new instance of the class. /// ///The FormulaTokenCode code. public BinaryOperatorFormulaToken(FormulaTokenCode code) : base(code, 1, FormulaTokenType.Binary) { } /// ///Convert formula token to string representation. /// ///formula token string representation public override string ToString() { return (BinaryOperatorFormulaToken.CodesToStrings[(FormulaTokenCode) base.Code] as string); } // Fields public static readonly ArrayList BinaryOperatorsList; public static readonly Hashtable CodesToStrings; public static readonly Hashtable StringsToCodes; } }