http://www.ecma-international.org/ecma-262/6.0/ECMA-262.pdf