Example #1
0
        //────────────────────────────────────────
        #endregion



        #region アクション
        //────────────────────────────────────────

        public virtual void Translate_Step1(
            ConfigurationtreeToFunction_Item parentProcesser,
            Configurationtree_Node action_Conf,
            Expression_Node_Function cur_Expr_Func,
            MemoryApplication owner_MemoryApplication,
            Log_TextIndented_ConfigurationtreeToExpression pg_ParsingLog,
            Log_Reports log_Reports
            )
        {
            Log_Method log_Method = new Log_MethodImpl(0);

            log_Method.BeginMethod(Info_Functions.Name_Library, this, "Translate_Step1", log_Reports);

            //
            // アクション型引数の引数
            //
            string err_sName_Attr;

            action_Conf.List_Child.ForEach(delegate(Configurationtree_Node s_Arg, ref bool bBreak)
            {
                string sName_Attr;
                s_Arg.Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sName_Attr, true, log_Reports);

                if (cur_Expr_Func.ContainsName_ArgumentDefinition(sName_Attr, log_Reports))
                {
                    //
                    // 自解析
                    //
                    ConfigurationtreeToExpression_F14n16 to = new ConfigurationtreeToExpression_F14_FArgImpl();
                    to.Translate(
                        s_Arg,
                        cur_Expr_Func,
                        owner_MemoryApplication,
                        pg_ParsingLog,
                        log_Reports
                        );
                }
                else
                {
                    // エラー
                    err_sName_Attr = sName_Attr;
                    goto gt_Error_UndefinedArgName;
                }

                goto gt_EndMethod2;
                //
                //
                gt_Error_UndefinedArgName:
                bBreak = true;
                {
                    Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl();
                    tmpl.SetParameter(1, err_sName_Attr, log_Reports);                                                //引数名
                    tmpl.SetParameter(2, cur_Expr_Func.ToString_ListNameargumentDefinition_ForReport(), log_Reports); //引数名リスト

                    owner_MemoryApplication.CreateErrorReport("Er:110001;", tmpl, log_Reports);
                }
                //
                gt_EndMethod2:
                ;
            });

            goto gt_EndMethod;

gt_EndMethod:
            log_Method.EndMethod(log_Reports);
        }
        //────────────────────────────────────────
        public virtual void Translate_Step1(
            ConfigurationtreeToFunction_Item parentProcesser,
            Configurationtree_Node action_Conf,
            Expression_Node_Function cur_Expr_Func,
            MemoryApplication owner_MemoryApplication,
            Log_TextIndented_ConfigurationtreeToExpression pg_ParsingLog,
            Log_Reports log_Reports
            )
        {
            Log_Method log_Method = new Log_MethodImpl(0);
            log_Method.BeginMethod(Info_Functions.Name_Library, this, "Translate_Step1",log_Reports);

            //
            // アクション型引数の引数
            //
            string err_sName_Attr;
            action_Conf.List_Child.ForEach(delegate(Configurationtree_Node s_Arg, ref bool bBreak)
            {
                string sName_Attr;
                s_Arg.Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sName_Attr, true, log_Reports);

                if (cur_Expr_Func.ContainsName_ArgumentDefinition(sName_Attr,log_Reports))
                {
                    //
                    // 自解析
                    //
                    ConfigurationtreeToExpression_F14n16 to = new ConfigurationtreeToExpression_F14_FArgImpl();
                    to.Translate(
                        s_Arg,
                        cur_Expr_Func,
                        owner_MemoryApplication,
                        pg_ParsingLog,
                        log_Reports
                        );
                }
                else
                {
                    // エラー
                    err_sName_Attr = sName_Attr;
                    goto gt_Error_UndefinedArgName;
                }

                goto gt_EndMethod2;
            //
            //
            gt_Error_UndefinedArgName:
                bBreak = true;
                {
                    Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl();
                    tmpl.SetParameter(1, err_sName_Attr, log_Reports);//引数名
                    tmpl.SetParameter(2, cur_Expr_Func.ToString_ListNameargumentDefinition_ForReport(), log_Reports);//引数名リスト

                    owner_MemoryApplication.CreateErrorReport("Er:110001;", tmpl, log_Reports);
                }
            //
            gt_EndMethod2:
                ;
            });

            goto gt_EndMethod;

            gt_EndMethod:
            log_Method.EndMethod(log_Reports);
        }