2016-08-23 51 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程序员,但基本在任何编程语言保持为真。您始终可以使用数组而不是内存块,而使用数组索引而不是内存地址。