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)