Я сам изучал это и читал список рассылки Flex, чтобы узнать, думал ли кто-нибудь об этом. Заставить Flex читать юникод - дело сложное ...
Можно выполнить кодировку UTF-8, и большинство других кодировок (16-е) приведут к большим таблицам, управляющим автоматами.
На данный момент распространенным методом является:
Я просто написал шаблоны, соответствующие одному UTF-8.
персонажи. Они выглядят примерно так
следующее, но вы можете
перечитайте спецификацию UTF-8
потому что я написал это так давно.
Вам, конечно, нужно будет объединить
это, так как вы хотите строки Unicode,
не только отдельные символы.
UB [\200-\277] %%
[\300-\337]{UB} { do something }
[\340-\357]{UB}{2} { do something }
[\360-\367]{UB}{3} { do something }
[\370-\373]{UB}{4} { do something }
[\374-\375]{UB}{5} { do something }
Взято из списка рассылки.
Я могу взглянуть на создание правильного патча для поддержки UTF-8 после более подробного изучения. Вышеуказанное решение кажется невозможным для больших файлов .l. И действительно ужасно! Вы можете использовать диапазоны, подобные, чтобы создать '.' подставить правило, соответствующее всем символам ASCII и UTF-8, но все равно довольно уродливо.
надеюсь, это поможет!