【问题标题】:Can Roslyn parse my "user-defined" syntax?Roslyn 可以解析我的“用户定义”语法吗?
【发布时间】: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

标签: c# .net roslyn


【解决方案1】:

现在我发现Irony 非常适合我的要求。

【讨论】:

  • 你能扩展一下吗?你到底用 Irony 做了什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-23
相关资源
最近更新 更多