コード例 #1
0
        //done
        private BlockType GetBlock(string Name)
        {
            if (_Blocks[Name] == null)
            {
                Fireball.Syntax.BlockType b = new Fireball.Syntax.BlockType(_Language);
                _Blocks.Add(Name, b);
            }

            return((BlockType)_Blocks[Name]);
        }
コード例 #2
0
ファイル: Language.cs プロジェクト: viticm/pap2
		private void FillBlocks(BlockType blockType)
		{
			if (blockType==null)
				return;

			if (_Blocks[blockType]!=null)
				return;

			_Blocks[blockType]=blockType;

			foreach (BlockType current in blockType.ChildBlocks)
			{
				FillBlocks(current);
			}
			foreach (Scope current in blockType.ScopePatterns)
			{
				FillBlocks(current.SpawnBlockOnEnd);
				FillBlocks(current.SpawnBlockOnStart);
			}
		}
コード例 #3
0
ファイル: Row.cs プロジェクト: viticm/pap2
		/// <summary>
		/// For public use only
		/// </summary>
		/// <param name="BlockType"></param>
		/// <param name="StartWord"></param>
		/// <param name="IgnoreStartWord"></param>
		/// <returns></returns>
		public Word FindRightWordByBlockType(BlockType BlockType, Word StartWord, bool IgnoreStartWord)
		{
			int i = StartWord.Index;
			if (IgnoreStartWord)
				i++;
			Word w = null;
			while (i < mWords.Count)
			{
				w = this[i];
				if (w.Segment.BlockType == BlockType && w.Type != WordType.xtSpace && w.Type != WordType.xtTab)
				{
					return w;
				}
				i++;
			}
			return null;
		}
コード例 #4
0
ファイル: Row.cs プロジェクト: viticm/pap2
		/// <summary>
		/// For public use only
		/// </summary>
		/// <param name="BlockType"></param>
		/// <param name="StartWord"></param>
		/// <param name="IgnoreStartWord"></param>
		/// <returns></returns>
		public Word FindLeftWordByBlockType(BlockType BlockType, Word StartWord, bool IgnoreStartWord)
		{
			int i = StartWord.Index;
			if (IgnoreStartWord)
				i--;
			Word w = null;
			while (i >= 0)
			{
				w = this[i];
				if (w.Segment.BlockType == BlockType && w.Type != WordType.xtSpace && w.Type != WordType.xtTab)
				{
					return w;
				}
				i--;
			}
			return null;
		}
コード例 #5
0
ファイル: LanguageReader.cs プロジェクト: viticm/pap2
        //done
        private BlockType GetBlock(string Name)
        {
            if (_Blocks[Name] == null)
            {
                Fireball.Syntax.BlockType b = new Fireball.Syntax.BlockType(_Language);
                _Blocks.Add(Name, b);
            }

            return (BlockType)_Blocks[Name];
        }
コード例 #6
0
ファイル: PatternListList.cs プロジェクト: westybsa/MP.LSharp
		public PatternListList(BlockType parent)
		{
			this.Parent = parent;
		}
コード例 #7
0
ファイル: LanguageReader.cs プロジェクト: petriw/Balder
 //done
 private BlockType GetBlock(string Name)
 {
     if (_Blocks.ContainsKey(Name) == false)
     {
         Fireball.Syntax.BlockType b = new Fireball.Syntax.BlockType(_Language);
         _Blocks.Add(Name, b);
     }
     return (BlockType)_Blocks[Name];
 }
コード例 #8
0
ファイル: Language.cs プロジェクト: petriw/Balder
        private void FillBlocks(BlockType blockType)
        {
            if (blockType == null)
            return;

              if (_Blocks.ContainsKey(blockType) == true )
            return;
              else
            _Blocks.Add(blockType, blockType);

              foreach (BlockType current in blockType.ChildBlocks)
              {
            FillBlocks(current);
              }
              foreach (Scope current in blockType.ScopePatterns)
              {
            FillBlocks(current.SpawnBlockOnEnd);
            FillBlocks(current.SpawnBlockOnStart);
              }
        }
コード例 #9
0
ファイル: ScopeCollection.cs プロジェクト: westybsa/MP.LSharp
		/// <summary>
		/// 
		/// </summary>
		/// <param name="parent"></param>
		public ScopeCollection(BlockType parent)
		{
			Parent = parent;
		}