#java #javascript #rhino
#java #javascript #rhino
Вопрос:
Мое требование заключается в том, что пользователю предоставляется возможность определять правила, например:
IF f1 is grt than f2 do this
или
IF f1 > f2 and f2 < f3 ...
поэтому он может использовать операторы или текст (скажем, and
или amp;amp;
)
Теперь нам нужно преобразовать этот текст в текстовом поле в конкретные правила или условия. Существует множество условий (все операторы amp;amp;
, ||
, !
=
и т.д. и т.п.) При условии, что это должно быть выполнено в браузере на стороне клиента. Итак, javascript — это способ сделать. У меня недостаточно времени, чтобы написать библиотеку или анализатор. Однако я где-то читал, что rhino обладает этой способностью, но я понятия не имею, как ее использовать.
Заранее спасибо за любые подсказки.
Комментарии:
1. Просто используйте Rhino в качестве движка через Java Scripting API и оценивайте скрипты Javascript (со стандартным синтаксисом) с помощью вызова eval() en.wikipedia.org/wiki/Rhino_ (JavaScript_engine)
Ответ №1:
Если я вас правильно понял, вы хотите перевести правила, написанные на пользовательском языке, в javascript?
В этом случае Rhino не решит вашу проблему: Rhino — это интерпретатор javascript, написанный на Java. Это позволило бы вам оценить правила, если бы они были написаны на javascript.
Комментарии:
1. Итак, что я должен делать??
2. Вы можете либо написать свой собственный переводчик, либо попросить пользователя выразить правила на javascript или подмножестве javascript. В последнем случае вы могли бы использовать Rhino для проверки синтаксиса правил.