nl_tokens: ES6 draft 10 - 14 - 14 section 22 . 1 . 2 . 1
pl_tokens: function ArrayFrom ( arrayLike , mapfn , receiver ) { var items = TO_OBJECT ( arrayLike ) ; var mapping = ! IS_UNDEFINED ( mapfn ) ; if ( mapping ) { if ( ! IS_CALLABLE ( mapfn ) ) { throw MakeTypeError ( kCalledNonCallable , mapfn ) ; } } var iterable = GetMethod ( items , iteratorSymbol ) ; var k ; var result ; var mappedValue ; var nextValue ; if ( ! IS_UNDEFINED ( iterable ) ) { result = % IsConstructor ( this ) ? new this ( ) : [ ] ; k = 0 ; for ( nextValue of { [ iteratorSymbol ] ( ) { return GetIterator ( items , iterable ) } } ) { if ( mapping ) { mappedValue = % _Call ( mapfn , receiver , nextValue , k ) ; } else { mappedValue = nextValue ; } % CreateDataProperty ( result , k , mappedValue ) ; k ++ ; } <mask> . length = k ; return result ; } else { var len = TO_LENGTH ( items . length ) ; result = % IsConstructor ( this ) ? new this ( len ) : new GlobalArray ( len ) ; for ( k = 0 ; k < len ; ++ k ) { nextValue = items [ k ] ; if ( mapping ) { mappedValue = % _Call ( mapfn , receiver , nextValue , k ) ; } else { mappedValue = nextValue ; } % CreateDataProperty ( result , k , mappedValue ) ; } result . length = k ; return result ; } }