예제 #1
0
		public object ApplyFilters(SglrEngine engine, IParseNode root, string sort, int startOffset, int inputLength)
		{
			IParseNode node = root;
			InitializeFromParser(engine);
			node = ApplyTopSortFilter(sort, node);
			if (filterAny)
			{
				node = ApplyCycleDetectFilter(node);
				node = FilterTree(node);
			}
			if (node == null)
				return null;
			return YieldTreeTop(node, startOffset);
		}
예제 #2
0
		/// <inheritdoc />
		internal override void Execute(SglrEngine parser, Frame frame)
		{
			parser.TryAccept(frame);
		}
예제 #3
0
		/// <inheritdoc />
		internal override void Execute(SglrEngine parser, Frame frame)
		{
			parser.EnqueueForShifter(frame, this.NextState, parser.CurrentToken);
		}
예제 #4
0
		/// <inheritdoc />
		internal override void Execute(SglrEngine parser, Frame frame)
		{
			if (!parser.IsFollowRestricted(this.FollowRestriction))
				parser.DoReductions(frame, this.Label);
		}
예제 #5
0
		private void InitializeFromParser(SglrEngine engine)
		{
			throw new NotImplementedException();
		}
예제 #6
0
		public object ApplyFilters(SglrEngine engine, IParseNode root, string sort, int inputLength)
		{
			return ApplyFilters(engine, root, sort, 0, inputLength);
		}