feat: Parser Combinator库和词法分析器 (#2)
All checks were successful
Run unit test / Unit-Test (push) Successful in 41s

Reviewed-on: https://git.bupt-hpc.cn/jackfiled/CanonSharp/pulls/2
Co-authored-by: jackfiled <xcrenchangjun@outlook.com>
Co-committed-by: jackfiled <xcrenchangjun@outlook.com>
This commit is contained in:
2024-08-13 14:46:11 +08:00
committed by 任昌骏
parent 57c31ec435
commit 3ed8bf5d36
68 changed files with 3133 additions and 1068 deletions

View File

@@ -0,0 +1,21 @@
using CanonSharp.Combinator.Extensions;
using CanonSharp.Common.Scanner;
namespace CanonSharp.Tests.LexicalAnalyzerTests;
public class StringReadStateTests
{
[Fact]
public void AsEnumerableTest()
{
StringReadState state = new("abc");
IEnumerable<StringReadState> states = state.AsEnumerable<char, StringReadState>();
foreach ((char c, StringReadState s) in "abc".Zip(states))
{
Assert.True(s.HasValue);
Assert.Equal(c, s.Current);
}
}
}