Есть ли способ вернуть несколько токенов в OCamlLex?
Я пытаюсь написать лексер и синтаксический анализатор для языка, основанного на отступах, и я бы хотел, чтобы мой лексер возвращал несколько токенов DEDENT
, когда заметил, что уровень отступа меньше, чем был раньше.Это позволит ему уведомлять парсер о завершении нескольких блоков.
Следуя этому методу, я смогу использовать INDENT
и DEDENT
в качестве вставных замен для BEGIN
и * 1009.*, поскольку эти два токена будут подразумеваться токенами INDENT
и DEDENT
.