Esempio n. 1
0
        public IReadOnlyCollection <Transition> AnalyzeTransitions(State source, Action action, IEnumerable <State> targets)
        {
            var evaluator = new QueryEvaluator(new CorralMock(), new FileInfo(@"C:\Windows\notepad.exe"));

            var transitionQueries = CreateTransitionQueries(source, action, targets);

            return(evaluator.GetFeasibleTransitions(transitionQueries));
        }
Esempio n. 2
0
        public virtual IEnumerable <TEntity> Query(IQuery query)
        {
            query.ThrowIfNull(nameof(query));

            var evaluator = new QueryEvaluator <TEntity>(Builder, query);

            evaluator.Evaluate();

            return(Builder.OnNextQuery(
                       () => _database.Find <TEntity>(Builder.SqlCommand)));
        }
Esempio n. 3
0
 public static QueryProjector GetInstance()
 {
     if (instance == null)
     {
         instance = new QueryProjector();
         instance.queryPreProcessor = QueryPreProcessor.GetInstance();
         instance.queryResult       = QueryResult.GetInstance();
         instance.astManager        = AstManager.GetInstance();
         instance.queryEvaluator    = QueryEvaluator.GetInstance();
     }
     return(instance);
 }
Esempio n. 4
0
        public ActionAnalysisResults AnalyzeActions(State source, Action action, IEnumerable <Action> actions)
        {
            var evaluator = new QueryEvaluator(new CorralMock(), new FileInfo(@"C:\Windows\notepad.exe"));

            var negativeQueries = CreateNegativeQueries(source, action, actions);
            var disabledActions = new HashSet <Action>(evaluator.GetDisabledActions(negativeQueries));

            var positiveQueries = CreatePositiveQueries(source, action, actions);
            var enabledActions  = new HashSet <Action>(evaluator.GetEnabledActions(positiveQueries));

            Contract.Assert(!enabledActions.Intersect(disabledActions).Any());

            return(new ActionAnalysisResults(enabledActions, disabledActions));
        }
Esempio n. 5
0
        public virtual async Task<IEnumerable<TEntity>> QueryAsync(IQuery query)
        {
            try
            {
                var evaluator = new QueryEvaluator<TEntity>(Builder, query);
                evaluator.Evaluate();

                return await _database
                    .FindAsync<TEntity>(Builder.SqlCommand)
                    .ConfigureAwait(false);
            }
            finally
            {
                Builder.OnNextQuery();
            }
        }
Esempio n. 6
0
        private void parseButton_Click(object sender, RoutedEventArgs e)
        {
            logsRichTextBox.Document.Blocks.Clear();
            try
            {
                ParserByTombs.SetNewInstance();

                // parsed    - FOR AST AND CFG
                parsed = ParserByTombs.Instance.Parse(StringFromRichTextBox(procedureRichTextBox));

                // formatted - ONLY FOR "MAIN WINDOW"
                var formatted = ParserByTombs.Instance.GetParsedFormattedSourceCode();

                linesRichTextBox.Document.Blocks.Clear();
                linesRichTextBox.Document.Blocks.Add(new Paragraph(new Run(formatted.lineNumbers)));

                procedureRichTextBox.Document.Blocks.Clear();
                procedureRichTextBox.Document.Blocks.Add(new Paragraph(new Run(formatted.parsedSourceCode)));
                //procedureRichTextBox.ScrollToVerticalOffset(0);
                linesRichTextBox.ScrollToVerticalOffset(procedureRichTextBox.VerticalOffset);

                addLog("Source Code Parser: Ok");
            }
            catch (Exception ex)
            {
                addLog("Source Code Parser: " + ex.GetType().Name + ": " + ex);
                good = false;
                return;
            }

            try
            {
                pkb = ParserByTombs.Instance.pkb;
                QueryEvaluator.GetInstance().pkb = pkb;
                QueryProjector.GetInstance().Pkb = pkb;
                addLog("PKB Create: Ok");
            }
            catch (Exception ex)
            {
                addLog("PKB Create: " + ex.GetType().Name + ": " + ex);
                good = false;
                return;
            }

            good = true;
        }
Esempio n. 7
0
        public void Setup()
        {
            _thumbnailFactory = new Mock <ILazyThumbnailFactory>();
            _fileWatcher      = new Mock <IFileWatcher>();
            _entities         = new Mock <IEntityManager>();
            _query            = new Mock <IQuery>();
            _query.Setup(mock => mock.Comparer).Returns(EntityComparer.Default);

            var factory = new Mock <IFileWatcherFactory>();

            factory.Setup(mock => mock.Create()).Returns(_fileWatcher.Object);
            _evaluator = new QueryEvaluator(
                factory.Object,
                _thumbnailFactory.Object,
                _entities.Object,
                _query.Object);
        }
Esempio n. 8
0
        IEnumerable <Song> SearchSongsInternal(SongLibrary library, string query)
        {
            var stream = CharStreams.fromstring(query);
            var lexer  = new HaGrammarLexer(stream);
            var tokens = new CommonTokenStream(lexer);
            var parser = new HaGrammarParser(tokens)
            {
                ErrorHandler = new BailErrorStrategy()
            };
            var evaluator = new QueryEvaluator(library);

            try
            {
                return(evaluator.Visit(parser.query()));
            }
            catch (ParseCanceledException e)
            {
                throw e.InnerException;
            }
        }
Esempio n. 9
0
        private void evaluateQueryButton_Click(object sender, RoutedEventArgs e)
        {
            if (!good)
            {
                return;
            }
            resultRichTextBox.Document.Blocks.Clear();

            try
            {
                try
                {
                    List <QueryProcessingSusbsytem.Condition> conditionsList = QueryPreProcessor.GetInstance().conditionsList;
                    QueryEvaluator.GetInstance().Evaluate(conditionsList);
                }
                catch (NoResultsException ex)
                {
                    addLog("Q Evaluator: " + ex.GetType().Name + ": " + ex.Message);
                    good = false;
                }
                finally
                {
                    //tutaj QueryProjector wkracza do gry - interpretuje instancję klasy Result
                    QueryResult    queryResult    = QueryResult.GetInstance();
                    QueryProjector queryProjector = QueryProjector.GetInstance();

                    resultRichTextBox.Document.Blocks.Add(new Paragraph(new Run(queryProjector.PrintResult())));
                    addLog("Q Evaluator: Result: ok, check Result window");
                }
            }
            catch (Exception ex)
            {
                addLog("FATAL ERROR: " + ex.GetType().Name + ": " + ex);
            }
            good = true;
        }
 public void Setup()
 {
     evaluator = new();
 }
Esempio n. 11
0
        public bool Visit(MicroscopeFilterExpression expression, IFileItem parameter)
        {
            var evaluator = new QueryEvaluator(expression.Query);

            return(evaluator.Evaluate(parameter.RelativePath));
        }
Esempio n. 12
0
        static void Main(string[] args)
        {
            string SourceCode = "";
            PkbAPI pkb;

            if (args.Length == 0)
            {
                Console.WriteLine("No parameter with path to file");
                Console.WriteLine("Program exit.");
                return;
            }

            string path = args[0];

            try
            {
                SourceCode = File.ReadAllText(path);
                Console.WriteLine("File ok: " + path);

                SourceCode = ParserByTombs.Instance.Parse(SourceCode);
                Console.WriteLine("Source Parsed ok");

                pkb = ParserByTombs.Instance.pkb;
                QueryEvaluator.GetInstance().pkb = pkb;
                QueryProjector.GetInstance().Pkb = pkb;
                Console.WriteLine("PKB ok");

                AstManager.GetInstance().GenerateStructures(SourceCode, pkb);
                Console.WriteLine("AST ok");

                CfgManager.GetInstance().GenerateStructure(SourceCode, pkb);
                Console.WriteLine("CFG ok");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Before");
                Console.WriteLine(ex.GetType().Name + ": " + ex);
            }
            Console.WriteLine("Ready");

            int i = 0;

            while (true)
            {
                string answer = "";
                string query  = Console.ReadLine();
                query += " " + Console.ReadLine();

                try
                {
                    query = QueryPreProcessor.GetInstance().Parse(query);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("#" + ex.GetType().Name + ": " + ex.Message);
                    continue;
                }

                try
                {
                    List <Condition> conditionsList = QueryPreProcessor.GetInstance().conditionsList;
                    QueryEvaluator.GetInstance().Evaluate(conditionsList);
                }
                catch (Exception ex)
                {
                }
                finally
                {
                    try
                    {
                        QueryResult    queryResult    = QueryResult.GetInstance();
                        QueryProjector queryProjector = QueryProjector.GetInstance();
                        answer = queryProjector.PrintResult();
                    }
                    catch (Exception ex)
                    {
                        answer = "none";
                    }
                }
                Console.WriteLine(answer);
            }

            Console.WriteLine("Program exit.");
            return;
        }