IMP: Implicit multiplication parser
Pyth, 18 chars

mj\*dfqzsTsm^Qkhlz


This solution is adapted from my Interpreting Fish
solution. The problems are actually very similar.

Expects input as such:

aaaa
"a", "aaa"


Gives output like this:

['a*aaa', 'aaa*a', 'a*a*a*a']


Try it here.


sm^Qkhlz: Generates all sequences of variables containing up to the length of the input string number of variables. 
fqzsT: Filters out the variable sequences that match the input string
mj\*d: Inserts the * symbol and prints.