Example #1
0
        public ParseResult <IIntermediateModifier> Parse(string stat)
        {
            var(successfullyParsed, remaining, innerResult) = _innerParser.Parse(stat);
            IIntermediateModifier result;

            if (successfullyParsed)
            {
                _groups = innerResult.RegexGroups;
                var context = CreateContext("");
                result = _modifierResolver.Resolve(innerResult.Modifier, context);
            }
            else
            {
                result = innerResult?.Modifier;
            }

            return(successfullyParsed, remaining, result);
        }
Example #2
0
        public StringParseResult <IIntermediateModifier> Parse(CoreParserParameter parameter)
        {
            var(successfullyParsed, remaining, innerResult) = _innerParser.Parse(parameter);
            IIntermediateModifier result;

            if (successfullyParsed)
            {
                var groups  = innerResult.RegexGroups;
                var context = CreateContext(groups, "");
                result = _modifierResolver.Resolve(innerResult.Modifier, context);
            }
            else
            {
                result = innerResult?.Modifier;
            }

            return(successfullyParsed, remaining, result);
        }