Вы должны определить грамматику, просто чтобы убедиться, что вы знаете, что вы позволите пользователям печатать.
Вам может не понадобиться генератор синтаксического анализатора, если ваша грамматика достаточно проста (например, единственное, что могут набрать ваши пользователи, - это вызовы функций через именованные переменные). В этом случае специального анализа может быть достаточно. Это было бы достаточно для вашего простого примера.
Если ваша грамматика имеет небольшую сложность (например, вложенные вызовы), вы можете довольно легко кодировать парсер рекурсивного спуска, который сделает эту работу.
Если ваша грамматика усложняется (пользователи наверняка попросят дополнительные функции), вам может потребоваться генератор синтаксических анализаторов.
Если бы это был я, с учетом заявленных вами требований, я бы создал версию с рекурсивным спуском после написания грамматики, которую я должен был принять генератор синтаксического анализатора. Это также может быть полезной документацией в, гм, руководстве пользователя.