Sweet.js 没有输出任何东西

Sweet.js Not Outputing Anything

我正在尝试编译一个非常简单的 sweet.js 文件:

macro @ {
    rule {
        $exp
    }=>{
        + $exp +
    }
}

...使用此命令:

sjs -o out.js my_file.js

但是没有任何输出; out.js 文件已创建,但它不包含任何内容。起初我认为这可能是 sweet.js 文件本身的问题,但是当我使用 sweet.js 在线编辑器对其进行测试时,它按预期工作。

我没有正确使用 'sjs' 命令吗?还有什么我忽略的吗?

在宏定义之外添加几行代码后我能够编译:

macro @ {
rule {
    $exp
}=>{
    + $exp +
   }
}

var msg = "Hello";
console.log("message is: " @msg ".");

我误解了我一直在阅读的文档,并认为只有宏代码本身可以编译成一个 JavaScript 文件,但编译器根据定义吐出一个 JavaScript 文件macro and 使用定义的宏的代码。