support exponentiation operator (#4593)
This commit is contained in:
@@ -81,6 +81,7 @@ var OPERATORS = makePredicate([
|
||||
"*",
|
||||
"/",
|
||||
"%",
|
||||
"**",
|
||||
">>",
|
||||
"<<",
|
||||
">>>",
|
||||
@@ -630,7 +631,8 @@ var PRECEDENCE = function(a, ret) {
|
||||
["<", ">", "<=", ">=", "in", "instanceof"],
|
||||
[">>", "<<", ">>>"],
|
||||
["+", "-"],
|
||||
["*", "/", "%"]
|
||||
["*", "/", "%"],
|
||||
["**"],
|
||||
], {});
|
||||
|
||||
var ATOMIC_START_TOKEN = makePredicate("atom bigint num regexp string");
|
||||
@@ -1860,7 +1862,7 @@ function parse($TEXT, options) {
|
||||
var prec = op != null ? PRECEDENCE[op] : null;
|
||||
if (prec != null && prec > min_prec) {
|
||||
next();
|
||||
var right = expr_op(maybe_await(), prec, no_in);
|
||||
var right = expr_op(maybe_await(), op == "**" ? prec - 1 : prec, no_in);
|
||||
return expr_op(new AST_Binary({
|
||||
start : left.start,
|
||||
left : left,
|
||||
|
||||
Reference in New Issue
Block a user