Beispiel #1
0
 /// <summary>
 /// ソースファイルを追加する
 /// </summary>
 /// <param name="path">ソースファイルのパス</param>
 public void AddSource(string path)
 {
     if (File.Exists(path))
     {
         var file = new SourceFile(path);
         _source_queue.Enqueue(file);
     }
     else
     {
         throw new MError("ソースファイル " + path + " が見つかりません。");
     }
 }
Beispiel #2
0
        /// <summary>
        /// 次の文字を取り出す
        /// </summary>
        public void NextChar()
        {
            while (true)
            {
                if (_current_source != null)
                {
                    _current_source.NextChar();
                }

                if (IsEof())
                {
                    if (_source_queue.Count > 0)
                    {
                        _current_source = _source_queue.Dequeue();
                        continue;
                    }
                }

                break;
            }
        }