Beispiel #1
0
        /// <summary>
        /// Creates a new instance of <see cref="UnorderedParser{TValue}"/>.
        /// </summary>
        /// <param name="mode">Parsing mode.</param>
        /// <param name="items">The item parsers. Not null. Not empty.</param>
        public UnorderedParser(UnorderedParsingMode mode = UnorderedParsingMode.FullSet, params IParser <TValue>[] items)
        {
            ArgumentCheck.NotNullOrEmptyOrWithNulls(items, nameof(items));

            _mode  = mode;
            _items = items;
        }
Beispiel #2
0
        /// <summary>
        /// Creates a new instance of <see cref="UnorderedParser{TValue}"/>.
        /// </summary>
        /// <param name="separator">Item separator. Not null.</param>
        /// <param name="mode">Parsing mode.</param>
        /// <param name="items">The item parsers. Not null. Not empty.</param>
        public UnorderedParser(IGeneralParser separator, UnorderedParsingMode mode, params IParser <TValue>[] items)
        {
            ArgumentCheck.NotNullOrEmptyOrWithNulls(items, nameof(items));

            _separator = separator ?? throw new ArgumentNullException(nameof(separator));
            _mode      = mode;
            _items     = items;
        }
Beispiel #3
0
        public OffsideRuleLexer(OffsideRuleSpecialTokenConfig specialTokens, IReadOnlyList <Indent> indents, FlowExtent[] flowExtents, params MatchableTokenKindSpec[] tokenKinds)
            : base(specialTokens, tokenKinds)
        {
            ArgumentCheck.NotNullOrEmptyOrWithNulls(indents, nameof(indents));
            ArgumentCheck.NotNullOrEmptyOrWithNulls(tokenKinds, nameof(tokenKinds));

            _indents = indents;

            ScopeBegin        = specialTokens?.ScopeBegin ?? ScopeTokenKind.ScopeBegin;
            ScopeEnd          = specialTokens?.ScopeEnd ?? ScopeTokenKind.ScopeEnd;
            ScopeInconsistent = specialTokens?.ScopeInconsistent ?? ScopeTokenKind.ScopeInconsistent;

            FlowExtents = flowExtents;
        }
Beispiel #4
0
        /// <summary>
        /// Creates a new instance of <see cref="UnorderedParser{TValue}"/> configured for <see cref="UnorderedParsingMode.FullSet"/>
        /// </summary>
        /// <param name="items">The item parsers. Not null. Not empty.</param>
        public UnorderedParser(params IParser <TValue>[] items)
        {
            ArgumentCheck.NotNullOrEmptyOrWithNulls(items, nameof(items));

            _items = items;
        }
Beispiel #5
0
        /// <summary>
        /// Creates a new instance of <see cref="SkipParser"/>.
        /// </summary>
        /// <param name="items">The item parsers. Not null. Not empty.</param>
        public SkipParser(params IGeneralParser[] items)
        {
            ArgumentCheck.NotNullOrEmptyOrWithNulls(items, nameof(items));

            _items = items;
        }
Beispiel #6
0
        /// <summary>
        /// Creates a new instance of <see cref="ChoiceParser{TItem}"/>.
        /// </summary>
        /// <param name="parsers">The alternative parsers. Not null. Not empty.</param>
        public ChoiceParser(params IParser <TValue>[] parsers)
        {
            ArgumentCheck.NotNullOrEmptyOrWithNulls(parsers, nameof(parsers));

            _parsers = parsers;
        }