日度归档:2015 年 1 月 16 日

Haxe宏函数

Haxe宏方法是一种特殊方法,它的生命周期处于且仅处于编译期。

包含宏的代码编译分三个阶段,首先根据有效代码生成Abstract Syntax Tree,然后找到宏方法并执行(会执行上下文中相关的代码,所以需要将宏方法隔离),最后宏方法变成haxe代码。

在宏方法中,所有对象都是Expr,加macro关键字可以使得表达式不立即执行,而是作为结果代码置入目标位置,该表达式不能直接与任何外部变量交互,类似lisp的',传入的变量必须以Context.makeExpr(x, Context.cur[......]

Read more