Я пытаюсь написать lexer с ocamllex для некоторого специального родного языка (который немного изменен для моих целей). Некоторые слова должны совпадать с их первым символом, который удваивается. Но я не нахожу никакого способа выразить это повторение первого символа. Ни я не могу использовать регулярное выражение синтаксисаПовторение совпадения с регулярным выражением в ocamllex
([ 'а' - 'г']) \ 1 [ 'а' - 'г'] +
с этим "\ 1". Ocamllex говорит «незаконная escape-последовательность \ 1». и я думаю, что это действительно хорошо с синтаксисом escape-выражений, но я уверен, что это не то, что я хотел. Также можно использовать синтаксис повторения с фигурными скобками в любом случае (но это обыкновением решить эту проблему так или иначе):
[ «а» - «г»] {2} [ «а» - «г»] +
Я думаю, что существует конфликт с кодом oCaml в фигурных скобках после регулярного выражения.
У кого-нибудь есть идея?
большое спасибо.
спасибо за проверку моих подозрений. : D это не очень хорошее решение, но необходимое ... о Caml. – user3734280