Sweet.js - скобки в теле макроса

Я хочу использовать скобки в теле макроса для группировки выражений. Например:

macro m {
  rule { ($x, $y) } => {
    $x >>> ($y * 5)
  }
}

Sweet.js удаляет все скобки:

m(6, 7) => 6 >>> 7 * 5

Я ожидаю следующего выхода:

m(6, 7) => 6 >>> (7 * 5)

Как я могу избежать скобок внутри тела макроса?

1 ответ

Решение

Sweet.js (технически escodegen, который sweet.js использует для codegen) удаляет только лишние скобки (то есть правила приоритета означают, что 6 >>> 7 * 5 === 6 >>> (7 * 5) таким образом, парены не нужны), поэтому вам не нужно ничего делать, чтобы избежать паренов в макросах.

Другие вопросы по тегам