public override void Parse(Parser parser, List <IExpression> list, ref int pos) { var item1 = list[pos].Cast <ExpressionBrackets>(); list.RemoveRange(pos, 1); parser.Parse(item1); parser.Parse(ParseLevel.ARRAY_ARGS, item1); list.Insert(pos, new ExpressionArray(ESUtility.ToArrayArgs(item1))); pos -= 1; }
public override void Parse(Parser parser, List <IExpression> list, ref int pos) { var item1 = list[pos].Cast <IExpressionRight>(); var item2 = list[pos + 1].Cast <ExpressionParens>(); list.RemoveRange(pos, 2); parser.Parse(item2); parser.Parse(ParseLevel.ARRAY_ARGS, item2); list.Insert(pos, new ExpressionInvoke(item1, ESUtility.ToArrayArgs(item2))); pos -= 1; }