public GraphVisualizer(ExpertSystemTree tree, FileParser parser)
        {
            var form = new Form();

            form.Width  = (int)_formSize.Width;
            form.Height = (int)_formSize.Height;
            var viewer = new GViewer();

            _parser = parser;
            _graph  = new Graph("graph");
            foreach (var atom in tree.Atoms)
            {
                AddToGraph(atom.Value);
            }
            viewer.Graph = _graph;
            form.SuspendLayout();
            viewer.Dock             = DockStyle.Fill;
            viewer.ToolBarIsVisible = false;
            form.Controls.Add(viewer);
            form.ResumeLayout();
            form.ShowDialog();
        }
Exemplo n.º 2
0
        public static bool CheckFileParser(string filePath, bool debugMode = false, bool graphVisualise = false, bool fullLog = false)
        {
            Logger.Log       = fullLog;
            Logger.DebugMode = debugMode;
            if (filePath == null)
            {
                throw new Exception("filePath must be not null!");
            }
            var lines   = File.ReadAllLines(filePath);
            var parser  = debugMode ? new FileParserWithAnswer(lines) : new FileParser(lines);
            var tree    = new ExpertSystemTree(parser);
            var results = tree.ResolveQuerys(parser.Queries);
            var result  = !debugMode || CheckResults(results, (FileParserWithAnswer)parser);

            Logger.PrintResults(results, result);
            if (graphVisualise)
            {
                new GraphVisualizer(tree, parser);
            }

            return(result);
        }