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
p5make_sub("Perlito5::Precedence", "get_token_precedence", function (List__, p5want) {
5031
+
try {
5032
+
var v_token;
5033
+
(v_token = (List__.p5aget(0)));
5034
+
if ( (p5str((v_token || (v_token = new p5ArrayRef([])))._array_.p5aget(0)) == 'prefix') ) {
5035
+
throw((v_PrefixPrecedence || (v_PrefixPrecedence = new p5HashRef({})))._hash_.p5hget(p5str((v_token || (v_token = new p5ArrayRef([])))._array_.p5aget(1))));
5036
+
};
5037
+
return ((v_Precedence || (v_Precedence = new p5HashRef({})))._hash_.p5hget(p5str((v_token || (v_token = new p5ArrayRef([])))._array_.p5aget(1))));
5038
+
}
5039
+
catch(err) {
5040
+
if ( err instanceof Error ) {
5041
+
throw(err);
5042
+
}
5043
+
else {
5044
+
return(err);
5045
+
}
5046
+
}
5047
+
});
5008
5048
p5make_sub("Perlito5::Precedence", "precedence_parse", function (List__, p5want) {
5009
5049
var v_self;
5010
5050
(v_self = (List__.shift()));
@@ -5048,7 +5088,7 @@ var p5100 = p5pkg['main'];
5048
5088
(v_pr = ((v_Precedence || (v_Precedence = new p5HashRef({})))._hash_.p5hget(p5str((v_token || (v_token = new p5ArrayRef([])))._array_.p5aget(1)))));
5049
5089
p5while(function () {
5050
5090
(v_reduce)([v_op_stack, v_num_stack], null);
5051
-
}, function () { return p5and(((v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_), function () { return p5context([(p5num(v_pr) <= p5num((v_Precedence || (v_Precedence = new p5HashRef({})))._hash_.p5hget(p5str((p5context([(v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_.p5aget(0)], 0) || (p5context([(v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_.p5aget(0)], 0) = new p5ArrayRef([])))._array_.p5aget(1)))))], 0) }) }, false, "");
5091
+
}, function () { return p5and(((v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_), function () { return p5context([(p5num(v_pr) <= p5num(p5pkg["Perlito5::Precedence"].get_token_precedence(p5list_to_a((v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_.p5aget(0)), 0)))], 0) }) }, false, "");
5052
5092
if ( (p5str((v_token || (v_token = new p5ArrayRef([])))._array_.p5aget(0)) != 'postfix_or_term') ) {
5053
5093
(v_token || (v_token = new p5ArrayRef([])))._array_.p5aset(0, ('postfix'));
5054
5094
};
@@ -5074,12 +5114,12 @@ var p5100 = p5pkg['main'];
5074
5114
if ( p5bool((v_Assoc || (v_Assoc = new p5HashRef({})))._hash_.p5hget_hash('right')._hash_.p5hget(p5str((v_token || (v_token = new p5ArrayRef([])))._array_.p5aget(1)))) ) {
5075
5115
p5while(function () {
5076
5116
(v_reduce)([v_op_stack, v_num_stack], null);
5077
-
}, function () { return p5and(((v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_), function () { return p5context([(p5num(v_pr) < p5num((v_Precedence || (v_Precedence = new p5HashRef({})))._hash_.p5hget(p5str((p5context([(v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_.p5aget(0)], 0) || (p5context([(v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_.p5aget(0)], 0) = new p5ArrayRef([])))._array_.p5aget(1)))))], 0) }) }, false, "");
5117
+
}, function () { return p5and(((v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_), function () { return p5context([(p5num(v_pr) < p5num(p5pkg["Perlito5::Precedence"].get_token_precedence(p5list_to_a((v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_.p5aget(0)), 0)))], 0) }) }, false, "");
5078
5118
}
5079
5119
else {
5080
5120
p5while(function () {
5081
5121
(v_reduce)([v_op_stack, v_num_stack], null);
5082
-
}, function () { return p5and(((v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_), function () { return p5context([(p5num(v_pr) <= p5num((v_Precedence || (v_Precedence = new p5HashRef({})))._hash_.p5hget(p5str((p5context([(v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_.p5aget(0)], 0) || (p5context([(v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_.p5aget(0)], 0) = new p5ArrayRef([])))._array_.p5aget(1)))))], 0) }) }, false, "");
5122
+
}, function () { return p5and(((v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_), function () { return p5context([(p5num(v_pr) <= p5num(p5pkg["Perlito5::Precedence"].get_token_precedence(p5list_to_a((v_op_stack || (v_op_stack = new p5ArrayRef([])))._array_.p5aget(0)), 0)))], 0) }) }, false, "");
5083
5123
};
5084
5124
if ( p5bool((v_Operator || (v_Operator = new p5HashRef({})))._hash_.p5hget_hash('ternary')._hash_.p5hget(p5str((v_token || (v_token = new p5ArrayRef([])))._array_.p5aget(1)))) ) {
5085
5125
(v_token || (v_token = new p5ArrayRef([])))._array_.p5aset(0, ('ternary'));
0 commit comments