Esempio n. 1
0
    public void OptParser()
    {
        var stream1 = new MemoryStream <char>("a".AsMemory());
        var stream2 = new MemoryStream <char>("b".AsMemory());

        var p = Combinator.Opt(Combinator.Char('a'));

        var r1 = p.Parse(stream1);
        var r2 = p.Parse(stream2);

        Assert.True(r1.IsOk);
        Assert.True(r2.IsOk);
        Assert.Equal('a', r1.Ok.Value);
        Assert.Equal(default, r2.Ok.Value);