Пример #1
0
        public void Run(Context cx)
        {
            cx.SetReg((ushort)(this.A + 1), cx.R(this.B));
            cx.SetReg(this.A, cx.LoadTable(B, cx.RK(C)));

            cx.SetSReg((ushort)(this.A + 1), cx.SR(this.B));
            cx.SetSReg(this.A, cx.SR(B) + "[" + cx.SRK(C) + "]");
        }
Пример #2
0
 public void Run(Context cx)
 {
     cx.SetReg(A, new Table(Context.TblFbp(B), Context.TblSz(C)));
     if (cx.IsLocal(A))
     {
         cx.SetSReg(A, cx.LocalName(A) + "[]");
     }
     else
     {
         cx.SetSReg(A, "{}");
     }
 }
Пример #3
0
 public void Run(Context cx)
 {
     for (ushort i = A; i <= B; i++)
     {
         cx.SetReg(i, Context.Nil);
         cx.SetSReg(i, Context.Nil.ToString());
     }
 }
Пример #4
0
 public void Run(Context cx)
 {
     //cx.SetReg(this.A, cx.R(this.B));
     for (int i = A; i <= A + C - 2; i++)
     {
         cx.SetReg((ushort)i, Context.Nil);
         cx.SetSReg((ushort)i, cx.SR(A) + "(" + cx.ListSR(A + 1, A + B - 1, "") + ")" /*+".Result["+i+"]"*/);
     }
 }
Пример #5
0
        public void Setup(Context cx)
        {
            int ct = 0;

            for (int i = A + 1; i <= A + 2 + C; i++)
            {
                cx.SetSReg((ushort)i, "loopvar" + ct.ToString());
                ct++;
            }
        }
Пример #6
0
        public void Run(Context cx)
        {
            string v  = "";
            string sv = "";

            for (ushort i = B; i <= C; i++)
            {
                v += cx.R(i).ToString();
                if (i != B)
                {
                    v += " .. ";
                }
                sv += cx.SR(i).ToString();
            }

            cx.SetReg(this.A, v);
            cx.SetSReg(this.A, sv);
        }
Пример #7
0
        public void Run(Context cx)
        {
            ObjLuaFunction fkt = cx.KProto(BX);

            cx.SetReg(this.A, fkt);

            System.IO.StreamWriter sw = new System.IO.StreamWriter(new System.IO.MemoryStream());
            string  paramlist;
            Context scx = cx.CreateSubContext(fkt, out paramlist);

            sw.WriteLine();
            sw.WriteLine(cx.Indent + "function {{name}}(" + paramlist + ")");
            fkt.ToSource(sw, scx);
            sw.Write(cx.Indent + "end");
            sw.WriteLine();

            sw.Flush();
            sw.BaseStream.Seek(0, System.IO.SeekOrigin.Begin);
            System.IO.StreamReader sr = new System.IO.StreamReader(sw.BaseStream);
            cx.SetSReg(A, sr.ReadToEnd());
            sw.Close();
        }
Пример #8
0
 public void Run(Context cx)
 {
     cx.SetReg(A, cx.LoadTable(B, cx.RK(C)));
     cx.SetSReg(A, cx.SR(B) + "[" + cx.SRK(C) + "]");
 }
Пример #9
0
 public void Run(Context cx)
 {
     cx.SetReg(A, cx.Gbl(cx.Kst(BX)));
     cx.SetSReg(A, Kst(BX));
 }
Пример #10
0
 public void Run(Context cx)
 {
     cx.SetLocal(A, cx.Kst(BX));
     cx.SetSReg(A, cx.SKst(BX));
 }
Пример #11
0
 public void Run(Context cx)
 {
     cx.SetReg(this.A, cx.R(this.B));
     cx.SetSReg(this.A, cx.SR(this.B));
 }
Пример #12
0
 public void Run(Context cx)
 {
     cx.SetLocal(A, cx.Bool(B));
     cx.SetSReg(A, cx.Bool(B).ToString());
 }
Пример #13
0
 public void Run(Context cx)
 {
     cx.SetReg(this.A, !Convert.ToBoolean(cx.R(this.B)));
     cx.SetSReg(A, "!" + cx.SR(B));
 }
Пример #14
0
 public void Run(Context cx)
 {
     cx.SetReg(this.A, -1 * Convert.ToDouble(cx.R(this.B)));
     cx.SetSReg(A, "-" + cx.SR(B));
 }
Пример #15
0
 public void Run(Context cx)
 {
     cx.SetReg(this.A, Convert.ToDouble(cx.RK(this.B)) / Convert.ToDouble(cx.RK(this.C)));
     cx.SetSReg(A, "(" + cx.SRK(B) + " / " + cx.SRK(C) + ")");
 }