/// <summary>
		/// Constructor
		/// </summary>
		/// <param name="sr">File to read</param>
		public VarCollection_Structure(StreamReader sr)
		{
			VarCollection vc = new VarCollection(sr);

			root = new KeyVal("parent", "parent");
			root.SubHash = new Dictionary<string, KeyVal>();
			
			parse_block(vc,root);
		}
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="sr">File to read</param>
        public VarCollection_Structure(StreamReader sr)
        {
            VarCollection vc = new VarCollection(sr);

            root         = new KeyVal("parent", "parent");
            root.SubHash = new Dictionary <string, KeyVal>();

            parse_block(vc, root);
        }
		private void parse_block(VarCollection vc,KeyVal parent)
		{
			KeyVal kv;
			KeyVal lastKV=null;
			while (vc.ReadLine(out kv))
			{
				switch (kv.Keyword)
				{
					case "{":
						lastKV.SubHash = new Dictionary<string, KeyVal>();
						parse_block(vc,lastKV);
						break;
					case "}":
						return;
					default:
						parent.SubHash[kv.Keyword]=kv;
						lastKV = kv;
						break;
				}
			}
		}
        private void parse_block(VarCollection vc, KeyVal parent)
        {
            KeyVal kv;
            KeyVal lastKV = null;

            while (vc.ReadLine(out kv))
            {
                switch (kv.Keyword)
                {
                case "{":
                    lastKV.SubHash = new Dictionary <string, KeyVal>();
                    parse_block(vc, lastKV);
                    break;

                case "}":
                    return;

                default:
                    parent.SubHash[kv.Keyword] = kv;
                    lastKV = kv;
                    break;
                }
            }
        }
Пример #5
0
 /// <summary>
 /// </summary>
 public bool ReadLine(out KeyVal output)
 {
     return((output = ReadLine()) != null);
 }
Пример #6
0
		public bool ReadLine(out KeyVal output)
		{
			return (output = ReadLine()) != null;
		}