/// <summary> /// 使用给定的词法分析器信息初始化 <see cref="TokenReaderBase<T>"/> 类的新实例。 /// </summary> /// <param name="lexerRule">要使用的词法分析器的规则。</param> /// <param name="rejectable">当前词法分析器是否允许 Reject 动作。</param> /// <param name="reader">要使用的源文件读取器。</param> protected TokenReaderBase(LexerRule <T> lexerRule, bool rejectable, SourceReader reader) : base(reader) { this.lexerRule = lexerRule; controller = new ReaderController <T>(this, rejectable); this.BeginContext(Constants.InitialContext); }
/// <summary> /// 使用给定的词法分析器信息初始化 <see cref="FixedTrailingReader<T>"/> 类的新实例。 /// </summary> /// <param name="lexerRule">要使用的词法分析器的规则。</param> /// <param name="reader">要使用的源文件读取器。</param> public FixedTrailingReader(LexerRule <T> lexerRule, SourceReader reader) : base(lexerRule, false, reader) { }
/// <summary> /// 使用给定的词法分析器信息初始化 <see cref="RejectableTrailingReader<T>"/> 类的新实例。 /// </summary> /// <param name="lexerRule">要使用的词法分析器的规则。</param> /// <param name="reader">要使用的源文件读取器。</param> public RejectableTrailingReader(LexerRule <T> lexerRule, SourceReader reader) : base(lexerRule, true, reader) { }
/// <summary> /// 使用给定的词法分析器信息初始化 <see cref="SimpleReader<T>"/> 类的新实例。 /// </summary> /// <param name="lexerRule">要使用的词法分析器的规则。</param> /// <param name="reader">要使用的源文件读取器。</param> public SimpleReader(LexerRule <T> lexerRule, SourceReader reader) : base(lexerRule, false, reader) { }