Irony-parser-подобное программное обеспечение для других языков, кроме C #? - PullRequest
3 голосов
/ 24 марта 2011

Существуют ли программы, которые делают то же, что делает комплект реализации языка Irony .NET , но для других языков программирования?

Ответы [ 3 ]

1 голос
/ 17 декабря 2012

Существует библиотек синтаксических анализаторов для нескольких других языков, просто назвать несколько:

1 голос
/ 28 октября 2012

Грамматика Иронии закодирована в C # с помощью BNF-нотации, но, конечно, вы можете использовать ее для анализа вашего или других языков.

Если вы ищете парсер / генератор, чья грамматика не закодирована в C #, попробуйте что-то вроде ANTLR . С ANTLR вы определяете свою грамматику отдельно в файле описания языка.

0 голосов
/ 04 мая 2017

Python имеет PLY , который является оберткой вокруг Lex / Yacc.

Это довольно легко использовать, когда вы обернетесь вокруг того, как они хотят, чтобы вы его использовали, и вы выяснили, как ориентироваться в скудной документации. У PLY есть лучшая документация, чем у Irony, но планка довольно низкая.

Я начал с PLY, но считаю, что Irony - более приятный фреймворк, потому что:

  • Ирония поддерживает простые правила грамматики EBNF (MakeStarRule и т. Д.), Тогда как выполнение того же самого в PLY выполнимо, но громоздко.
  • Оба инструмента имеют приличные встроенные средства отладки, но у Irony есть небольшое преимущество, потому что он имеет приличный графический интерфейс для просмотра правил синтаксического анализа, ошибок уменьшения сдвига и т. Д.

Удачи всем, кто отправляется в путешествие по Lex / Yacc!

...