Boost :: spirit как разобрать и вызвать c ++ функциональные выражения

Я хочу использовать повышение духа, чтобы разобрать выражение, как

function1 (arg1, arg2, function2 (arg1, arg2, arg3), function3 (arg1, arg2))

и вызвать соответствующие функции C ++. Какой должна быть грамматика для разбора выражения выше и вызова соответствующей функции c ++ с помощью phoneix :: bind ()?

У меня есть 2 типа функций для вызова

1) строковые функции;

wstring GetSubString (wstring stringToCut, позиция int, длина int); wstring GetStringToken (wstring stringToTokenize, разделители wstring, int tokenNumber);

2) Функции, которые возвращают целое число;

int GetCount ();

int GetId (wstring srcId, wstring srcType);

Ответы на вопрос(2)

Ваш ответ на вопрос