Я советую вам написать свой собственный синтаксический анализатор, поскольку сегодня это довольно легко.
На мой взгляд, самый простой способ сделать это - создать один класс для каждого возможного типа синтаксиса (выражение, тест,цикл и т. д.).
Затем в каждом классе кодируйте следующие методы:
- один метод для определения по строке, если строка имеет заданный тип (
a+b
имеет тип 'выражение', if(b)
нет) - один метод для "запуска" этого типа (
a+b
вернет a->run() + b->run()
, а a->run()
вернет значение)