refeat: ILexer接口适配 (#38)
Co-authored-by: Huaps <1183155719@qq.com> Co-authored-by: duqoo <92306417+duqoo@users.noreply.github.com> Reviewed-on: PostGuard/Canon#38
This commit is contained in:
@@ -7,12 +7,7 @@ namespace Canon.Core.Abstractions;
|
||||
/// </summary>
|
||||
public interface ISourceReader
|
||||
{
|
||||
/// <summary>
|
||||
/// 尝试读取下一个字符
|
||||
/// </summary>
|
||||
/// <param name="c">读取到的字符</param>
|
||||
/// <returns>是否成功读取</returns>
|
||||
public bool TryReadChar([NotNullWhen(true)] out char? c);
|
||||
public char Current { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 源文件名称
|
||||
@@ -28,4 +23,23 @@ public interface ISourceReader
|
||||
/// 当前读取字符的列号
|
||||
/// </summary>
|
||||
public uint Pos { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 回退一个字符
|
||||
/// </summary>
|
||||
/// <returns>回退是否成功</returns>
|
||||
public bool Retract();
|
||||
|
||||
/// <summary>
|
||||
/// 前进一个字符
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool MoveNext();
|
||||
|
||||
/// <summary>
|
||||
/// 读取下一个字符但是移进
|
||||
/// </summary>
|
||||
/// <param name="c">读取到的下一个字符</param>
|
||||
/// <returns>是否能够读取下一个字符</returns>
|
||||
public bool TryPeekChar([NotNullWhen(true)] out char? c);
|
||||
}
|
||||
|
Reference in New Issue
Block a user