Пример #1
0
        /// <summary>
        /// Runs the Parse and back-end computations.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void BackgroundWorker_ParseToAST(object sender, DoWorkEventArgs e)
        {
            UIDebugPublisher.clearWindow();
            UIDebugPublisher.publishString("Starting Parse Process...");

            // Execute Front-End Parse
            parser.Parse();

            foreach (GeometryTutorLib.Area_Based_Analyses.Atomizer.AtomicRegion ar in parser.backendParser.GetAtomicRegions())
            {
                UIDebugPublisher.publishString(ar.ToString());
            }

            analyzer = new GeometryTutorLib.UIFigureAnalyzerMain(parser.backendParser.MakeProblemDescription(manageGivensWindow.GetGivens()));
            List <GeometryTutorLib.ProblemAnalyzer.Problem <GeometryTutorLib.Hypergraph.EdgeAnnotation> > problems = analyzer.AnalyzeFigure();

            // Acquire access to the backend hypergraph
            hypergraph = analyzer.GetHypergraphWrapper();

            foreach (GeometryTutorLib.ConcreteAST.GroundedClause gc in manageGivensWindow.GetGivens())
            {
                UIDebugPublisher.publishString("Given: " + gc.ToString());
            }

            //Example of UI Output to AI Window
            foreach (GeometryTutorLib.ProblemAnalyzer.Problem <GeometryTutorLib.Hypergraph.EdgeAnnotation> problem in problems)
            {
                UIDebugPublisher.publishString(problem.ConstructProblemAndSolution(analyzer.graph).ToString());
            }

            enterSolutionWindow.problem = problems[0];

            UIDebugPublisher.publishString("Parse Complete.");
        }
Пример #2
0
        /// <summary>
        /// Runs the Parse and back-end computations.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void BackgroundWorker_ParseToAST(object sender, DoWorkEventArgs e)
        {
            UIDebugPublisher.clearWindow();
            UIDebugPublisher.publishString("Starting Parse Process...");

            // Execute Front-End Parse
            parser.Parse();

            foreach (GeometryTutorLib.Area_Based_Analyses.Atomizer.AtomicRegion ar in parser.backendParser.GetAtomicRegions())
            {
                UIDebugPublisher.publishString(ar.ToString());
            }

            analyzer = new GeometryTutorLib.UIFigureAnalyzerMain(parser.backendParser.MakeProblemDescription(manageGivensWindow.GetGivens()));
            List<GeometryTutorLib.ProblemAnalyzer.Problem<GeometryTutorLib.Hypergraph.EdgeAnnotation>> problems = analyzer.AnalyzeFigure();

            // Acquire access to the backend hypergraph
            hypergraph = analyzer.GetHypergraphWrapper();

            foreach (GeometryTutorLib.ConcreteAST.GroundedClause gc in manageGivensWindow.GetGivens())
            {
                UIDebugPublisher.publishString("Given: " + gc.ToString());
            }

            //Example of UI Output to AI Window
            foreach (GeometryTutorLib.ProblemAnalyzer.Problem<GeometryTutorLib.Hypergraph.EdgeAnnotation> problem in problems)
            {
                UIDebugPublisher.publishString(problem.ConstructProblemAndSolution(analyzer.graph).ToString());
            }

            enterSolutionWindow.problem = problems[0];

            UIDebugPublisher.publishString("Parse Complete.");
        }