예제 #1
0
        protected virtual Either <IParseState> _MatchRule(IParseRule Rule, IParseState State)
        {
            var t_NewState = Rule
                             .Match(State);

            return(!t_NewState.HasError() ?
                   t_NewState :
                   new Exception($"Match not found for rule: {Rule}"));
        }
예제 #2
0
        public Either <IParseState> Match(IParseState State)
        {
            var t_NewState = m_Rule.Match(State);

            if (t_NewState.HasError())
            {
                return(t_NewState);
            }

            return(_CreateExpression(State, t_NewState.Value));
        }