Example #1
0
        public static CompilerToolArgs Parse(string[] args)
        {
            var args2 = new CompilerToolArgs();

            ToolArgsParser.ParseInto(args2, args);
            return(args2);
        }
Example #2
0
        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();
        }
Example #3
0
        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();
        }