ANTLR适用于解析和创建路由规则

时间:2018-04-22 23:37:53

标签: parsing antlr antlr4

我需要构建一个自定义规则构建器,并且我想知道如果我能弄清楚语法,ANTLR4是否是构建解析器的合适选择。我想,语法类似于SQL WHERE子句。

我们的API需要接受并向UI返回某种紧凑的表达式(我现在称之为有线格式):

"(&(day-of-week='Monday")(|(manufacturer='Honda')(manufacturer='BMW')))"

UI应该能够将这个紧凑的表达式转换为一些类似于表达式的数据结构,可以从中构建UI,例如:

and
left
  day-of-week
  equals
  Monday
right
  or
  left
    manufacturer
    equals
    honda
  right
    manufacturer
    equals
    BMW

反之亦然 - 我应该能够采用这种结构并将其转换为紧凑形式,以便将其交回API。

我知道ANTLR可以在JavaScript和C#中生成解析器,因此ANTLR能够生成一个JavaScript解析器,它可以采用有线格式表达式并创建一个JavaScript表达式树,并且还可以采用有线格式并生成一个C#表达树?

0 个答案:

没有答案