2012-01-13 2 views
0

PHPファンクションはC言語で書かれており、必要に応じてソースコードを見ることができます。たとえばここに - session_start sourceJSON.parseとは何ですか?/オープンソースですか?

JavaScriptについてはどうですか? JSON.parseのような関数はどのように実装されていますか?どこでソースを見ることができますか?

ありがとうございます!

+0

あなたはここのどこかにいるかもしれません:http://hg.mozilla.org/ – mario

+0

それは私だけですか、あるいはそのユーザー名はダウンボートのために*頼んでいますか? ;-) –

答えて

7

JSON.parseはネイティブです。これは、ブラウザで定義されていることを意味し、メソッドの実装はブラウザの実装固有です。

V8(クロム)JsonParser::ParseJson

SpiderMonkeyの(Firefoxの)のためのC++方法はjs_json_parse

JavaScriptCoreにおける(Webkitの/サファリ)のためのC++関数はJSONProtoFuncParse

ライノ(のためのC++の機能を有してい有しますMozilla)はJavaメソッドを持っています。parseValue

OperaとIEの実装はクローズソースです。私はまた、ニトロの実装も閉鎖ソースだと思う。

他にも多くのJavaScriptエンジンがあります。

+0

SafariはJavaScriptCoreを使用しています。 – Raynos

+0

ニトロはJavaScriptCoreです。 – gsnedders

+0

@gsneddersニトロはリンゴが維持しているJavaScriptCoreのクローズドソースフォークだと思いましたか? – Raynos

0

ブラウザによって異なります。お気に入りのソースを表示し、そこにあるかどうかを確認します。

3

それをサポートする各JavaScriptエンジンは、JSON.parseという独自の実装を持ちます。さまざまなオープンソースエンジン(V8SpiderMonkey)のコードをそれぞれのリポジトリで表示できます。 Crockford's github page(クロックフォードはJSONを思いついた人)  —実際には1つ以上のJavaScript実装を表示することもできます。状態マシンであるバージョンと、再帰的な降下パーサーであるバージョンと、eval(それは一種の不正行為です)に依存するバージョンです。 JSON home pageからリンクされたさまざまな言語でのさまざまな実装もあります。

関連する問題