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); }
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}"); } }