code: function () {
              var rnum = /^(?:((?:\d+(?:\.\d*)?|\d*\.\d+)[eE][\+\-]?\d+|\d*\.\d+|\d+\.\d*)|(\d+(?:x[0-9a-fA-F]+)?))/,
                  match = rnum.exec(source.substr(i));
              if (!match) {
                  return null;
              }
              if (match[2]) {
                  var isHex = match[2].toLowerCase().indexOf("x") > -1;
                  //If it's greater than 2147483648 it's considered as a floating point number
                  if (parseInt(isHex ? parseInt(match[2], 16) : match[2], 10) < 2147483648) {
                      return [match[2], tokens.T_LNUMBER];
                  }
                  return [match[2], tokens.T_DNUMBER];
              }
              return [match[1], tokens.T_DNUMBER];
          }
docs: Split given source into PHP tokens + original by: Marco Marchiò + improved by: Brett Zamir (http://brett-zamir.me) - depends on: token_name % note 1: Token numbers depend on the PHP version % note 2: token_name is only necessary for a non-standard php.js-specific use of this function; % note 2: if you define an object on this.php_js.phpParser (where "this" is the scope of the % note 2: token_get_all function (either a namespaced php.js object or the window object)), % note 2: this function will call that object's methods if they have the same names as the tokens, % note 2: passing them the string, line number, and token number (in that order) * example 1: token_get_all('/'+'* comment *'+'/'); * returns 1: [[310, '/* comment */', 1]] Token to number conversion