示例#1
0
        void Function()
        {
            _paramList.Clear();
            Expect(4);
            Expect(1);
            var funcName = t.val;

            Expect(5);
            if (la.kind == 1)
            {
                Get();
                _paramList.Add(t.val);
                while (la.kind == 6)
                {
                    Get();
                    Expect(1);
                    _paramList.Add(t.val);
                }
            }
            Expect(7);
            if (Vars.IsFunctionExists(funcName) || Vars.IsHostFunctionExists(funcName))
            {
                SemErr(string.Format("Function '{0}' already declared", funcName));
            }
            Vars.RegisterFunction(funcName, _scanner.PC, _paramList);

            Block();
        }