コード例 #1
0
ファイル: EbnfGrammar.cs プロジェクト: DanPeterson/Eto.Parse
		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);
		}
コード例 #2
0
		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);
		}