【发布时间】:2016-04-11 22:37:52
【问题描述】:
我可以在文本中包含一些用户定义的语法并使用 Roslyn 解析它吗(可能是定制的词法/语法分析器)?如果是,我应该查看哪个文档/命名空间?
我要解析的文本只是一个“表达式”,而不是整个程序,比如:
A.B + Foo(Bar) and !Baz
在这里,我想“告诉”词法分析器 + ! and ! 是运算符,Foo(Bar) 是函数调用。是否有类似 LexicalWalker 的东西,我可以定义我的逻辑,然后 Roslyn 可以将文本解析为正确的标记,以便我可以继续分析标记?
【问题讨论】:
-
虽然我见过 Roslyn 解析几乎所有内容,但结果可能很奇怪。我的一些实验:gist.github.com/leppie/5081390
-
@leppie: 有趣... Roslyn 怎么能“猜”
MyFor是一种方法?由下面的左括号?有点鲁莽。 -
我同意。这就是为什么我从未进一步探索的原因;p