类似问题作者的网站给我这样的解决方案:

Identifier "identifier"
  = !ReservedWord [A-Za-z_]+

ReservedWord
  = "test"
  / "abc"
.

此解决方案无法解析像此“test_var”的标识符。

在此示例中,语法!保留字将独占以“测试”或“ABC”开头的所有变量。

提前感谢。

有帮助吗?

解决方案

ReservedWord成功,当保留字完成时,无论如下所示。因此,解决方案是在较长匹配中包含更多标识符字符时使其失败:

Identifier "identifier"
  = !ReservedWord [A-Za-z_]+

ReservedWord
  = ( "test" / "abc" ) ![A-Za-z_]
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top