Example 8/14: adds actions and infrastructure to compile nested functions
as first-order values.
Requires Nest13 and Global01,
cannot be mixed with Pass08.
Classes
Methods
-
_lift(args)
-
[replace] need two slots for function argument and value.
Parameters:
Name Type Description argsArray.<Type> list of argument types.
-
_startup(main)
-
[Replace] Need
PushFPformain.Parameters:
Name Type Description mainFun describes
main(). -
call()
-
call: { args };pops extra slot for function value. -
return()
-
return: 'return' [ sum ];[extend] pops extra slot for function value. -
store()
-
store: '=' sum;[extend] pops extra slot for function value. -
varname()
-
varname: Name [ ':' type ];[extend] two slots for function value.