Это нелинейная грамматика - вы должны иметь возможность выполнять рекурсию по набору разрешенных правил. Посмотрите на pyparsing , чтобы выполнить простой синтаксический анализ CFG (Context Free Grammar) с помощью читаемых спецификаций.
Прошло много времени с тех пор, как я выписал CFG, и я, вероятно, ржавый, поэтому я отсылаю вас к Python EBNF , чтобы получить представление о том, как вы можете сконструировать его для подмножество языкового синтаксиса.
Редактировать: Если пример всегда будет простым, вы можете закодировать небольшой класс / функцию конечного автомата, который перебирает входную строку с токенами, как подсказывает @ Девин Жанпьер . 1013 *