Конструктор парсеров для C # /. NET - PullRequest
3 голосов
/ 27 июня 2009

Я хочу написать простой DSL на C #. Ничего сложного. Я ищу .NET эквивалент Lex & Yacc. Самым простым, что я нашел, является GOLD Parser builder. Другой вариант - использовать lex & yacc, доступные в F #, но сейчас я не очень хочу программировать на F #.

Если у вас есть предложения по .NET-версии Lex или Yacc, я бы хотел их услышать!

Спасибо!

Ответы [ 5 ]

8 голосов
/ 27 июня 2009

Если вы действительно хотите остаться в C #, я бы порекомендовал использовать Irony toolkit - он позволяет указывать грамматики в коде C #.

3 голосов
/ 27 июня 2009

ANTLR 3 имеет C # target .

1 голос
/ 27 июня 2009

Сколько нужно программировать на F #, чтобы воспользоваться Lex & Yacc? Можете ли вы бросить то, что вам нужно, в F # DLL и ссылаться на это из проекта C #?

0 голосов
/ 01 июля 2010

Есть также C # Lex и C # CUP, которые я нашел на сайте Венского университета

C # Lex Manual

0 голосов
/ 27 июня 2009

Я не знаю, если это то, что вы ищете, но Осло имеет возможность создавать текстовые DSL.

У него больше возможностей, чем это, но вы можете игнорировать все хранилище и Grand Vision и просто создавать грамматику, которую вы можете использовать для анализа вашего DSL в AST. Кроме того, вы можете воспользоваться встроенной поддержкой синтаксического анализа набора строк в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...