3

javascriptを書き出す高級言語を探しています。言い換えると、この言語とjavascriptの関係は、C++とアセンブリコードの関係に似ています。

この高級言語の要件は、型の安全性、簡単なリファクタリング、クラス、継承など(java / C#/ vb.netのようなもの)を持つことができることです。

利点は、JavaScriptに継承をもたらすために「ハック」に依存することなく、この高級言語でコーディングできることです。さらに、高級言語は型安全性の制限を課し、生成されたjavascriptは単に「仕事をする」ので、実行時の型/アヒルのチェックを行う必要はありません。

追加の利点は、アセンブリでのコーディングと比較して、C++でコーディングするときに得られる可能性のある利点のいずれかです。

私は実際にこの高級言語を自分で書こうとしていますが、それは大変な作業であり、誰かが実際にそのようなことをすでに行っているのではないかと思いました。

4

4 に答える 4

4

コーヒースクリプト.

CoffeeScripts の目的は、既存の高級言語を JavaScript にコンパイルすることではなく、「JavaScript よりも優れた JavaScript」として新しい言語を作成することです。

これは、C++ を「C より優れた C」として使用することに似ています。

もちろん、JavaScript に近いため、すべてのJavaScript 機能を完全にサポートしています。コンパイラも CoffeeScript (JavaScript) 自体で記述されています。

于 2011-05-13T14:43:18.103 に答える
3

C#コードをJavaScriptにコンパイルするScript#があります。ただし、制限があるかどうかはわかりません。逆コンパイルによって.NETアセンブリをJavaScriptに変換するjscもあります。

また、AFKは、ECMAScript第5版の新機能を利用するようにコンパイルします。

于 2011-05-13T10:56:21.160 に答える
2

より広い範囲の一部としてのJavaScriptへのGoogleWebToolkit (GWT) Javaコード。隣接するリンクの抜粋は次のとおりです。

GWT SDKは、コアJavaAPIとウィジェットのセットを提供します。これらを使用すると、JavaでAJAXアプリケーションを記述し、AndroidやiPhone用のモバイルブラウザーを含むすべてのブラウザーで実行される高度に最適化されたJavaScriptにソースをコンパイルできます。

もちろん、 GoogleClosureCompilerを使用してJavaScript自体からJavaScriptをコンパイルすることもできます。

Script#に関するこのScottMitchellのブログ記事もチェックしてください。

しかし、@ Andy Eが述べているように、ECMAScript5で機能すると主張するものは何もありません。

于 2011-05-13T10:56:27.663 に答える
1

emscriptenと組み合わせてLLVMを検討する必要があります。これにより、多くの言語 (C および C++ を含む) を LLVM ビットコードにコンパイルしてから JavaScript にコンパイルできます。これは彼らのプロジェクトページからのものです:

Emscripten は LLVM ビットコードを JavaScript にコンパイルします。これにより、C および C++ ソース コードを (最初に Clang を使用して LLVM ビットコードにコンパイルすることにより) JavaScript にコンパイルし、Web 上で実行できるようになります。Emscripten は、Python (標準 CPython 実装)、Bullet 物理エンジン、eSpeak 音声シンセサイザーなど、既存の大規模な C および C++ コードベースを移植するために使用されてきました。

この手法を使用した特に驚くべき移植の 1 つは、box2d.jsプロジェクトです。このプロジェクトは、優れたbox2dライブラリを使用して、この驚くべきデモに変換します。

于 2012-10-18T14:33:51.527 に答える