You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixes RT #80614
Fixes RT #120704
Fixes RT #125407
The issue is that the operator precedence table from HLL::Grammar (used
for both Grammar.O and Grammar.EXPR) has a hash of hashes, the values of
which specify things like precedence and associativity. For example, the
hash contains something like the following for the key '%list_assignment':
{ :prec<i=>, :assoc<right>, :sub<e=> }
The 'sub' key is the...umm, key here. After handling some things with
%inO<prec> in HLL::Grammar.EXPR, %inO<sub> is assigned to %inO<prec> -
changing the precedence of list assignment from 'i=' to 'e=' *globally*.
Instead of modifying the precedence hashes returned through the matches,
this patch checks subprecedence ('sub') before precedence ('prec') when
fetching the precedence for an operator in the precedence table.
0 commit comments