- ['infix', 90, ['*'], sub { $_[0] * $_[1] } ],
- ['infix', 90, ['/'], sub { $_[0] / $_[1] } ],
- ['infix', 90, ['div', 'DIV'], sub { int($_[0] / $_[1]) } ],
- ['infix', 90, ['%', 'mod', 'MOD'], sub { $_[0] % $_[1] } ],
- ['infix', 85, ['+'], sub { $_[0] + $_[1] } ],
- ['infix', 85, ['-'], sub { @_ == 1 ? 0 - $_[0] : $_[0] - $_[1] } ],
- ['infix', 85, ['~', '_'], sub { join "", @_ } ],
- ['infix', 80, ['<'], sub { $_[0] < $_[1] } ],
- ['infix', 80, ['>'], sub { $_[0] > $_[1] } ],
- ['infix', 80, ['<='], sub { $_[0] <= $_[1] } ],
- ['infix', 80, ['>='], sub { $_[0] >= $_[1] } ],
- ['infix', 80, ['lt'], sub { $_[0] lt $_[1] } ],
- ['infix', 80, ['gt'], sub { $_[0] gt $_[1] } ],
- ['infix', 80, ['le'], sub { $_[0] le $_[1] } ],
- ['infix', 80, ['ge'], sub { $_[0] ge $_[1] } ],
- ['infix', 75, ['==', 'eq'], sub { $_[0] eq $_[1] } ],
- ['infix', 75, ['!=', 'ne'], sub { $_[0] ne $_[1] } ],
- ['infix', 70, ['&&'], undef ],
- ['infix', 65, ['||'], undef ],
- ['infix', 60, ['..'], sub { $_[0] .. $_[1] } ],
+ ['left', 90, ['*'], sub { $_[0] * $_[1] } ],
+ ['left', 90, ['/'], sub { $_[0] / $_[1] } ],
+ ['left', 90, ['div', 'DIV'], sub { int($_[0] / $_[1]) } ],
+ ['left', 90, ['%', 'mod', 'MOD'], sub { $_[0] % $_[1] } ],
+ ['left', 85, ['+'], sub { $_[0] + $_[1] } ],
+ ['left', 85, ['-'], sub { @_ == 1 ? 0 - $_[0] : $_[0] - $_[1] } ],
+ ['left', 85, ['~', '_'], sub { join "", @_ } ],
+ ['none', 80, ['<'], sub { $_[0] < $_[1] } ],
+ ['none', 80, ['>'], sub { $_[0] > $_[1] } ],
+ ['none', 80, ['<='], sub { $_[0] <= $_[1] } ],
+ ['none', 80, ['>='], sub { $_[0] >= $_[1] } ],
+ ['none', 80, ['lt'], sub { $_[0] lt $_[1] } ],
+ ['none', 80, ['gt'], sub { $_[0] gt $_[1] } ],
+ ['none', 80, ['le'], sub { $_[0] le $_[1] } ],
+ ['none', 80, ['ge'], sub { $_[0] ge $_[1] } ],
+ ['none', 75, ['==', 'eq'], sub { $_[0] eq $_[1] } ],
+ ['none', 75, ['!=', 'ne'], sub { $_[0] ne $_[1] } ],
+ ['left', 70, ['&&'], undef ],
+ ['right', 65, ['||'], undef ],
+ ['none', 60, ['..'], sub { $_[0] .. $_[1] } ],