parent $root_evaluator
object $uncompile_evaluator
var $root dbref 'uncompile_evaluator
var $root child_index 0
var $root fertile 0
var $root manager $uncompile_evaluator
var $root owned [$uncompile_evaluator]
var $root owners [$]
var $root writable []
var $root readable ['parameters, 'methods, 'code]
var $root inited 1
method eval_ctext
arg args;
var output, line, a, result;
output = [];
catch ~methodnf {
catch ~range {
result = .(args[1])(args[2]);
} with handler {
result = [];
}
output = output.join(result);
} with handler {
line = "{" + tostr(args[1]);
if ("_stmt" in line)
line = substr(line, 1, ("_stmt" in line) - 1);
output = output.join(line);
for a in (args[2])
output = (output.join(" ")).join(.eval_ctext(a));
output = output.join("}");
}
return output;
.
method get_stmt
arg args;
return (["%"].join(((.eval_ctext(args[1]))[1]).strip("\""))).join([";"]);
.
method string_type
arg args;
return ("\"" + args) + "\"";
.
method text_stmt
arg args;
var output, t, result;
output = ["\""];
for t in (args) {
if ((t[1]) == 'string_type)
output = output.join(t[2]);
else
output = output.join(.eval_ctext(t));
}
output = output.join("\"");
return output;
.
method force_stmt
arg args;
return ($list.join("(force ", .eval_ctext(args[1]))).join(")");
.
method list_type
arg args;
var t, output, result;
output = ["["];
for t in (args) {
result = .eval_ctext(t);
output = output.join(result);
}
return output.join("]");
.
method _line_stmt
arg args;
return ["", ""];
.
method dbref_type
arg term;
return [term.dbref()];
.
method br_stmt
arg args;
return ["{br}", ""];
.
method p_stmt
arg args;
return ["{p}", "", ""];
.
method ul_stmt
arg args;
var output, l;
output = [""];
for l in (args)
output = output.join((.eval_ctext(l)).join(["", ""]));
args = ["{ul"];
for l in (output)
args = [@args, " " + l];
return (args.chop()).join("}");
.
method dfn_stmt
arg args;
var output, a, result;
output = [""];
for a in (sublist(args, 2))
output = output.join((.eval_ctext(a)).join(["", ""]));
args = ["{dfn " + ((.eval_ctext(args[1]))[1])];
for a in (output)
args = [@args, " " + a];
return (args.chop()).join("}");
.
method integer_type
arg args;
return tostr(args);
.