1

Google の V8 で Javascript のサポートを制限して、より単純な言語を作成することはできますか? V8 エンジンを独自のツールに組み込んで動的スクリプトを実行したいと考えています。また、V8 でソースを事前にコンパイルして速度を上げるというアイデアも気に入っています。ただし、言語内で可能なことを大幅に制限する必要があります。

つまり、データ コンテナー (配列など) の動的割り当て、インポートされたライブラリ、再帰、スレッドはありません。汎用言語というよりも、Renderman Shading Language に哲学が似ています。したがって、「新しい」言語ははるかに単純であり、使い慣れた構文と、優れた「コンパイラ」(V8) が既に存在するという事実のために、JS のみを検討しています。また、Chrome のネイティブ コード (NaCl) 環境内からスクリプト コードを実行したい場合もあります。これは、Google が V8 でサポートするために取り組んでいるようです。

JS の「文法」や言語を定義するその他のコードを再定義するのはどれくらい簡単ですか?

私の他のオプションは、新しいコンパイル済み言語をゼロから作成することです (おそらく LLVM を使用します)。

4

2 に答える 2

0

V8 はこのような根本的な変更を行うように設計されていないため、必要なすべての機能制限については、V8 で大規模な手術を行う必要があります。

別の解決策は、JavaScript に似た言語 (課すことができるすべての制限付き)を発明し、それを通常の JavaScript にコンパイルして、V8 (またはその他の JavaScript エンジン) で実行できるようにすることです。このようなアプローチのよく知られた例は、GWT (Java から)、Dart、および TypeScript です。

于 2012-12-31T09:28:29.680 に答える
0

squirrel 言語を詳しく見てみましょう: http://squirrel-lang.org の説明の概要から: 「コンパイラと仮想マシンの両方が約 7k 行の C++ コードに収まり、実行可能サイズは約 100kb-150kb しか追加されません。」

楽しみ!

于 2013-12-26T14:20:47.167 に答える