コード例 #1
0
ファイル: CgExp.cs プロジェクト: yuyixiaoxiang/cslua
        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);
        }