Exemplo n.º 1
0
        public void Dump(IWriter writer)
        {
            var output = new IndentWriter();

            output.Block($"grammar {Grammar.Name}", () =>
            {
                PpSet(output, "options", false, Grammar.OptionList);
                PpSet(output, "terminals", true, Grammar.Terminals);
                PpSet(output, "rules", true, Grammar.Nonterminals);
            });

            output.Dump(writer);
        }
Exemplo n.º 2
0
        public void DumpTerminal(IWriter writer, string head, Dfa dfa)
        {
            writer.WriteLine($"{head}");

            try
            {
                var iwriter = new IndentWriter();
                iwriter.Indent(() =>
                {
                    new DfaDumper().Dump(iwriter, dfa);
                });
                iwriter.Dump(writer);
            }
            catch (Exception e)
            {
                writer.WriteLine($"{e}");
            }
        }