Ejemplo n.º 1
0
 private void button1_Click(object sender, EventArgs e)
 {
     Grammar grammar = new ExpressionGrammar();
     Parser parser = new Parser(grammar);
     ParseTree parseTree = parser.Parse(richTextBox1.Text);
     if (parseTree.Status.ToString() != "Error")
         listBox1.Items.Add(parseTree.SourceText);
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Parse a query and return the first instruction.
        /// </summary>
        private ParseTreeNode RunNonQueryTest(string script)
        {
            var result = ExpressionGrammar.ParseMacro(script);

            var expression  = CheckTerm(result.Root, Terms.Expression);
            var instruction = expression.ChildNodes[0];

            return(instruction);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Prewarm the expression engine.
        /// </summary>
        public void Prewarm()
        {
            // Fill the grammar object pool with at least one item
            ExpressionGrammar.Prewarm();

            // Pre load expression language database
            var language = LanguageManager.Instance;

            if (language == null)
            {
                throw new InvalidOperationException("Expected language manager");
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Convert a string into an expression tree and perform static evaluation.
        /// </summary>
        /// <param name="script">The script to parse.</param>
        /// <param name="settings">Additional settings that control parsing. In particular, contains the type of the root context object, if any.</param>
        /// <returns>An expression tree.</returns>
        public IExpression Compile(string script, BuilderSettings settings)
        {
            using (EntryPointContext.AppendEntryPoint("ExprCompile"))
                using (new SecurityBypassContext( ))
                    using (Profiler.Measure("ExpressionEngine.Compile"))
                    {
                        // Parse the expression
                        ParseTree     parseTree = ExpressionGrammar.ParseMacro(script);
                        ParseTreeNode parseRoot = parseTree.Root;

                        // Compile the parse tree
                        IExpression result = CompileParseTreeNode(parseRoot, settings);
                        return(result);
                    }
        }
Ejemplo n.º 5
0
        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                Irony.Parsing.Grammar grammar = new ExpressionGrammar();
                Parser    parser    = new Parser(grammar);
                ParseTree parseTree = parser.Parse(textBox1.Text);
                if (parseTree.Status.ToString() != "Error")
                {
                    listBox1.Items.Add("ME: " + parseTree.SourceText);
                    analyseText(parseTree.SourceText);
                }
                else
                {
                    listBox1.Items.Add("Bot: " + "Please use correct English Grammar Rule!");
                    reader.Speak("Please use correct English Grammar Rule!");
                }

                textBox1.Clear();
            }
        }
Ejemplo n.º 6
0
        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                Irony.Parsing.Grammar grammar = new ExpressionGrammar();
                Parser parser = new Parser(grammar);
                ParseTree parseTree = parser.Parse(textBox1.Text);
                if (parseTree.Status.ToString() != "Error")
                {
                    listBox1.Items.Add("ME: " + parseTree.SourceText);
                    analyseText(parseTree.SourceText);
                }
                else
                {
                    listBox1.Items.Add("Bot: " + "Please use correct English Grammar Rule!");
                    reader.Speak("Please use correct English Grammar Rule!");
                }

                textBox1.Clear();
            }
        }
 public void GetParserList()
 {
     var parser  = ExpressionGrammar.CreateParser();
     var parsers = new ListParsersVisitor().Visit(parser);
     // TODO: Some kind of assertion here
 }
 static ExpressionEvaluatorRuntime()
 {
     Irony.Parsing.Grammar grammar = new ExpressionGrammar();
     LangData = new LanguageData(grammar);
     ExpressionNonTerminal = LangData.GrammarData.NonTerminals.Single(x => x.Name == "expression");
 }