我正在尝试用 ocamllex 为一些特殊的母语编写一个词法分析器(为了我的目的而做了一些修改)。有些单词应与它们的第一个字符匹配,即加倍。但是我没有找到任何方法来表达第一个字符的重复。我也不能使用正则表达式语法
(['a'-'z'])\1['a'-'z']+
用那个“\1”。Ocamllex 说“非法转义序列 \1”。我认为转义表达式的语法真的没问题,但肯定那不是我想要的。我也不能以任何方式使用带有花括号的重复语法(但这无论如何都不能解决问题):
['a'-'z']{2}['a'-'z']+
我认为正则表达式后的花括号中的 oCaml 代码存在冲突。
有人对此有想法吗?
非常感谢您。