private static void CgConcatExp(FuncInfo fi, ConcatExp node, int a) { foreach (var subExp in node.Exps) { var tmp = fi.AllocReg(); CgExp(fi, subExp, tmp, 1); } var c = fi.UsedRegs - 1; var b = c - node.Exps.Count + 1; fi.FreeRegs(c - b + 1); fi.EmitABC(EOpCode.OP_CONCAT, a, b, c); }