Я хочу включить язык сценариев в проект C ++. Луа против Бизон / Як

Я хочу реализовать язык сценариев в своем приложении. Просто для того, чтобы контролировать поведение, определять правила и т. Д.

Я не нашел причины использовать Lua вместо bison / yacc или наоборот. Каковы преимущества и недостатки этих инструментов?

С точки зрения реализации Lua, кажется, гораздо проще реализовать, в то время как yacc / bison требует научиться писать разметку синтаксического анализатора, но тогда у меня есть автономный синтаксический анализатор. Кроме того, в чем различия?

1

Решение

Это совершенно разные вещи, и не совсем сопоставимые. Lua — это (встраиваемый) язык сценариев, Bison / yacc, с помощью которого вы можете написать лексер и парсер для языка.

С Bison / Yacc вам все равно придется реализовать реальный механизм выполнения (VM, любой другой) для вашего языка сценариев.

Поэтому, если вы хотите, чтобы в вашем приложении был встроен язык сценариев, lua предоставит вам один «из коробки». Bison / yacc предоставляют вам (некоторые из) инструменты для его реализации.

Если по какой-то причине вам нужен парсер, вы можете использовать bison / yacc или посмотреть lpeg в Lua, в зависимости от вашего варианта использования.

6

Другие решения


По вопросам рекламы [email protected]