示例#1
0
        protected override IParseResult TryGetTokenWithoutNullCheck(IStringStream inputStream, out IToken token)
        {
            inputStream.Pop();
            var interval = new IntegerInterval();

            interval.TrySetValue(0, 1);
            token = new IntegerIntervalToken(interval, _initialStreamPosition, 1);
            return(new SuccessParseResult());
        }
示例#2
0
        protected override IParseResult TryGetTokenWithoutNullCheck(IStringStream inputStream, out IToken token)
        {
            token = null;

            var intervalResult = _primitiveParser.TryParseIntegerInterval(inputStream);

            if (!intervalResult.IsSuccess)
            {
                return(intervalResult);
            }

            var rangeTokenLength = (int)(inputStream.CurrentPosition - _initialStreamPosition);

            token = new IntegerIntervalToken(intervalResult.Value, inputStream.CurrentPosition, rangeTokenLength);
            return(new SuccessParseResult());
        }