C# имеет (прямой) flex/yacc порт? Или что люди лексического анализатора/синтаксического анализатора используют для C#? [закрытый]

18
задан prosseek 4 June 2010 в 13:48
поделиться

3 ответа

Я думаю, что вам лучше всего будет GPLEX / GPPG, это самая близкая вещь к Yacc / Lex для C #, о которой я знаю, и вам все равно придется переносить свои действия на C #.

Я также использовал Coco / R, ANTLR (конечно), а совсем недавно играл с Irony.net, fslex / fsyacc (F #) и fparsec (F #).

Вот несколько ссылок

Fparsec

Coco / R

Irony.net

Генератор парсеров Gardens Point

Gardens Point Lex

У меня нет технической причины использовать его против другого: я играю с ними в основном для развлечения. Я действительно создал несколько DSL для рабочих проектов много лет назад, но я вручную накатал на них сканеры / парсеры (тогда я работал в основном на Паскале и обнаружил, что TP Lex / Yacc не подходит моим вкусам, и DSL были достаточно простыми). Я обнаружил, что FParsec и Irony мне больше всего подходят, так как другие нахожу несколько «беспорядочными» (лишенными элегантности).

17
ответ дан 30 November 2019 в 08:58
поделиться

ANTLR - очень зрелый (и отличный) генератор синтаксического анализатора / лексера. Первоначально он создавал код Java, но теперь может работать с несколькими языками, включая C # .

2
ответ дан 30 November 2019 в 08:58
поделиться

Взгляните на расширения "Managed babel", там есть порт lex и yacc в классическом стиле.

http://msdn.microsoft.com/en-us/library/bb165037 (VS.80) .aspx

1
ответ дан 30 November 2019 в 08:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: