首页 > 解决方案 > 在 Antlr4 中解析字符串中的令牌

问题描述

我试图弄清楚如何编写语法,首先解析字符串的输入,然后在找到字符串时解析该字符串。

例如,如果我有一个输入,例如:

var1 = "world"
someVariable = "hello {{var1}}"

我想要的结果是 someVariable 等于“hello world”。

现在,我了解了如何编写将变量设置为字符串的语法,但我不知道如何解析该字符串以获得 mustache 语法,以便将值注入 var1 中。

提前致谢!

标签: pythonantlrantlr4

解决方案


分两步更容易做到这一点:

  • 像往常一样解析输入(即确定分配,而不分析字符串的内容)
  • 然后评估作业
    • 在将字符串分配给变量时,使用另一个解析器(或者如果语法足够简单,甚至可能只使用正则表达式)解析其内容以确定任何替换。

推荐阅读