Ejemplo n.º 1
0
			Object ICaptor.PreProcess(ICaptorState captorState)
			{
				IStringSink sink = (IStringSink)captorState.Environment;
				sink.BeginAppend(captorState.Capture, m_id);
				sink.Append(m_replacement);
				sink.EndAppend(captorState.Capture);

				//防止嵌套
				return null;
			}
Ejemplo n.º 2
0
Archivo: cspeg.cs Proyecto: fengqk/Art
			Boolean IMatchTimeJudger.IsMatch(ICaptorState captorState)
			{
				return m_judger(captorState);
			}
Ejemplo n.º 3
0
Archivo: cspeg.cs Proyecto: fengqk/Art
			void ICaptor.PostProcess(ICaptorState captorState, Object childEnvironment)
			{
				if (m_post != null)
					m_post(captorState, childEnvironment);
			}
Ejemplo n.º 4
0
Archivo: cspeg.cs Proyecto: fengqk/Art
			Object ICaptor.PreProcess(ICaptorState captorState)
			{
				if (m_pre != null)
					return m_pre(captorState);
				else
					return captorState.Environment;
			}
Ejemplo n.º 5
0
			void ICaptor.PostProcess(ICaptorState captorState, Object childEnvironment)
			{
			}
Ejemplo n.º 6
0
			void ICaptor.PostProcess(ICaptorState captorState, Object childEnvironment)
			{
				IStringSink sink = (IStringSink)captorState.Environment;
				OnPostProcess(sink, captorState, childEnvironment);
				sink.EndAppend(captorState.Capture);
			}
Ejemplo n.º 7
0
			Object ICaptor.PreProcess(ICaptorState captorState)
			{
				Substring[] arr = (Substring[])captorState.Environment;
				arr[m_index] = captorState.Capture;
				return null;
			}
Ejemplo n.º 8
0
			protected abstract Object OnPreProcess(IStringSink sink, ICaptorState captorState);
Ejemplo n.º 9
0
			protected abstract void OnPostProcess(IStringSink sink, ICaptorState captorState, Object childEnvironment);
Ejemplo n.º 10
0
			void ICaptor.PostProcess(ICaptorState captorState, Object childEnvironment)
			{
				((Sink)childEnvironment).PostProcess(captorState, childEnvironment);
			}
Ejemplo n.º 11
0
			Object ICaptor.PreProcess(ICaptorState captorState)
			{
				IStringSink sink = (IStringSink)captorState.Environment;
				sink.BeginAppend(captorState.Capture, m_id);
				return OnPreProcess(sink, captorState);
			}
Ejemplo n.º 12
0
			Object ICaptor.PreProcess(ICaptorState captorState)
			{
				return new Sink(m_id).PreProcess(captorState);
			}
Ejemplo n.º 13
0
				public void PostProcess(ICaptorState captorState, Object childEnvironment)
				{
					m_baseSink.EndAppend(captorState.Capture);
				}
Ejemplo n.º 14
0
				public Object PreProcess(ICaptorState captorState)
				{
					IStringSink sink = (IStringSink)captorState.Environment;
					m_baseSink = sink;

					m_baseSink.BeginAppend(captorState.Capture, m_id);

					return this;
				}
Ejemplo n.º 15
0
				public void PostProcess(ICaptorState captorState, Object childEnvironment)
				{
					//当前位置到整体结尾
					m_baseSink.Append(captorState.Capture.WholeString, m_currentPosition, captorState.Capture.End - m_currentPosition);
					m_currentPosition = captorState.Capture.End;

					m_baseSink.EndAppend(captorState.Capture);
				}
Ejemplo n.º 16
0
				public Object PreProcess(ICaptorState captorState)
				{
					m_baseSink = (IStringSink)captorState.Environment;

					m_currentPosition = captorState.Capture.Begin;

					m_baseSink.BeginAppend(captorState.Capture, m_id);

					return this;
				}