Exemplo n.º 1
0
        public void BuildTable()
        {
            var cfg = CfgBuilderGenerator
                      .Generate()
                      .Build();

            var tableBuilder = new ParseTableBuilder(true);

            tableBuilder.BuildTableForCfg(cfg);
            Approvals.Verify(tableBuilder.Dump());
        }
Exemplo n.º 2
0
        public void DumpParseTable()
        {
            var builder = new ParseTableBuilder(true);

            builder.BuildTableForCfg(new CfgBuilder()
                                     .AddAllProductionsInClass <Expr>()
                                     .DeclarePrecedence(Symbol.Of <OpAdd>(), Symbol.Of <Symbols.OpMinus>())
                                     .DeclarePrecedence(Symbol.Of <Symbols.OpMult>(), Symbol.Of <Symbols.OpDiv>())
                                     .DeclarePrecedence(Symbol.Of <Symbols.OpExp>())
                                     .DeclarePrecedence(Symbol.Of <Symbols.OpUnaryMinus>())
                                     .Build());
            Approvals.Verify(builder.Dump());
        }