Ответ 1
GPLEX, похоже, поддерживает ваши требования.
Я ищу приличный лексический генератор сканера для С#/.NET - что-то, что поддерживает категории символов Unicode, и генерирует несколько читаемый и эффективный код. Кто-нибудь знает об одном?
EDIT: поддержка для категорий Unicode, а не только символов Юникода. В настоящее время существует только 1421 символа только категории Lu
(Letter, Uppercase), и мне нужно очень точно сопоставлять различные категории, и скорее не будем писать нужные ему наборы символов.
Кроме того, фактический код должен - это исключает вещи, которые генерируют двоичный файл, который затем используется с драйвером (т.е. GOLD)
EDIT: ANTLR пока не поддерживает категории Unicode. Для него существует открытая проблема, поэтому он может когда-нибудь соответствовать моим потребностям.
GPLEX, похоже, поддерживает ваши требования.
Два решения, которые приходят на ум, ANTLR и Gold. ANTLR имеет графический дизайнер, основанный на графическом интерфейсе, и отличный примерный проект в С# можно найти здесь.
Я согласен с @David Robbins, ANTLR, вероятно, ваш лучший выбор. Однако для сгенерированного кода ANTLR требуется отдельная библиотека времени выполнения, чтобы использовать сгенерированный код, потому что существует некоторый синтаксический анализ строк и другие общие общности библиотек, на которые основан сгенерированный код. ANTLR генерирует лексер и парсер.
На стороне примечания: ANTLR отлично... Я написал 400-строчную грамматику для генерации более 10 тыс. Или С# кода для эффективного анализа языка. Это включало встроенную проверку ошибок для всех возможных вещей, которые могли бы ошибиться при анализе языка. Попытайтесь сделать это вручную, и вы никогда не поспеваете за ошибками.
Я только что нашел это
http://www.seclab.tuwien.ac.at/projects/cuplex/lex.htm
В нем говорится, что он достаточно настраивается для поддержки unicode; -).
Хербер