internal void RecreateParser() { lock (_mySyncRoot) { FleeExpressionAnalyzer analyzer = new FleeExpressionAnalyzer(); ExpressionParser parser = new ExpressionParser(TextReader.Null, analyzer, this); _myProperties.SetValue("ExpressionParser", parser); } }
internal ExpressionElement Parse(string expression, IServiceProvider services) { lock (_mySyncRoot) { System.IO.StringReader sr = new System.IO.StringReader(expression); ExpressionParser parser = this.Parser; parser.Reset(sr); parser.Tokenizer.Reset(sr); FleeExpressionAnalyzer analyzer = (FleeExpressionAnalyzer)parser.Analyzer; analyzer.SetServices(services); Node rootNode = DoParse(); analyzer.Reset(); ExpressionElement topElement = (ExpressionElement)rootNode.Values[0]; return(topElement); } }