Пример #1
0
        void parseText()
        {
            StringBuilder buff = new StringBuilder();

            for (; i < Code.Length && ch != '('; i++)
            {
                buff.Append(ch);
            }
            desc.Add(buff.ToString());
        }
Пример #2
0
        private bool AnlayNameBody(NameTypeParser parser)
        {
            bool isStatic = this.ProcContext.IsStatic;

            ProcDesc = new ZMethodDesc();
            //int argIndex = this.procContext.IsStatic ? 0 : 1;
            int argIndex = isStatic ? 0 : 1;

            for (int i = 0; i < NameTerms.Count; i++)
            {
                var term = NameTerms[i];
                if (term is Token)
                {
                    var    textterm = term as Token;
                    string namePart = textterm.GetText();
                    ProcDesc.Add(namePart);

                    WordInfo info = new WordInfo(namePart, WordKind.ProcNamePart, this);
                    this.ProcContext.ProcNameWordDictionary.Add(info);
                }
                else if (term is ProcArg)
                {
                    AnalyArg(term as ProcArg, parser, ProcDesc);
                }
            }
            return(true);
        }
Пример #3
0
        public void AnalyArg(ProcArg argTree, NameTypeParser parser, ZMethodDesc desc)
        {
            //ProcArg argTree = term as ProcArg;
            argTree.ProcContext = this.ProcContext;
            argTree.Analy(parser);
            ZMethodNormalArg procArg = new ZMethodNormalArg(argTree.ArgName, argTree.ArgZType);

            desc.Add(procArg);
            //argIndex++;
        }