private static void InitInvariantTokenMappings()
{
_invariantTokenMappings = new Dictionary<string, Func<IFormulaToken>>();
// constants
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreatePiToken);
// operators
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreatePlusToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateMinusToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateMultiplyToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateDivideToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateCaretToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateEqualsToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateNotEqualsToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateLessToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateLessEqualToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateGreaterToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateGreaterEqualToken);
// functions
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateExpToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateLogToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateLnToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateSinToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateCosToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateTanToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateArcsinToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateArccosToken);
AddTokenMapping(_invariantTokenMappings, FormulaTokenFactory.CreateArctanToken);
// brackets
AddTokenMapping(_invariantTokenMappings, () => FormulaTokenFactory.CreateParenthesisToken(true));
AddTokenMapping(_invariantTokenMappings, () => FormulaTokenFactory.CreateParenthesisToken(false));
}