Pot.js と PotLite.js で利用可能。
引数 code を JavaScript コードとみなし、トークン単位に分解して返します。
引数 code を JavaScript コードとしてトークン単位に分解して配列で返します。
分解した際に ホワイトスペースとコメントは除去されます。改行は残ります。
E4X など一部の表現については完全に分解できないかもしれません。
Pot.globalize() が適応されている場合、Pot.tokenize() が tokenize() で実行できます。
トークン単位に分解された配列が返ります。
var hoge = function() { var a = 1, b = 0.5, c = '"hoge"', $d = /'\/'/g; return $d.test(c) ? a : b; }; debug( Pot.tokenize(hoge) ); // ----- results e.g., ----- // [ // 'function', '(', ')', '{', '\n', // 'var', 'a', '=', '1', ',', 'b', '=', '0.5', ',', // 'c', '=', '\'"hoge"\'', ',', // '$d', '=', '/\'\\/\'/g', ';', '\n', // 'return', '$d', '.', 'test', '(', 'c', ')', '?', // 'a', ':', 'b', ';', '\n', // '}' // ]