// ----------------------------------------------------------------------------- // file="ITokenReader" // Project: StgSharp // Copyright (c) Nitload. // SPDX-License-Identifier: MIT // ----------------------------------------------------------------------------- using System; namespace StgSharp.RegularAnalysis.Abstraction { public static class TokenReader { public static TokenParser Pipe( this ITokenReader source, Func> builder ) where TIn : unmanaged where TOut : unmanaged { TokenParser parser = builder(); parser.Source = source; return parser; } } public interface ITokenReader where TLabel : unmanaged { bool IsEmpty { get; } Token ReadToken(); bool TryReadToken( out Token t ); } }