CSLE.CLS_Expression_Compiler.FindFullExpression C# (CSharp) Метод

FindFullExpression() приватный Метод

private FindFullExpression ( IList tokens, int pos, bool &bdepstart ) : int
tokens IList
pos int
bdepstart bool
Результат int
        int FindFullExpression(IList<Token> tokens, int pos, out bool bdepstart)
        {
            int dep = 0;
            bdepstart = false;
            for (int i = pos; i < tokens.Count; i++)
            {

                if (tokens[i].type == TokenType.PUNCTUATION)
                {
                    if (tokens[i].text == "(" && i == pos)
                    {
                        dep++;
                        bdepstart = true;
                    }
                    if (tokens[i].text == ")")
                    {
                        dep--;
                        if (dep == 0 && bdepstart)//括号开始的表达式,括号结束
                            return i;
                        else if (dep < 0)
                            return i - 1;
                    }
                    if (tokens[i].text == ",")//,结束的表达式
                    {
                        if (dep == 0 && !bdepstart)
                            return i - 1;
                    }
                    if (tokens[i].text == ";")
                    {
                        if (dep == 0)
                            return i - 1;
                        else
                            return -1;
                    }
                }
            }
            return -1;
        }
        int GetExpressionOp(IList<Token> tokens, int pos, int posend)