什么是A-Normal表格?

unj*_*nj2 11 compiler-construction compiler-development

我正在阅读各种中间形式,但除了类似wiki的条目之外,我无法获得有关A-normal表单的信息.这里有没有人知道这个或有很好的资源吗?

Eug*_*ota 6

请参阅管理正常表单.

在计算机科学中,行政规范形式(缩写为ANF)是一种规范形式的程序,由Flanagan等人1993引入,用作函数编译器的中间表示,以便更直接地对机器代码进行后续转换.

在ANF中,函数的所有参数都必须是微不足道的.也就是说,每个参数的评估必须立即停止.

语法

以下BNF语法描述了修改的纯λ演算以支持ANF的约束:

EXP ::= VAL VAL
     |  let VAR = EXP in EXP
VAL ::= ? VAR . EXP
     |  VAR
Run Code Online (Sandbox Code Playgroud)

编译器或研究中使用的ANF变体通常也允许常量,记录,元组,多参数函数,基本操作和条件表达式.

Flanagan,Cormac; Sabry,Amr; Duba,Bruce F.; Felleisen,Matthias."持续编译的本质"可能是最终的来源.

还在cs252r上找到了一些注意事项:高级功能编程.