Hmm, Mathias is right. You have to think of this as what modifies an attack and how they stack. If they stack and can be mutually exclusive, you get an exponential amount of output, which is a programming nightmare. So, using only the lunge and power attack as an example, and including the regular attack as Mathias stated, you get 2 to the power 3 output lines, which is 8. If you add AOO as you stated above, and correctly surmised, it is 2 to the power 4, which is 16 output lines. So, the output lines will become ridiculously large if you continue to add additional output attack possibilities (from 8, and 16, to 32 [5 attack abilities], 64 [6 attack abilities], 128 [7 attack abilities], etc.) Just not feasible.
A better way to approach this is to create the output for specific small set of common attack abilities. Trying to cover every possibility is just too program intensive (and some users will want to!). Let's just say there are 10 possible ways to produce attack abilities, that comes to 1024 lines of output (assuming all are chosen). Ouch.