feat: 将LR分析表生成到代码中 (#27)

Reviewed-on: PostGuard/Canon#27
This commit is contained in:
2024-04-08 19:46:24 +08:00
parent 5e3ea6303e
commit 1690187c0a
14 changed files with 1125 additions and 22 deletions

View File

@@ -7,13 +7,20 @@ namespace Canon.Core.Abstractions;
/// </summary>
/// <param name="Length">归约的长度</param>
/// <param name="Left">归约得到的左部符号</param>
public record ReduceInformation(int Length, NonTerminator Left);
public record ReduceInformation(int Length, NonTerminator Left)
{
public string GenerateCode()
{
return $"new ReduceInformation({Length}, {Left.GenerateCode()})";
}
}
/// <summary>
/// 状态的各种迁移信息
/// </summary>
public interface ITransformer
{
public string Name { get; }
/// <summary>
/// 进行移进的信息
/// </summary>