Sweet.js:在标记之前定位变量的宏?

汤玛尔

我的TODO列表中的一项内容是创建一种有趣的编码语言,可以“编译”为JavaScript。我想尝试使用Sweet.js,但是我想知道是否可以编写针对该规则之前关键字的规则?

例如,假设您要创建Yoda风格的JavaScript。源代码行可能看起来像这样:

six var is;

将被映射到

var six;

使用Sweet.js可以吗?

迪斯尼

是的,您将要使用infix宏:

let var = macro {
    rule infix { $x:ident | is } => {
        var $x;
    }
}

six var is

如果您想is成为宏而不是var显而易见的事情,那就是:

let is = macro {
    rule infix { $x:ident var | } => {
        var $x;
    }
}

但这实际上不起作用。它不起作用的原因var是...特殊的。基本上,由于var创建了新的资料夹,因此宏不会在的标识符位置扩展var因此,当扩展器看到var is时,它将尝试创建一个名为的新绑定变量,is而不是扩展is宏。

不过,使用infixvar宏应该对您有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Sweet.js:在标记之前定位变量的宏?

来自分类Dev

调用方法的Sweet.js宏

来自分类Dev

Sweet.js的惰性评估宏

来自分类Dev

调用方法的Sweet.js宏

来自分类Dev

如何从sweet.js导出?

来自分类Dev

Sweet.js-宏可以在多个文件中使用吗?

来自分类Dev

使用sweet.js宏删除日志语句

来自分类Dev

sweet.js:转换重复令牌的出现

来自分类Dev

Sweet.js可以输出评论吗?

来自分类Dev

使用sweet.js生成动态评论

来自分类Dev

使用sweet.js生成动态评论

来自分类Dev

防止 sweet.js 向变量添加数字

来自分类Dev

Sweet.js宏将传递给宏采用结构的任何内容都失败了

来自分类Dev

Sweet.js-将令牌扩展为字符串

来自分类Dev

将sweet.js参数转换为字符串

来自分类Dev

带有表格JS的Sweet Alert(3个输入)

来自分类Dev

将任意字符串插入 sweet.js 输出

来自分类Dev

在 Vue js 中使用 Sweet alert 删除确认

来自分类Dev

如何在sweet.js中创建参数化的infix宏

来自分类Dev

如何在sweet.js中创建参数化的infix宏

来自分类Dev

对于sweet.js在Typescript输出中重命名顶级变量该怎么办?

来自分类Dev

Sweet.js宏参数扩展为主体中的另一个宏,不需要

来自分类Dev

Sweet.js-如何将变量放入标识符名称和字符串变量中?

来自分类Dev

Sweet.js-如何将变量放入标识符名称和字符串变量中?

来自分类Dev

Sweet Alert HTML选项

来自分类Dev

Bootstrap Modal内部的Sweet Alert

来自分类Dev

JSF Sweet Alert 使用 FacesMessages

来自分类Dev

删除确认 HREF Sweet Alert

来自分类Dev

使用AngularJS 2和模板的Sweet Alert