nl_tokens: Function loop () takes the first task in the tasks list and processes it . The function executed in loop () may itself call loop () .
pl_tokens: function loop ( ) { if ( tasks . length == 0 ) { // No more tasks to process. idb_cx . <mask> . close ( ) return } var task = tasks . shift ( ) var func = task [ 0 ] , arg = task [ 1 ] if ( func == "execute" ) { try { eval ( arg ) } catch ( err ) { if ( $B . debug > 1 ) { console . log ( err ) for ( var attr in err ) { console . log ( attr + ' : ' , err [ attr ] ) } } // If the error was not caught by the Python runtime, build an // instance of a Python exception if ( err . $py_error === undefined ) { console . log ( 'Javascript error' , err ) //console.log(js) //for(var attr in $err){console.log(attr+': '+$err[attr])} err = _b_ . RuntimeError ( err + '' ) } // Print the error traceback on the standard error stream var name = err . __name__ , trace = _b_ . getattr ( err , 'info' ) if ( name == 'SyntaxError' || name == 'IndentationError' ) { var offset = err . args [ 3 ] trace += '\n    ' + ' ' . repeat ( offset ) + '^' + '\n' + name + ': ' + err . args [ 0 ] } else { trace += '\n' + name + ': ' + err . args } try { _b_ . getattr ( $B . stderr , 'write' ) ( trace ) } catch ( print_exc_err ) { console . log ( trace ) } // Throw the error to stop execution throw err } loop ( ) } else { func ( arg ) } }