Ejemplo n.º 1
0
        public StructParameters ParseParameters(ref int i)
        {
            var sp = new StructParameters();

            Console.WriteLine("PP:" + Get(i).Text);
            Log("Checking parameters.", i);
            AssertTok(i, Token.LeftPara);

            i++;
            for (i = i; i < toks.Len; i++)
            {
                switch (Get(i).Token)
                {
                case Token.Id:

                    var vv = new Var();
                    vv.Name = Get(i).Text;
                    sp.Pars.Add(vv);

                    break;

                case Token.Comma:

                    break;

                case Token.RightPara:
                    return(sp);

                    break;
                }
            }

            return(sp);
        }
Ejemplo n.º 2
0
        public void WritePars(StructParameters pars)
        {
            int pn = 0;

            foreach (var par in pars.Pars)
            {
                C("dynamic " + par.Name);
                if (par.Init != null)
                {
                    C(" = ");
                    WriteExpr(par.Init);
                }
                pn++;
                if (pn < pars.Pars.Count)
                {
                    C(",");
                }
            }
        }