Babel.Compiler.Compiler.Run C# (CSharp) Method

Run() public method

public Run ( ) : void
return void
        public virtual void Run()
        {
            program = new Program(Path.GetFileName(outputFileName), target);
            foreach (string reference in references) {
                LoadAssembly(reference, false);
            }
            foreach (string reference in softReferences) {
                LoadAssembly(reference, true);
            }

            foreach (string fileName in inputFiles) {
                StreamReader reader = new StreamReader(fileName);
                Parser parser = new Parser(program, reader, fileName, report);
                parser.Parse();
            }
            if (report.Errors > 0)
                Environment.Exit(1);

            ArrayList visitors = new ArrayList();
            visitors.Add(new TypeCreatingVisitor(report));
            visitors.Add(new TypeElementCreatingVisitor(report));
            visitors.Add(new TypeCheckingVisitor(report));
            visitors.Add(new CodeGeneratingVisitor(report));
            foreach (NodeVisitor visitor in visitors) {
                program.Accept(visitor);
                if (report.Errors > 0)
                    Environment.Exit(1);
            }

            program.Assembly.Save(outputFileName);
        }

Usage Example

示例#1
0
文件: compiler.cs 项目: shugo/babel
 public static void Main(string[] args)
 {
     Compiler compiler = new Compiler();
     compiler.ParseArguments(args);
     compiler.Run();
 }