private void Parse(Grammar grammar, string script, bool expectError) { var compiler = new Compiler(grammar); var context = new CompilerContext(compiler); var source = new SourceStream(script, "source"); AstNode root = compiler.Parse(context, source); compiler.AnalyzeCode(root, context); if (!expectError && context.Errors.Count > 0) Assert.Fail("Unexpected source error(s) found: " + context.Errors[0].Message); }
private void Evaluate(Grammar grammar, string script, bool expectError, object result) { var compiler = new Compiler(grammar); var context = new CompilerContext(compiler); var source = new SourceStream(script, "source"); AstNode root = compiler.Parse(context, source); compiler.AnalyzeCode(root, context); if (!expectError && context.Errors.Count > 0) Assert.Fail("Unexpected source error(s) found: " + context.Errors[0].Message); var evalContext = new EvaluationContext(context.Runtime, root); root.Evaluate(evalContext); Assert.AreEqual(evalContext.CurrentResult, result, "Evaluation result is null, expected " + result); }
public ScriptEngine(Grammar grammar) { Compiler = new Compiler(grammar); Language = Compiler.Language; }
internal static void ClearCurrentGrammar() { _currentGrammar = null; }
public Scanner(ScannerData data) { _data = data; _grammar = _data.GrammarData.Grammar; }
public LanguageData(Grammar grammar) { Grammar = grammar; }