Пример #1
0
        /// <summary>
        /// Attempts to either look up the symbol or convert it to one
        /// </summary>
        /// <param name="symbol"></param>
        /// <returns></returns>
        private Symbol ToSymbol(string symbol)
        {
            if (SYMBOLS.ContainsKey(symbol))
            {
                return(SYMBOLS[symbol]);
            }
            else if (OPERATORS.ContainsKey(symbol))
            {
                return(OPERATORS[symbol]);
            }
            else if (FUNCTIONS.ContainsKey(symbol))
            {
                return(FUNCTIONS[symbol]);
            }
            else if (IsNumeric(symbol))
            {
                return(new Symbol(double.Parse(symbol)));
            }
            else if (IsVariable(symbol))
            {
                return(new Symbol(symbol));
            }

            throw new Exception("ToSymbol : " + symbol + " cannot be converted to a Symbol");
        }
Пример #2
0
        /// <summary>
        /// Ajoute toute une requête à la requête en cours
        /// </summary>
        /// <param name="req"></param>
        /// <param name="operateur"></param>
        public void addQuery(aQuery req, OPERATORS operateur)
        {
            if ((req == null) || (req.listParameters().Count == 0))
            {
                return;
            }

            switch (operateur)
            {
            case OPERATORS.AND:
                addAND();
                break;

            case OPERATORS.NOT:
                addNOT();
                break;

            case OPERATORS.OR:
                addOR();
                break;
            }
            foreach (string val in req.listParameters())
            {
                addParameter(val);
            }
        }
Пример #3
0
 public void onClear()
 {
     currentVal = "0";
     total      = 0.0;
     currentOp  = OPERATORS.NULL;
     calwin.onValueChange(currentVal);
 }
Пример #4
0
        public void onInsertOperator(OPERATORS op)
        {
            double rst;

            Double.TryParse(currentVal, out rst);
            currentVal = "0";

            if (currentOp == OPERATORS.NULL)
            {
                total    += rst;
                currentOp = op;
                calwin.onValueChange("");
                return;
            }
            switch (currentOp)
            {
            case OPERATORS.ADD:
                total += rst;
                break;

            case OPERATORS.MPY:
                total *= rst;
                break;

            case OPERATORS.DIV:
                total /= rst;
                break;

            case OPERATORS.SUB:
                total -= rst;
                break;

            default:
                break;
            }
            currentOp = op;
            calwin.onValueChange(total.ToString());
        }
Пример #5
0
 /// <summary>
 /// Tests if a given input is contained in any of the Symbol Dictionaries
 /// </summary>
 /// <param name="symbol"></param>
 /// <returns></returns>
 private bool IsDefined(string symbol)
 {
     return(SYMBOLS.ContainsKey(symbol) ||
            OPERATORS.ContainsKey(symbol) ||
            FUNCTIONS.ContainsKey(symbol));
 }
Пример #6
0
 //Test if is an operator
 private bool IsOperator(string token)
 {
     return(OPERATORS.ContainsKey(token) || FUNCTIONS.ContainsKey(token));
 }
Пример #7
0
        public static void CASES()
        {
            int x_choose;

            try
            {
                x_choose = Convert.ToInt32(Console.ReadLine());
                if (x_choose > 26 || x_choose < 1)
                {
                    Console.WriteLine("\t\t\tEntered number is out of scope!");
                    Console.WriteLine("\t\t\tPlease, reenter number!");
                    CASES();
                }
                else
                {
                    switch (x_choose)
                    {
                    case 1:     //Working with variables
                    {
                        Console.BackgroundColor = ConsoleColor.Green;
                        Console.Clear();
                        Console.ForegroundColor = ConsoleColor.Black;
                        Console.WriteLine("1\t\t\t\tVARIABLE TYPES & LITERALS & CASTING and TYPE CONVERSIONS");
                        Console.WriteLine("1_1\tLITERALS");
                        Console.WriteLine("1_2\tVARIABLE TYPES");
                        Console.WriteLine("1_3\tCASTING & TYPE CONVERSIONS");
                        VARIABLES vars = new VARIABLES();
                        vars.VARIABLES_TYPES_CAST_M();
                        break;
                    }

                    case 2:     //Basic operations
                    {
                        Console.BackgroundColor = ConsoleColor.Yellow;
                        Console.Clear();
                        Console.ForegroundColor = ConsoleColor.Black;
                        OPERATORS oper = new OPERATORS();
                        oper.OPERATIONS();
                        break;
                    }

                    case 3:     //Conditions (IF/ELSE, SWITCH/CASE)
                    {
                        Console.BackgroundColor = ConsoleColor.DarkGreen;
                        Console.Clear();
                        Console.ForegroundColor = ConsoleColor.White;
                        CONDITIONS cond = new CONDITIONS();
                        cond.CONDITIONS_M();
                        break;
                    }

                    case 4:     //Loops (FOR/WHILE/DO WHILE)
                    {
                        Console.BackgroundColor = ConsoleColor.Cyan;
                        Console.Clear();
                        Console.ForegroundColor = ConsoleColor.DarkBlue;
                        LOOPS loop_block = new LOOPS();
                        loop_block.LOOPS_M();
                        break;
                    }

                    case 5:     //ARRAYS
                    {
                        Console.BackgroundColor = ConsoleColor.DarkMagenta;
                        Console.Clear();
                        Console.ForegroundColor = ConsoleColor.White;
                        ARRAYS arr = new ARRAYS();
                        arr.ARRAYS_M();
                        break;
                    }

                    case 6:     //Multi-dimensional arrays
                    {
                        Console.BackgroundColor = ConsoleColor.DarkGray;
                        Console.Clear();
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        MULTI_ARRAYS arr_m = new MULTI_ARRAYS();
                        arr_m.MULTI_ARRAYS_M();
                        break;
                    }

                    case 7:     //Lists - we don't know number of elements, uses more memory
                    {
                        Console.BackgroundColor = ConsoleColor.DarkBlue;
                        Console.Clear();
                        Console.ForegroundColor = ConsoleColor.White;
                        LISTS list = new LISTS();
                        list.LISTS_M();
                        break;
                    }

                    case 8:     //Strings
                    {
                        STRINGS str = new STRINGS();
                        str.STRINGS_M();
                        break;
                    }

                    case 9:     //Try & Catch
                    {
                        TRY_CATCH tr = new TRY_CATCH();
                        tr.TRY_CATCH_M();
                        break;
                    }

                    case 10:     //Object & Classes, Properties, GET/SETS (for private)
                    {
                        CLASSES_OBJECTS clas = new CLASSES_OBJECTS();
                        clas.CLASSES_OBJECTS_M();
                        break;
                    }

                    case 11:     //METHODS, FUNCTIONS,
                    {
                        METHODS_FUNCTIONS mth = new METHODS_FUNCTIONS();
                        mth.METHODS_FUNCTIONS_M();
                        break;
                    }

                    case 12:     //INHERITANCE, AS/IS, Virtual methods (From External Class file)
                    {
                        INHERITANCE_ASIS_VIRT inh = new INHERITANCE_ASIS_VIRT();
                        inh.INHERITANCE_ASIS_M();
                        break;
                    }

                    case 13:
                    {
                        MULTI_INHERITANCE m_inh = new MULTI_INHERITANCE();
                        m_inh.MULTI_INHERITANCE_M();
                        break;
                    }

                    case 14:
                    {
                        RELOAD_METHODS_OPERAT_TYPES reloading = new RELOAD_METHODS_OPERAT_TYPES();
                        reloading.RELOAD_METHODS_OPERAT_TYPES_M();
                        break;
                    }

                    case 15:
                    {
                        ENUMS enums = new ENUMS();
                        enums.ENUMS_M();
                        break;
                    }

                    case 16:
                    {
                        STRUCTURES str = new STRUCTURES();
                        str.STRUCTURES_M();
                        break;
                    }

                    case 17:
                    {
                        TUPLES tupl = new TUPLES();
                        tupl.TUPLES_M();
                        break;
                    }

                    case 18:
                    {
                        REFERENCES refer = new REFERENCES();
                        refer.REFERENCES_M();
                        break;
                    }

                    case 19:
                    {
                        SHADOWING_HIDING_METHODS shad = new SHADOWING_HIDING_METHODS();
                        shad.SHADOWING_HIDING_METHODS_M();
                        break;
                    }

                    case 20:
                    {
                        REGUL_EXP_IO reg = new REGUL_EXP_IO();
                        reg.REGUL_EXP_IO_M();
                        break;
                    }

                    case 21:
                    {
                        PREPROCESSOR_DIRECTIVES prep = new PREPROCESSOR_DIRECTIVES();
                        prep.PREPROCESSOR_DIRECTIVES_M();
                        break;
                    }

                    case 22:
                    {
                        NAMESPACES nam = new NAMESPACES();
                        nam.NAMESPACES_M();
                        break;
                    }

                    case 23:
                    {
                        NullableTypesExamples nullab = new NullableTypesExamples();
                        nullab.NULLABLES_M();
                        break;
                    }

                    case 24:
                    {
                        IDENTIFIERS iden = new IDENTIFIERS();
                        iden.IDENTIFIERS_M();
                        break;
                    }

                    case 25:
                    {
                        FILE_SYSTEM files = new FILE_SYSTEM();
                        files.FILE_SYSTEM_M();
                        break;
                    }

                    case 26:
                    {
                        LINQ link = new LINQ();
                        link.LINQ_M();
                        break;
                    }
                    }
                }
            }
            catch (Exception x)
            {
                Console.WriteLine("INFORMATIVE DESCRIPTION OF ERROR: \n " + x);
                CheckReturnToContent();
            }
        }
Пример #8
0
 private static extern System.IntPtr ApplicasaFilterByFieldString(Fields field, OPERATORS op, string val);
Пример #9
0
 private static extern System.IntPtr ApplicasaFilterByFieldBool(Fields field, OPERATORS op, bool val);
Пример #10
0
 public static Filter GetFilter(Fields field, OPERATORS op, string val)
 {
     return new Filter(new IntPtr(0));
 }
Пример #11
0
 public static Filter GetFilter(Fields field, OPERATORS op, string val)
 {
     if(javaUnityApplicasaFilter==null)
         javaUnityApplicasaFilter = new AndroidJavaClass("com.applicasaunity.Unity.ApplicasaFilter");
     AndroidJavaObject tempJavaObject=javaUnityApplicasaFilter.CallStatic<AndroidJavaObject>("ApplicasaFilterGetFilterString", (int)field, field.ToString(), (int)op, val);
     IntPtr tempIntPtr = AndroidJNI.NewGlobalRef(tempJavaObject.GetRawObject());
     Filter filter = new Filter(tempIntPtr, new AndroidJavaObject(tempIntPtr));
     return filter;
 }
Пример #12
0
 public static Filter GetFilter(Fields field, OPERATORS op, string val)
 {
     Filter filter = new Filter(ApplicasaFilterByFieldString(field, op, val));
     return filter;
 }
Пример #13
0
 public static Filter GetFilter(Fields field, OPERATORS op, bool val)
 {
     Filter filter = new Filter(ApplicasaFilterByFieldBool(field, op, val));
     return filter;
 }
Пример #14
0
 public static Filter GetFilter(Fields field, OPERATORS op, float val)
 {
     Filter filter = new Filter(ApplicasaFilterByFieldFloat(field, op, val));
     return filter;
 }
Пример #15
0
            /// <summary>
            /// Parses a string that conatins the formula of a bracket.
            /// </summary>
            /// <param name="value">A string value represent the formula of the bracket.</param>
            /// <param name="start">Starting index where the formula will be parsed.</param>
            /// <returns>Returns the zero-based index where the bracket is closed within the formula.</returns>
            public int parseString(string value, int start)
            {
                int i = start;

                _openIndex = start - 1;
                bool quit = false;

                _childs.Clear();
                _valid = true;
                string strNode = "";

                while (!quit)
                {
                    if (value[i] == '(')
                    {
                        Bracket child = new Bracket(this);
                        i = child.parseString(value, i + 1);
                        if (strNode != "")
                        {
                            if (OPERATORS.Contains(strNode.Trim()))
                            {
                                // The last node was an operator.
                                _childs.Add(strNode.Trim());
                            }
                            else if (strNode == "~")
                            {
                                // The last node was the unlimited number sign.
                                _childs.Add(strNode.Trim());
                            }
                            else if (isNumber(strNode))
                            {
                                // The last node was a number.
                                _childs.Add(strNode.Trim());
                            }
                            else
                            {
                                if (strNode[strNode.Length - 1] == '%')
                                {
                                    // Check if the last node was a percentage number.
                                    if (!isNumber(strNode.Substring(0, strNode.Length - 1)))
                                    {
                                        _valid = false;
                                    }
                                    _childs.Add(strNode);
                                }
                                else
                                {
                                    // Check if the last node was a code of registered function's code.
                                    // Build up functions.
                                    bool found = false;
                                    foreach (CalcFunction fx in _builtin_functions)
                                    {
                                        if (fx.evaluateCode(strNode))
                                        {
                                            child.Function = fx;
                                            found          = true;
                                            break;
                                        }
                                    }
                                    if (!found)
                                    {
                                        // User defined functions.
                                        foreach (CalcFunction fx in CalcFunctions.UserFunctions)
                                        {
                                            if (fx.evaluateCode(strNode))
                                            {
                                                child.Function = fx;
                                                found          = true;
                                                break;
                                            }
                                        }
                                    }
                                    if (!found)
                                    {
                                        // No functions were found.
                                        _valid = false;
                                        _childs.Add(strNode);
                                    }
                                }
                            }
                        }
                        _childs.Add(child);
                        strNode = "";
                    }
                    else
                    {
                        if (value[i] == ')')
                        {
                            quit        = true;
                            _closeIndex = i;
                        }
                        else
                        {
                            if (OPERATORS.Contains(value[i].ToString().Trim()))
                            {
                                if (_childs.Count == 0)
                                {
                                    if (value[i] != '-' && strNode == "")
                                    {
                                        _valid = false;
                                    }
                                }
                                else
                                {
                                    if (strNode == LIST_SEPARATOR.ToString().Trim() && value[i] != '-')
                                    {
                                        _valid = false;
                                    }
                                }
                                if (strNode != "")
                                {
                                    _childs.Add(strNode);
                                }
                                strNode = value[i].ToString().Trim();
                            }
                            else
                            {
                                if (strNode == "~")
                                {
                                    _childs.Add(strNode);
                                    strNode = "";
                                }
                                if (value[i] == '.' || (value[i] >= 48 && value[i] <= 57) ||
                                    (value[i] >= 65 && value[i] <= 90) || (value[i] >= 97 && value[i] <= 122) ||
                                    value[i] == '_' || value[i] == '%')
                                {
                                    if (OPERATORS.Contains(strNode) && strNode != "")
                                    {
                                        if (_childs.Count > 0)
                                        {
                                            _childs.Add(strNode);
                                            strNode = "";
                                        }
                                    }
                                    strNode += value[i];
                                }
                                else if (value[i] == LIST_SEPARATOR)
                                {
                                    if (strNode != "")
                                    {
                                        _childs.Add(strNode);
                                    }
                                    else if (_childs.Count == 0)
                                    {
                                        _valid = false;
                                    }
                                    strNode = LIST_SEPARATOR.ToString().Trim();
                                }
                                else if (value[i] == ' ')
                                {
                                    if (strNode != "")
                                    {
                                        _childs.Add(strNode);
                                    }
                                    strNode = "";
                                }
                                else if (value[i] == UNLIMITED_VALUE)
                                {
                                    if (strNode != "")
                                    {
                                        _childs.Add(strNode);
                                    }
                                    strNode = "~";
                                }
                            }
                        }
                    }
                    i++;
                    if (i >= value.Length)
                    {
                        quit = true;
                    }
                }
                if (strNode != "")
                {
                    _childs.Add(strNode);
                }
                return(i);
            }
Пример #16
0
 private static extern System.IntPtr ApplicasaFilterByFieldInt(Fields field, OPERATORS op, int val);
Пример #17
0
 public static Filter GetFilter(Fields field, OPERATORS op, bool val)
 {
     if(javaUnityApplicasaFilter==null)
         javaUnityApplicasaFilter = new AndroidJavaClass("com.applicasaunity.Unity.ApplicasaFilter");
     AndroidJavaObject tempJavaObject=javaUnityApplicasaFilter.CallStatic<AndroidJavaObject>("ApplicasaFilterGetFilterBool", (int)field, field.ToString(), (int)op, val);
     Filter filter = new Filter(tempJavaObject.GetRawObject(), tempJavaObject);
     return filter;
 }