我有一个字符串,其中包含一个自定义表达式,我必须解析和评估:
例如:
(FUNCTION_A(5,4,5) UNION FUNCTION_B(3,3))
INTERSECT (FUNCTION_C(5,4,5) UNION FUNCTION_D(3,3))
Run Code Online (Sandbox Code Playgroud)
FUNCTION_X表示在C#中实现并返回IList的函数.UNION或INTERSECT是自定义函数,应该应用于从这些函数返回的列表.
联盟和交叉是通过实现的Enumerable.Intersect/Enumerable.Union.
如何以优雅和可扩展的方式实现解析和评估?