Beispiel #1
0
        public If Else(string o)
        {
            o = o.Substring("else ".Length).Trim();
            if (o.StartsWith("if"))
            {
                _operator.PRight = new List<COperator>();
                var i = new If(o);
                _operator.PRight.Add(i.GetOperator());
                return i;
            }
            if(o.StartsWith("{"))
                o = o.Beetween("{", "}");
            _operator.PRight = CPPFileAnalyzer.AnalyzeBlock(o);

            return null;
        }
Beispiel #2
0
        private void _blockAnalyzer(IEnumerable<string> oprtrs)
        {
            If sIf = null;
            foreach (var oprtr in oprtrs)
            {
                if (oprtr.StartsWith("cout") || oprtr.StartsWith("printf"))
                {
                    _result.AddRange(new Cout(oprtr).GetOperators());
                }
                else if (oprtr.StartsWith("cin"))
                {
                    _result.AddRange(new Cin(oprtr).GetOperators());
                }
                else if (oprtr.StartsWith("if"))
                {
                    sIf = new If(oprtr);
                    _result.Add(sIf.GetOperator());
                }
                else if (oprtr.StartsWith("for", "while"))
                {
                    _result.Add(new Cycle(oprtr).GetOperator());
                }
                else if (oprtr.StartsWith("else"))
                {
                    sIf = sIf.Else(oprtr);
                }
                else if (oprtr.StartsWith("switch"))
                {
                    _result.Add(new Switch(oprtr).GetOperator());
                }
                else if (oprtr.StartsWith("int", "double", "float", "char", "bool", "long int", "unsigned int", "unsigned long",
                                          "long doble", "break", "continue", "const", "SetConsole"))
                {

                }
                else
                {
                    _result.Add(new COperator(OperatorType.Action, oprtr));
                }
            }
        }