コード例 #1
0
ファイル: BRE.cs プロジェクト: allip1/RuleEngine
        public IExpression SentenceToExpression(string input, Dictionary <String, Double> preDefinedVariables)
        {
            var TextTokens = TextTokenizer.TextTokenize(input);

            Parser parsers = new Parser(TextTokens);

            var AbstractSyntaxTree = parsers.ParseExpression();

            return(AbstractSyntaxTree);
        }
コード例 #2
0
ファイル: BRE.cs プロジェクト: allip1/RuleEngine
        public object EvaluateSentence(string input, Dictionary <String, Double> preDefinedVariables)
        {
            var TextTokens = TextTokenizer.TextTokenize(input);

            Parser parsers = new Parser(TextTokens);

            var AbstractSyntaxTree = parsers.ParseExpression();

            ExecutionContext context = variableMapToContext(preDefinedVariables);

            ExecutionEngine executionEngine = new ExecutionEngine(context);

            executionEngine.ExecuteExpression(AbstractSyntaxTree);

            return(AbstractSyntaxTree.EvaluatedValue.Value);
        }