Como parênteses uma expressão programaticamente?

Tenho uma ideia para um programa simples de criar que me ajudará com precedência de operador em idiomas como C. A parte mais difícil disso é colocar parênteses na expressão. Por exemplo, eu quero o seguinte:

*a.x++ = *b.x++

Convertido para isso:

((*(((a).(x))++)) = (*(((b).(x))++)))

O que eu fiz manualmente nestas etapas:

           *a.x++ = *b.x++
       *(a).(x)++ = *(b).(x)++
     *((a).(x))++ = *((b).(x))++
   *(((a).(x))++) = *(((b).(x))++)
 (*(((a).(x))++)) = (*(((b).(x))++))
((*(((a).(x))++)) = (*(((b).(x))++)))

Qual é a melhor maneira de fazer isso programaticamente? Já existe uma solução que eu possa usar? Prefiro fazer isso em PHP, C, C ++, Python ou Ruby.

(Esta não é a idéia completa do meu programa, é apenas o primeiro passo.)

questionAnswers(10)

yourAnswerToTheQuestion