Ejemplo n.º 1
0
 public void PreParse(string str)
 {
     if (str == "")
     {
         return;
     }
     string[] line = IJStringUtil.SplitWithCRLFAndEraseComment(str);
     ParseLine(line[0]);
     for (int i = 1; i < line.Length; ++i)
     {
         element_list_.Add(new CustomFormatElement(line[i]));
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// フィルターを解析する(フィルターを使う前にこの関数を呼び出す必要がある)
        /// </summary>
        /// <param name="str">フィルターファイルの中身</param>
        public void Parse(string str)
        {
            string[] line = IJStringUtil.SplitWithCRLFAndEraseComment(str);

            int start_blacket = -1;

            for (int i = 0; i < line.Length; ++i)
            {
                if (line[i].StartsWith("["))
                {
                    if (start_blacket >= 0) // 最初は無視
                    {
                        element_list_.Add(FilterElementFactory.MakeElement(line, start_blacket, i));
                    }
                    start_blacket = i;
                }
            }
            // 最後のブロックの処理
            if (start_blacket >= 0)
            {
                element_list_.Add(FilterElementFactory.MakeElement(line, start_blacket, line.Length));
            }
        }