Вопрос

Я ищу достойный генератор лексического сканера для C#/.NET - что-то, что поддерживает категории символов Юникода и генерирует несколько читаемый и эффективный код.Кто-нибудь знает об одном?


РЕДАКТИРОВАТЬ:я нуждаться Поддержка для Категории Юникода, а не только символы Юникода.Всего в настоящее время 1421 символ. Lu (Буква, верхний регистр), и мне нужно очень точно сопоставить множество разных категорий, и я бы предпочел не писать вручную необходимые для этого наборы символов.

Кроме того, фактический код представляет собой должен -- это исключает возможности создания двоичного файла, который затем используется с драйвером (т. е.ЗОЛОТО)


РЕДАКТИРОВАТЬ:ANTLR пока не поддерживает категории Unicode.Есть открытый вопрос Но для этого, чтобы когда-нибудь это могло соответствовать моим потребностям.

Это было полезно?

Решение

GPLEX, кажется, поддерживает ваши требования.

Другие советы

На ум приходят два решения: ANTLR и Gold . ANTLR имеет основанный на графическом интерфейсе конструктор грамматики, а отличный пример проекта на C # можно найти здесь .

Я согласен с @David Robbins, ANTLR - это, вероятно, ваш лучший выбор. Однако сгенерированному коду ANTLR действительно нужна отдельная библиотека времени выполнения, чтобы использовать сгенерированный код, потому что есть некоторый синтаксический анализ строк и другие общие черты библиотеки, на которые опирается сгенерированный код. ANTLR генерирует лексер и парсер.

На заметке: ANTLR великолепен ... Я написал 400+ строковую грамматику для генерации более 10 тыс. Кодов или кода C # для эффективного синтаксического анализа языка. Это включало встроенную проверку ошибок для каждой возможной вещи, которая могла пойти не так при синтаксическом анализе языка. Попробуйте сделать это вручную, и вы никогда не будете отставать от ошибок.

Я только что нашел это

http://www.seclab.tuwien.ac.at/projects/cuplex/lex.htm

Там написано, что он достаточно настраиваемый для поддержки юникода ;-).

Гербер

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top