Я хочу создать лексер / парсер для языка, в котором есть строки без разделителей.
Какая часть языка является строкой, определяется предшествующей ей командой.
Например, он имеетоператоры, которые выглядят так:
pause 5
alert Hello world[CRLF] this contains 'pause' once (1)
Предупреждение в этом случае может заканчиваться любой строкой, включая ключевые слова и цифры.Кроме того, в тексте могут содержаться теги типа [CRLF], которые я тоже хочу разделить.В идеале я бы хотел, чтобы это было разбито на:
[PAUSE][INT 5]
[ALERT][STR "Hello world"][CRLF][STR " this contains 'pause' once (1)"]
В настоящее время я использую flex, но из того, что я собрал, такого рода вещи невозможно с помощью flex.
Как можноЯ добиваюсь того, чего хочу здесь?