Example #1
0
    public bool getNextBallValue()
    {
        //Debug.Log ("getNextBallValue : keyIndex = " + keyIndex);

        if (keyIndex < 0)
        {
            return(false);
        }

        string _key = "k" + (keyIndex - 1);

        keyIndex--;

        FormulaToken _ftoken = GetFormulaToken(_key);

        if (_ftoken != null)
        {
            _ball_value    = _ftoken.value;
            _ball_function = _ftoken.function;


            return(true);
        }

        return(false);
    }
Example #2
0
        /// <summary>
        /// Resolves a given FormulaToken as a macro.
        /// </summary>
        /// <param name="jrrToken">The macro token.</param>
        /// <returns>Result of a given function</returns>
        public static Queue <FormulaToken> Resolve(FormulaToken jrrToken)
        {
            String macro = jrrToken.Token.Substring(0, 3);
            String cells = jrrToken.Token.Replace("(", "");

            cells = cells.Replace(")", "");
            cells = cells.Slice(3, cells.Length);
            return(Tokenizer.Tokenize(LookupTable[macro](ExpandCellRange(cells)))); // this calls the function from lookup table
        }
Example #3
0
    public void AddFormulaToken(int value, MathBall.eFunction function)
    {
        //Debug.Log ("AddFormulaToken = " + value);
        FormulaToken newToken = new FormulaToken();

        newToken.key      = "k" + keyIndex;
        newToken.value    = value;
        newToken.function = function;

        //Debug.Log ("Token : key = " + newToken.key + " value = " + newToken.value.ToString() + " function = " + (MathBall.eFunction)newToken.function);

        FormulaTokens.Add(newToken);

        keyIndex++;

        //Debug.Log ("AddFormulaToken : keyIndex = " + keyIndex);
    }
Example #4
0
 public UnaryExpression(FormulaToken operation, IExpression expression)
 {
     Operation  = operation;
     Expression = expression;
 }
Example #5
0
 public BinaryExpression(IExpression left, FormulaToken operation, IExpression right)
 {
     Operation = operation;
     Right     = right;
     Left      = left;
 }