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); }
/// <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); }
/// <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"); } }
/// <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); } }
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"); }