%prec({+__} <> {__^__})%
%prec({__*__} < {+__})%
%prec({__+__} < {__*__})%
%prec({__-->__} < {__{__}--__-->{__}__})%
%left_assoc(__*__, __+__, __-->__)%
%string empty, __::::__
%list [__], [], __::__
%number __@@__
%floating __:::__, __E__