示例#1
0
        private async void button02_Click(object sender, RoutedEventArgs e)
        {                         // [Reset]ボタン押下
            ClearResultTextBox(); // 初期表示をクリアする
            await chknamespace.ClearAsync();

            await chkclass.ClearAsync();

            await chknamespace.ClearAsync();

            textBox01.Text = "";
            textBox02.Text = "";
            Appflg         = false;
        }
        public async Task ExecAsync()
        {                     // 評価
            if (!_empty)
            {                 // バッファーに実装有り?
                _result = ""; // 出力情報をクリア
                await chknamespace.ClearAsync();

                await chkclass.ClearAsync();

                await chkfunc.ClearAsync();

                // トークン評価を行う
                await getken.ClearAsync();

                await getken.ExecAsync(_wbuf);

                if (getken.Wcnt != 0)
                {   // トークン有り?
                    _wcnt = getken.Wcnt;
                    _arry = new string[_wcnt];
                    for (int i = 0; i < _wcnt; i++)
                    {   // 全ての要素に対して処理を行う
                        _arry[i] = getken.Array[i];
                    }
                    for (int i = 0; i < _wcnt; i++)
                    {   // 全ての要素に対して処理を行う
                        // [Namespace]に対する処理を行う。
                        await chknamespace.ExecAsync(_lno, _wbuf);

                        if (chknamespace.Is_namespace)
                        {                                              // [Namespace]検出?
                            _Is_namespace = chknamespace.Is_namespace; // [Namespace]フラグ:true
                            continue;                                  // 名称取り出し
                        }
                        else
                        {
                            if ((_Is_namespace) && (!string.IsNullOrEmpty(chknamespace.Result)))
                            {   // [Namespace]情報を抜き出したか?
                                _result       = chknamespace.Result;
                                _empty        = false;
                                _Is_namespace = false;
                                break;
                            }
                        }

                        // [Class]に対する処理を行う。
                        await chkclass.ExecAsync(_lno, _wbuf);

                        if (chkclass.Is_class)
                        {                                  // [Class]検出?
                            _Is_class = chkclass.Is_class; // [Class]フラグ:true
                            continue;                      // 名称取り出しへ
                        }
                        else
                        {
                            if ((_Is_class) && (!string.IsNullOrEmpty(chkclass.Result)))
                            {   // [Class]情報を抜き出したか?
                                _result   = chkclass.Result;
                                _empty    = false;
                                _Is_class = false;
                                break;
                            }
                        }

                        // [Function]に対する処理を行う。
                        await chkfunc.ExecAsync(_lno, _wbuf);

                        if (chkfunc.Is_func)
                        {                               // [Function]検出?
                            _Is_func = chkfunc.Is_func; // [Function]フラグ:true
                            // 名称取り出しへ
                        }
                        else
                        {
                            if ((_Is_func) && (!string.IsNullOrEmpty(chkfunc.Result)))
                            {   // [Function]情報を抜き出したか?
                                _result  = chkfunc.Result;
                                _empty   = false;
                                _Is_func = false;
                            }
                        }
                    }
                }
                else
                {
                    _result = "";       // 出力情報をクリア
                    _empty  = true;
                }
            }
            else
            {
                _result = "";       // 出力情報をクリア
            }
        }