2016-08-23 53 views
-2

我得到了一個項目來設計一個網站,其中有一個JavaScript解釋器,數據庫,C++編譯器。我搜查了相關的網站,並以codecademy 結束搜索。現在我正在考慮用自己的特性和功能來構建類似codecademy網站的內容。雖然我知道如何創建一個動態網站,但我不知道如何嵌入解釋器,編譯器和所有。請你們幫我建立這個項目,併成功運行如何將編譯器和解釋器嵌入到像codecademy這樣的網站?

+1

這是一個非常含糊而廣泛的問題,SO不是這些問題的地方。跟進一些教程。 iirc,codecademy是使用Ruby on Rails構建的。 – Roberrrt

+0

這樣的事情? - http://stackoverflow.com/questions/10248092/how-to-inject-js-console-in-to-any-page-jsconsole-com –

+1

由於你問這樣一個廣泛的問題,它聽起來像你最缺乏建立這樣一個網站所需的技能和知識。也許你應該從一個更簡單的項目開始,從那裏開始工作? – hankide

回答

1

在極簡單的層面來講,有兩種方法可以實現在網站上的實時翻譯/編譯:

  1. 查找(或寫)編譯器/解釋器是用Javascript編寫的語言

  2. 創建一個(本地)CGI應用程序,並在您的服務器上運行它,該服務器將通過(本機)解釋器/編譯器(也在您的服務器上)運行指定的代碼段,並返回運行結果。然後編寫一個調用該CGI的網頁來完成這項工作,通常使用AJAXy Javascript,比如xmlHttpRequest,或者至少一個Web表單。

這就是所有這些網站基本上歸結爲。有些人只是有一個可以記住呼叫之間狀態的解釋器或CGI,然後可以向您顯示中間步驟。這可能是因爲您的基於JavaScript的解釋器支持暫停,或者您的CGI可能會讓程序在lldb中運行,然後你的頁面向LLDB發送特定命令並返回信息。

注:如果你的問題是更多關於如何實際使用JavaScript編寫一個解釋,我這裏詳細的解釋部分的基礎知識:http://orangejuiceliberationfront.com/how-to-write-a-compiler/這是C程序員,但基本在任何編程語言保持爲真。您始終可以使用數組而不是內存塊,而使用數組索引而不是內存地址。