Slide 55
Slide 55 text
ダイジェスト:function 文の AST の例
function foo(x: number): number {
return x;
}
foo(42);
{
tag: "recFunc",
funcName: "foo",
params: [{ name:"n", type: { tag:"Number" } }],
retType: { tag: "Number" },
body: { tag: "var", name: "n" },
rest: {
tag: "call",
func: { tag: "var", name: "foo" },
args: [{ tag: "number", n: 42 }],
},
}
=
= x: number var x
recFunc foo
params
body
var foo num 42
call
func args
rest