2014-04-06 3 views
1

매크로를 괄호로 묶어서 그룹 식으로 사용하고 싶습니다. 예를 들어 :Sweet.js - 매크로의 괄호

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

가 어떻게 매크로 본체 내부에 괄호를 탈출 할 수

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

내가 다음 출력을 기대 :

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

Sweet.js 모든 괄호를 제거?

답변

3

Sweet.js (기술적으로는 code.gen이 sweet.js를 사용함)는 중복 된 괄호 만 제거합니다. 즉 선행 규칙은 6 >>> 7 * 5 === 6 >>> (7 * 5)을 의미하므로 괄호는 필요하지 않습니다. 따라서 괄호에서 벗어나려면 아무 것도 할 필요가 없습니다. 매크로.

+0

또한 IIFE를 정의하려고 할 때 나타나는 것처럼 보입니다. – Jonathon