parent $frob_class object $ctext_class var $root dbref 'ctext_class var $root child_index 0 var $root fertile 0 var $root manager $ctext_class var $root owned [$ctext_class] var $root owners [$] var $root writable [] var $root readable ['parameters, 'methods, 'code] var $root inited 1 method eval arg [vars]; vars = [@vars, #[]][1]; if (!('time in dict_keys(vars))) vars = dict_add(vars, 'time, 'pre); if (!('evaluator in dict_keys(vars))) vars = dict_add(vars, 'evaluator, $base_evaluator); (vars['evaluator]).eval_cml(vars, ._ctext()); . method _ctext arg this; return this; . method new arg data, [evaluator]; evaluator = [@evaluator, $compile_evaluator][1]; if (type(data) == 'string) data = (evaluator.compile_cml(data))['result]; return <this(), data>; . method eval_ctext arg this, [vars]; vars = [@vars, #[]][1]; if (!('time in dict_keys(vars))) vars = dict_add(vars, 'time, 'pre); if (!('evaluator in dict_keys(vars))) vars = dict_add(vars, 'evaluator, $base_evaluator); if (!('this in dict_keys(vars))) vars = dict_add(vars, 'this, sender()); if (!('sender in dict_keys(vars))) vars = dict_add(vars, 'sender, sender()); return (vars['evaluator]).eval_ctext(vars, this); . method finish arg this; var term, output, line; output = []; line = ""; for term in (this) { if (type(term) in ['symbol, 'integer, 'string]) { line = line + tostr(term); } else if (type(term) == 'dbref) { line = line + (term.dbref()); } else if (type(term) == 'list) { if ((term[1]) == 'b_stmt) { output = [@output, line]; line = ""; } else { output = [@output, line, term.to_string()]; line = ""; } } else { line = line + ($data.unparse(term)); } } output = [@output, line]; return output; . method uncompile arg this; return $uncompile_evaluator.eval_ctext(this); . method ctext arg this; return this; .