public void ToCode(string bnf, string startParserName, TextWriter writer, string className = "GeneratedGrammar") { var parser = Build(bnf, startParserName); var iw = new IndentedTextWriter(writer, " "); iw.WriteLine("/* Date Created: {0}, Source EBNF:", DateTime.Now); iw.Indent++; foreach (var line in bnf.Split('\n')) iw.WriteLine(line); iw.Indent--; iw.WriteLine("*/"); var parserWriter = new CodeParserWriter { ClassName = className }; parserWriter.Write(parser, writer); }
public void ToCode(string grammar, TextWriter writer, string className = "GeneratedGrammar") { var definition = Build(grammar); var iw = new IndentedTextWriter(writer, " "); iw.WriteLine("/* Date Created: {0}, Source:", DateTime.Now); iw.Indent ++; foreach (var line in grammar.Split('\n')) iw.WriteLine(line); iw.Indent --; iw.WriteLine("*/"); var parserWriter = new CodeParserWriter { ClassName = className }; parserWriter.Write(definition.Grammar, writer); }