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; }
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)); } } }