b+++c が (b++)+c になるのは、オペレータを出来るだけ長いものからマッチングする字句解析の規則から。
b の後のオペレータは + と ++ とどっちにもマッチングするけど、 ++ のほうが長いから、そう解釈される。
優先順位できまるなら b+++++c は 加算+より優先順位の高い前置++が優先されて、 b++ + ++c と解釈されるはず。
実際はそうでない。

優先順というのは a + b * c のような時 * のほうが + より優先順位が高いから a + (b * c) になるときの規則。
字句解析が終わった後の構文解析の規則。