$j = new JE;
$code = $j->compile('1+1'); # returns a JE::Code object
- $code->execute($this, $scope, $code_type);
The "execute" method of a parse tree executes it. All the arguments are
The first argument will be the 'this' value of the execution context. The global object will be used if it is omitted or undef.
The second argument is the scope chain. A scope chain containing just the global object will be used if it is omitted or undef.
- $code->set_global( $thing )
- JE::Code::add_line_number($message, $code_object, $position)
WARNING: The parameter list is still subject to change.
This routine append a string such as 'at file, line 76.' to the error message passed to it, unless it ends with a line break already.
$code_object is a code object as returned by JE's or JE::Parser's "parse" method. If it is omitted, the current value of $JE::Code::code will be used (this is set while JS code is running). If $JE::Code::code turns out to be undefined, then $message will be returned unchanged (this is subject to change; later I might make it use Carp to add a Perl file and line number).
$position is the position within the source code, which will be used to determine the line number. If this is omitted, $JE::Code::pos will be used.