В одной книге, которую я прочитал (я не помню, какая именно книга), указано: Компиляторы пытаются анализировать выражения по наибольшему токену , используя левое правое правило.
В этом случае выражение:
x-->0
Разборы по самым большим токенам:
token 1: x
token 2: --
token 3: >
token 4: 0
conclude: x-- > 0
То же правило применяется к этому выражению:
a-----b
После разбора:
token 1: a
token 2: --
token 3: --
token 4: -
token 5: b
conclude: (a--)-- - b
Надеюсь, это поможет понять сложное выражение ^^