解析和评估给定条件
我想做的是为 .NET 中的以下情况编写一个简单的解析器
( [PART3]function1() AND [PART4]function7() ) OR [PART2]function90()
[PART]
指示评估位置,(假设这是一个巨大的文本文件,PART 将文本文件分成大的chunks)function()
是我记录的函数,可以通过此查询调用。 返回true
或false
- 基于此
True/False
以及之间的其他运算符,我想合并结果并返回一个最终 True 或 False整个输入。
在 .NET 中实现这样的事情的最佳方法是什么?是否有任何简单的库可以让我集成它,或者我应该编写一个简单的解析器然后自己做?
PS,我找不到这个问题的好标题。
What I'm trying to do this is writing a simple parser for the following case in .NET
( [PART3]function1() AND [PART4]function7() ) OR [PART2]function90()
[PART]
indicates the evaluation location, (assume that this is huge text file, PART separates text files into large chunks)function()
s are my documented function which can be called via this queries. Returnstrue
orfalse
- Based on this
True/False
and other operators between, I want to combine the results and return one final True or False from the whole input.
What's the best way to implement such a thing in .NET, is there any easy library which allows me to integrate this, or shall I just write a simple parser and then do it by myself?
P.S. I couldn't find a good title for the question.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看起来条件很简单,所以在我看来你不需要全功能的编译器生成器。 我可以建议你研究逆波兰表示法,用它来将你的条件解包到堆栈中,然后然后使用简单的解释来评估结果堆栈。
Looks like simple condition, so in my opinion you do not need full-featured compiler producer. I can suggest you look into Reverse Polish Notation, use it to unwrap your conditions into stack, and then evaluate resulting stack using simple interpreting.
尝试 Irony,虽然还没有准备好迎接黄金时段,但它显示出了一些希望。
Try Irony, although not ready for prime time (yet), it shows some promise.