2012-12-14 18 views
1

是否可以通過限制Google V8中的JavaScript支持來創建更簡單的語言?我想在我自己的工具中嵌入V8引擎來運行動態腳本,並且像V8預測速度源的想法一樣。不過,我需要徹底限制語言中的可能性。通過限制Google V8中的JavaScript支持來創建更簡單的,特定於域的語言?

這意味着沒有數據容器(例如數組)的動態分配,沒有導入的庫,沒有遞歸,沒有線程。它與Renderman Shading Language相比,在哲學上更像一種通用語言。 '新'語言因此簡單得多,而且由於熟悉的語法,我只考慮JS,事實上已經有了一個好的'編譯器'(V8)。我可能也希望它能夠在Chrome的本機代碼(NaCl)環境中運行腳本代碼,Google似乎正在努力支持V8。

重新定義JS語法或其他任何代碼定義語言有多容易?

我的另一種選擇是從頭創建一個新的編譯語言(也許使用LLVM的東西)。

回答

0

對於您想要的所有功能限制,您需要在V8上進行重大手術,因爲V8從來沒有設計過這樣徹底的修改。

另一種解決方案是發明一個JavaScript樣的語言(包括所有可以並處限制)和編譯成普通的JavaScript,然後你可以用V8(或任何其他JavaScript引擎運行,爲物)。這種方法的着名例子是GWT(來自Java),Dart和TypeScript。

0

採取在松鼠語言細看: http://squirrel-lang.org 從描述概覽: 「編譯器和虛擬機都裝配在一起約7K的C++代碼行,並添加僅約100KB-150KB可執行文件的大小」。

享受!

相關問題