Что я делаю, так это создаю производственное правило в виде строки конечного алфавита, скопируйте его в массив символов, а затем пропустите его через оператор if, который вызывает функции в зависимости от символа.
Например, "lff[f]", который вызывает functionL, functionF, functionF, functionOpenB, functionF, functionCloseB.
Итак, в настоящее время это:
workRuleArr= stringProdrule.toCharArray();
for (char c=0; c < workRuleArr.length; c++){
if (workRuleArr[c] == 'f')
{
functionF();
}
if (workRuleArr[c] == 'l')
{
functionL();
}
и т. д.
Это нормально и работает, однако:
Как передать параметры этим функциям из производственного правила, например "l (100 )ff.." так, чтобы он вызывал функцию L (x )... где x = 100 и передал 100 в функцию??
И может быть много разных значений для x в одном и том же продуктио n строка правила. Пользователь вводит правило за один раз в начале программы, поэтому ему нужно будет иметь дело с несколькими параметрами в одном и том же производственном правиле.
Любые идеи будут оценены, если вопрос не ясен, дайте мне знать. Спасибо