public Transition OnSpaceChar(bool returnCharAfterTransition = false) { var t = new Transition(m_source, m_target, ch => ch == ' ' || ch == '\t', returnCharAfterTransition); m_source.Transitions.Add(t); return t; }
public Transition OnFNSSChar(char c, bool returnCharAfterTransition = false) { var t = new Transition(m_source, m_target, ch => ch == c && m_context.IsFNSSChar, returnCharAfterTransition); m_source.Transitions.Add(t); return t; }
public Transition OnEOL() { var t = new Transition(m_source, m_target, ch => ch == '\n' && m_context.IsEOL); m_source.Transitions.Add(t); return t; }
public Transition OnChars(params char[] chs) { var t = new Transition(m_source, m_target, ch => { foreach (var c in chs) { if (ch == c) return true; } return false; }); m_source.Transitions.Add(t); return t; }
public Transition OnAnyFNSSChar(bool returnCharAfterTransition = false) { var t = new Transition(m_source, m_target, ch => m_context.IsFNSSChar && !m_context.IsEOL, returnCharAfterTransition); m_source.Transitions.Add(t); return t; }
public Transition On(Transition.Condition condition, bool returnCharAfterTransition = false) { var t = new Transition(m_source, m_target, condition, returnCharAfterTransition); m_source.Transitions.Add(t); return t; }