コード例 #1
0
        /// <summary>overriden ToString method</summary>
        public override string ToString()
        {
            string[] s = new string[ParameterList.Length];

            for (int i = 0; i < this.ParameterList.Length; i++)
            {
                RegParamPair p = this.ParameterList[i];
                s[i] = p.ToString();
            }

            string[] s2 = new string[ActionRecord.Count];
            for (int i = 0; i < ActionRecord.Count; i++)
            {
                //s2[i] = String.Format("{0}",ActionRecord[i].ToString());
                BaseAction a = (BaseAction)ActionRecord[i];
                s2[i] = a.ToString();
            }

            return(String.Format("\n/*function2 '{0}' ({2})({1})\n{3}\nend function {4}*/\n",
                                 Name,
                                 String.Join(",", s),
                                 flags.ToString(),
                                 String.Join("\n", s2),
                                 Name
                                 ));
        }
コード例 #2
0
        /// <summary>
        /// constructor
        /// </summary>
        /// <param name="n">function name</param>
        /// <param name="p">function parameters</param>
        /// <param name="r">register count</param>
        /// <param name="f">flags for automatic register allocation</param>
        /// <param name="actionRec">inner action block (body)</param>
        public ActionDefineFunction2(string n,
		                             RegParamPair[] p,
		                             int r,
		                             VariableFlagSet f,
		                             ArrayList actionRec)
            : base(ActionCode.DefineFunction2)
        {
            Name = n;
            ParameterList = p;
            RegisterCount = r;
            flags = f;
            ActionRecord = actionRec;
        }