Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

je::code(3pm) [debian man page]

JE::Code(3pm)						User Contributed Perl Documentation					     JE::Code(3pm)

NAME
JE::Code - ECMAScript parser and code executor for JE SYNOPSIS
use JE; $j = new JE; $code = $j->compile('1+1'); # returns a JE::Code object $code->execute; METHODS
$code->execute($this, $scope, $code_type); The "execute" method of a parse tree executes it. All the arguments are optional. 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. The third arg indicates the type of code. 0 or undef indicates global code. 1 means eval code (code called by JavaScript's "eval" function, which has nothing to do with JE's "eval" method, which runs global code). Variables created with "var" and function declarations inside eval code can be deleted, whereas such variables in global or function code cannot. A value of 2 means function code, which requires an explicit "return" statement for a value to be returned. If an error occurs, "undef" will be returned and $@ will contain the error message. If no error occurs, $@ will be a null string. $code->set_global( $thing ) You can transfer a JE::Code object to another JavaScript environment by setting the global object this way. You can also set it to "undef", if, for instance, you want to serialise the compiled code without serialising the entire JS environment. If you do that, you'll need to set the global object again before you can use the code object. FUNCTIONS
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. EXPORTS
"add_line_number" can optionally be exported. SEE ALSO
JE perl v5.14.2 2012-03-18 JE::Code(3pm)

Check Out this Related Man Page

JE::Scope(3pm)						User Contributed Perl Documentation					    JE::Scope(3pm)

NAME
JE::Scope - JavaScript scope chain (what makes closures work) DESCRIPTION
JavaScript code runs within an execution context which has a scope chain associated with it. This class implements this scope chain. When a variable is accessed the objects in the scope chain are searched till the variable is found. A JE::Scope object can also be used as global (JE) object. Any methods it does not understand will be delegated to the object at the bottom of the stack (the far end of the chain), so that "$scope->null" means the same thing as "$scope->[0]->null". Objects of this class consist of a reference to an array, the elements of which are the objects in the chain (the first element being the global object). (Think of it as a stack.) METHODS
find_var($name, $value) find_var($name) This method searches through the scope chain, starting at the end of the array, until it finds the variable named by the first argument. If the second argument is present, it sets the variable. It then returns an lvalue (a JE::LValue object) that references the variable. new_var($name, $value) new_var($name) This method creates (and optionally sets the value of) a new variable in the variable object (the same thing that JavaScript's "var" keyword does) and returns an lvalue. The variable object is the first object in the scope chain (searching from the top of the stack) that is a call object, or "$scope->[0]" if no call object is found. CONSTRUCTOR
None. Just bless an array reference. You should not need to do this because it is done for you by the "JE" and "JE::Object::Function" classes. SEE ALSO
JE JE::LValue JE::Object::Function perl v5.14.2 2012-03-18 JE::Scope(3pm)
Man Page