public static CompilerToolArgs Parse(string[] args) { var args2 = new CompilerToolArgs(); ToolArgsParser.ParseInto(args2, args); return(args2); }
static int Main(string[] args) { try { var x = T4ModelGenTool.ExtractDataFromTextTemplate(@"C:\Projects\c2j\src\cs2java\Java\Ast\JModel2.tt"); var xx = new T4ModelGenTool().Debug(@"C:\Projects\c2j\src\cs2java\Java\Ast\JModel2.tt", "JSharp.Java.Ast"); return(0); Console.WriteLine("modelgen " + args.NotNull().StringConcat(" ")); var tool = ToolArgsParser.Parse <ModelGenTool>(args); if (tool.Help) { Console.WriteLine(ToolArgsGenerator.GenerateHelp(tool)); return(0); } var gen = new ModelGen { SourceFilename = tool.SourceFilename, GenerateEnum = tool.GenerateEnum.GetValueOrDefault(true), GenerateLinq = tool.GenerateLinq.GetValueOrDefault(true), GenerateProperties = tool.GenerateProperties.GetValueOrDefault(true), RootNodeTypeName = tool.RootNodeTypeName, Namespace = tool.Namespace, }; if (tool.Using != null) { gen.Usings.AddRange(tool.Using); } gen.Run(); } catch (Exception e) { Console.WriteLine(e); return(-1); } return(0); //new JModelGenerator //{ // SourceFilename = @"..\..\CsModel.txt", // BaseNodeTypeName = "Element", // GenerateLinq = true, // Namespace = "JSharp.CSharp", //}.Run(); //return; //new JModelGenerator //{ // SourceFilename = @"..\..\JModel.txt", // GenerateEnum = true, // GenerateLinq = true, // GenerateProperties = true, // BaseNodeTypeName = "JNode", // Namespace = "JSharp.Java.Ast" //}.Run(); }
private void Run() { CsmRuntime.VerifyInit(); var args = new ToolArgsParser().Parse(Args).ToList(); var csFiles = args.Where(t => t.Name == null && t.Switch == null && t.Value != null).Select(t => t.Value).ToList(); var oneLines = args.Where(t => t.Name == "e").Select(t => t.Value).ToList(); var csFilename = csFiles.FirstOrDefault(); var Csm = new CsmRuntime { Compilations = { new CsmCompilation { Scripts = oneLines.Select(t => new CsmScript{ Code = t }).ToList() } } }; if (csFilename != null) { var CsFile = csFilename.ToFileInfo(); if (!CsFile.Exists && CsFile.Extension != ".cs") { CsFile = (CsFile.FullName + ".cs").ToFileInfo(); } if (!CsFile.Exists) { throw new Exception("File not found " + csFilename); } Csm.Compilations[0].Scripts.Add(new CsmScript { File = CsFile }); } if (Csm.Compilations[0].Scripts.IsEmpty()) { while (true) { var line = Console.ReadLine(); if (line.IsNullOrEmpty()) { continue; } try { line.ExecuteAsCsmScript(); } catch (Exception e) { Console.WriteLine(e.Message); } } } Csm.Run(); }