// $Id$ *** $func Depth = s.depth; Depth = 57; $cxx { $(s, Expr::create(stack->get_depth())); }; *** $func Func s.depth = s.func; Func s.depth = s.depth; $cxx { $(s, Expr::create(stack->get_func( ($s_depth)->to_int()))); }; *** $func Args s.depth = e.args; Args s.depth = ; $cxx { Expr* p; int n = stack->get_args(($s_depth)->to_int(), &p); Expr e; while (n--) { e = e + (*p++)(); } $(e, e); }; *** $func RF_Stack s.offset s.len = e."(s.func e.args)...(...)"; "RF_Stack" s.offset s.len = ; $cxx { size_t offset = ($s_depth)->to_int(); size_t len = ($s_len)->to_int(); if (!len) len = stack->get_depth() - offset; Expr* p = stack->get_upper(offset); Expr e; while (len--) { Expr s_f = Expr::create(Stack::getf(p)); int n = Stack::getn(p); Expr* ap = Stack::geta(p); Expr e_args; while (n--) e_args = e_args + (*ap++)(); e = e + (s_f + e_args)(); p = Stack::getup(p); } $(e, e); };