示例#1
0
        private VPPMakro ParseFuncDefine(int start, string var, VPPTextParser parser)
        {
            parser.Eat('(');
            List <string> p = ParseList(parser, x => x.Is(')'));

            parser.Eat(')');

            parser.EatWhiteSpace();

            int pStart = parser.Eat('{');
            int end    = parser.FindClosing('{', '}');

            parser.SetPosition(pStart + 1);
            string block = parser.Get(end - pStart - 1).Trim();

            parser.SetPosition(start);
            parser.Remove(end + 1 - start);

            return(new VPPTextMakro(var, block, p.Select(x => new VPPMakroParameter {
                Name = x
            }).ToList()));
        }