Ответ 1
Нет языка, который так прост, как я им нужен, поэтому я сам определяю его с помощью ANTLR. Лучший пример, который я нашел до сих пор, находится в этом ответе.
Я ищу действительно простой/ограниченный язык сценариев для JVM или Bean Scripting Framework но не может найти.
Мне нужны следующие операторы:
... и возможность определять двойные переменные типа для создания выражений типа
(A+B)/2
script не может вызывать код JVM (возможно, за исключением класса Math, но это необязательно).
Какие у меня есть варианты?
Я знаю, что могу просто написать такое, но я бы предпочел испытанное, стабильное и быстрое решение. Я пробовал Groovy раньше и действительно понравился... но трудно не дать моим пользователям полную власть над JVM с ним.
Нет языка, который так прост, как я им нужен, поэтому я сам определяю его с помощью ANTLR. Лучший пример, который я нашел до сих пор, находится в этом ответе.
Я думаю, JEXL соответствует счету.
Кроме того, чтобы создать песочницу для ваших выражений, просмотрите этот вопрос.
проверьте FScript, возможно
Попробуйте BeanShell. Он очень прост и имеет тот же синтаксис, что и Java (хотя вы обычно можете использовать сокращенную нотацию bean accesor). Это отличный инструмент для внедрения возможностей отладки и управления в управляемую JVM.