fix: 求解FirstSet中没有考虑空产生式 (#36)

Reviewed-on: PostGuard/Canon#36
This commit is contained in:
2024-04-13 12:37:17 +08:00
parent 67deb0aa2c
commit 792c1d44f1
4 changed files with 704 additions and 632 deletions

View File

@@ -59,4 +59,15 @@ public class GenerateParserTests
}
}
}
[Fact]
public void SubprogramDeclarationsFirstSetTest()
{
Assert.True(_builder.FirstSet.TryGetValue(
new NonTerminator(NonTerminatorType.SubprogramDeclarations), out HashSet<Terminator>? firstSet));
Assert.NotNull(firstSet);
Assert.Contains(Terminator.EmptyTerminator, firstSet);
Assert.Contains(new Terminator(KeywordType.Procedure), firstSet);
Assert.Contains(new Terminator(KeywordType.Function), firstSet);
}
}

File diff suppressed because it is too large Load Diff