Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            AppDomain currentDomain = AppDomain.CurrentDomain;

            currentDomain.UnhandledException += new UnhandledExceptionEventHandler(UnhandledExceptionHandler);

            // Parses the command line options.
            new CommandLineOptions(args).Parse();

            // Initializes program info.
            ProgramInfo.Initialize();

            // Run the parser.
            Parser.Run();

            // Run the compiler.
            Compiler.Run();

            // Run the static analyser.
            StaticAnalyzer.Run();

            // Run the dynamic analyser.
            DynamicAnalyzer.Run();

            Output.Print(". Done");
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Starts the P# static analyser.
        /// </summary>
        public static void Run()
        {
            if (!Configuration.RunStaticAnalysis)
            {
                return;
            }

            foreach (var project in ProgramInfo.Solution.Projects)
            {
                Output.Print(". Analyzing " + project.Name);
                StaticAnalyzer.AnalyseProgramUnit(project);
            }

            // Prints error statistics and profiling results.
            AnalysisErrorReporter.PrintStats();

            // Prints program statistics.
            if (Configuration.ShowProgramStatistics)
            {
                AnalysisContext.PrintStatistics();
            }
        }